I worked on the "Backbuffer" stuff yesterday.
Things didn't go to plan.
-=-=-
The touch/mouse controls all but broke, needing a complete rewrite.
The glitch/noise/scanlines stuff went completely awry, building up over and over itself, instead of clearing out.
I even managed to get the engine into a scenario where it would completely lock up for reasons I'm not fully sure of.
...
No.
Nope, nope, nope.
I'll probably try to get that working some other time, but last night saw me holding down Ctrl+Z for a really really long time.
*sigh*
Oh yeah, and it slowed everything down, too.
Grrr.
Never mind. Let's have an update to my Falling Petals test.
// Falling Petals
// by Jayenkai
// Created 2021/6/9
Symbol 0,"0__220.2,4400442046.40,60060.60060,46.4024400442,0.22";
Symbol 1,"01_220.2,4400442046.40,60060.60060,46.4024400442,0.22";
Symbol 2,"02_220.2,4400442046.40,60060.60060,46.4024400442,0.22";
Symbol 3,"03_220.2,4400442046.40,60060.60060,46.4024400442,0.22";
Symbol 4,"04_220.2,4400442046.40,60060.60060,46.4024400442,0.22";
Symbol 5,"05_220.2,4400442046.40,60060.60060,46.4024400442,0.22";
Symbol 6,"06_220.2,4400442046.40,60060.60060,46.4024400442,0.22";
Graphics 512,512,2
petals=25
flrs=5
skips=3
pt=0
Dim petl(250,10)
Dim flr(250,20)
y=ScreenHeight()/(flrs+2)
for n=0 to flrs
flr(n,1)=jRand(64,ScreenWidth()-64)
flr(n,6)=Rnd(0.5,1.5)
flr(n,7)=Rnd(0,360)
flr(n,8)=Rnd(10,30)
flr(n,9)=Rnd(64,196)
flr(n,2)=(y*(n+1))-flr(n,9)
next
for d=0 to petals
petl(d,1)=jRand(16,ScreenWidth()-16)
petl(d,2)=0-jRand(16,ScreenHeight())
petl(d,3)=0
petl(d,4)=0
petl(d,5)=h
next
Repeat
CLS 30,30,80
pt=((pt+1) mod skips)
SetFontSize 32
SetSize 1
for n=0 to flrs
flr(n,7)=(flr(n,7)+flr(n,6)) mod 360
ang=Sin(flr(n,7))*25
flr(n,11)=flr(n,1)+Sin(ang-flr(n,8))*flr(n,9);
flr(n,12)=flr(n,2)+Cos(ang-flr(n,8))*flr(n,9);
flr(n,13)=flr(n,1)+Sin(ang+flr(n,8))*flr(n,9);
flr(n,14)=flr(n,2)+Cos(ang+flr(n,8))*flr(n,9);
flr(n,15)=flr(n,1)+Sin(ang)*flr(n,9)*0.4;
flr(n,16)=flr(n,2)+Cos(ang)*flr(n,9)*0.4;
flr(n,5)=Neg(0.1)
if flr(n,11)<flr(n,13) and flr(n,12)<flr(n,14) then flr(n,5)=0.1
if flr(n,11)>flr(n,13) and flr(n,12)>flr(n,14) then flr(n,5)=0.1
SetThick 3:SetCol 255,128,0,1
Line(flr(n,11),flr(n,12),flr(n,13),flr(n,14))
SetThick 1:SetCol 150,150,150,0.3
Line(flr(n,15),flr(n,16),flr(n,11),flr(n,12))
Line(flr(n,15),flr(n,16),flr(n,13),flr(n,14))
Line(flr(n,1),flr(n,2),flr(n,15),flr(n,16))
next
for d=0 to petals
ResetDraw()
if pt==(d mod skips)
x1=petl(d,1)
y1=petl(d,2)
x2=petl(d,1)
y2=petl(d,2)+petl(d,4)+7
for n=0 to flrs
if CollideLineToLine(flr(n,11),flr(n,12),flr(n,13),flr(n,14),x1,y1,x2,y2)
petl(d,2)=LineCollidePointY-8
ang=flr(n,5)
petl(d,3)=petl(d,3)+ang
petl(d,4)=0.5
endif
next
petl(d,2)=petl(d,2)+4+petl(d,4)
petl(d,4)=petl(d,4)
petl(d,4)=petl(d,4)+0.5
if petl(d,4)>6 then petl(d,4)=6
if petl(d,2)>ScreenHeight()+32
petl(d,2)=-32
petl(d,1)=jRand(16,ScreenWidth()-16);
petl(d,3)=0
petl(d,4)=0
endif
s=petl(d,3)
petl(d,1)=petl(d,1)+s*4
petl(d,3)=s*0.94
petl(d,5)=petl(d,5)+s*8
endif
If MouseHit() then KillParticles:Debuglog "Mouse Clicked at "+Mills()
x=petl(d,1);y=petl(d,2)
SetSize 0.25;SetRot petl(d,5)
DrawImg x,y,0
next
Flip
Forever