Screen Savers
#5
Here's another Screen Saver using RotoZoom.  Click on the mouse buttons to zoom gears in and out.  I used BASIMAGE to include the pic.  Making this I realized that .PNG images can be 16 color and still maintain transparency info, so on simple small images like this one I can lower them to 16 colors instead of 256 and reduce the pic size.  That's helpful when including images in code.

- Dav


Code: (Select All)
'================
'ROTOZOOMGEAR.BAS
'================
'Showcase speed of RotoZoom3 Function(not by me) by
'rotating a number of gears on the screen in various sizes.
'Coded by Dav

'Push Mouse Buttons for Zoom effects

SCREEN _NEWIMAGE(700, 700, 32)

gear& = BASIMAGE1& 'decode image included this BAS code

NumOfGears = 11 'number of gears shown on screen

DIM Gearx(NumOfGears), Geary(NumOfGears), GearSize(NumOfGears)
DIM GearRot(NumOfGears), GearSpeed(NumOfGears), GearDir(NumOfGears)

'assign random values for each gear
FOR G = 1 TO NumOfGears
    Gearx(G) = _WIDTH / 2
    Geary(G) = _HEIGHT / 2
    GearSize(G) = .1 + G / 2
    GearRot(G) = 1
    GearSpeed(G) = RND * 2.5
    GearDir(G) = INT(RND * 2)
NEXT

DO
    CLS , _RGB(0, 0, 64)
    FOR G = NumOfGears TO 1 STEP -1
        RotoZoom3 Gearx(G), Geary(G), gear&, GearSize(G), GearSize(G), _D2R(GearRot(G))
        IF GearDir(G) = 1 THEN
            GearRot(G) = GearRot(G) + GearSpeed(G): IF GearRot(G) > 360 THEN GearRot(G) = 1
        ELSE
            GearRot(G) = GearRot(G) - GearSpeed(G): IF GearRot(G) < 1 THEN GearRot(G) = 360
        END IF
        mi = _MOUSEINPUT
        IF _MOUSEBUTTON(1) THEN GearSize(G) = GearSize(G) + .1
        IF _MOUSEBUTTON(2) THEN GearSize(G) = GearSize(G) - .1
        IF GearSize(G) > 19 THEN GearSize(G) = .1
        IF GearSize(G) < .1 THEN GearSize(G) = 19
    NEXT
    _DISPLAY
    _LIMIT 30
LOOP UNTIL INKEY$ <> ""

_FREEIMAGE gear&

END

' Description:
' Started from a mod of Galleon's in Wiki that both scales and rotates an image.
' This version scales the x-axis and y-axis independently allowing rotations of image just by changing X or Y Scales
' making this tightly coded routine a very powerful and versatile image tool.
SUB RotoZoom3 (X AS LONG, Y AS LONG, Image AS LONG, xScale AS SINGLE, yScale AS SINGLE, radianRotation AS SINGLE)
    ' This assumes you have set your drawing location with _DEST or default to screen.
    ' X, Y - is where you want to put the middle of the image
    ' Image - is the handle assigned with _LOADIMAGE
    ' xScale, yScale - are shrinkage < 1 or magnification > 1 on the given axis, 1 just uses image size.
    ' These are multipliers so .5 will create image .5 size on given axis and 2 for twice image size.
    ' radianRotation is the Angle in Radian units to rotate the image
    ' note: Radian units for rotation because it matches angle units of other Basic Trig functions
    '       and saves a little time converting from degree.
    '       Use the _D2R() function if you prefer to work in degree units for angles.

    DIM px(3) AS SINGLE: DIM py(3) AS SINGLE ' simple arrays for x, y to hold the 4 corners of image
    DIM W&, H&, sinr!, cosr!, i&, x2&, y2& '   variables for image manipulation
    W& = _WIDTH(Image&): H& = _HEIGHT(Image&)
    px(0) = -W& / 2: py(0) = -H& / 2 'left top corner
    px(1) = -W& / 2: py(1) = H& / 2 ' left bottom corner
    px(2) = W& / 2: py(2) = H& / 2 '  right bottom
    px(3) = W& / 2: py(3) = -H& / 2 ' right top
    sinr! = SIN(-radianRotation): cosr! = COS(-radianRotation) ' rotation helpers
    FOR i& = 0 TO 3 ' calc new point locations with rotation and zoom
        x2& = xScale * (px(i&) * cosr! + sinr! * py(i&)) + X: y2& = yScale * (py(i&) * cosr! - px(i&) * sinr!) + Y
        px(i&) = x2&: py(i&) = y2&
    NEXT
    _MAPTRIANGLE _SEAMLESS(0, 0)-(0, H& - 1)-(W& - 1, H& - 1), Image TO(px(0), py(0))-(px(1), py(1))-(px(2), py(2))
    _MAPTRIANGLE _SEAMLESS(0, 0)-(W& - 1, 0)-(W& - 1, H& - 1), Image TO(px(0), py(0))-(px(3), py(3))-(px(2), py(2))
END SUB


FUNCTION BASIMAGE1& 'gear.png
    v& = _NEWIMAGE(200, 200, 32)
    DIM m AS _MEM: m = _MEMIMAGE(v&)
    A$ = ""
    A$ = A$ + "haIkMn[Sd4[D5OR#8Q#2T09R9m:R9kRP0N08R744iTM3F9T#2N38UDNl^Lmb"
    A$ = A$ + "LfmgLjCifc^c<fmne1e^CgCgmhZLMLm7GfmUOoU;G>YCjT>YCjT>YCjT>YCj"
    A$ = A$ + "T>YCjT>YCjT>YCjT>YCJOjjWnCo;nSf#OLEc^=NBWd<8LDGlAS^SWe`gc9MB"
    A$ = A$ + "_BR7M?GoKGnmoKo;o=_Cok_mKOWn7o]oionoToQk`6Bh\4SmaWW]<jTneP\c"
    A$ = A$ + "\Iln6]ccXM?=<#3;8lASJ7oQ=Tg6hIMmC]WEknKooM\eKooWkdO]CjUAfIT>"
    A$ = A$ + "^d5o#gDGc0?WV>moi_kgl>]1O`kJ_WeOX=d\m#\FSnOo_nWNoknhI>KIh9mc"
    A$ = A$ + "U^n9Q;nGokn[OWT^HC7okR?JdOoOiOekd=ge>?[fmkhSoWOgOk7d9nhTNjde"
    A$ = A$ + "?9<1eYYNn=gEWWC33T6c_Mnf_aX?W69L#knKgKc>TlMKHlAeg<Kin9M<X[OZ"
    A$ = A$ + "ISXYcih3AgLGMN>=mh4nXMn66YYO?bcYA^=87_emiHlVRKIcE=Kio9mjY;G6"
    A$ = A$ + "?ne[OZYo8ma6YaZ5McHoMN>dg<5kQl]JS=T>?7a3Eh\k5O8k>_WOPg2iOHfm"
    A$ = A$ + "IWdcW`AgEooU?e5KHSVM47O\[=T[OBH9VGGAb^bN?3eN4A<ZXMi][OBaDen]"
    A$ = A$ + "KaeoQm`[iOH8ic9M\9k<gM>#_n9=O5N<ek6k0>ObnA963Dbg7Uc0>nOki?4f"
    A$ = A$ + "GOjjLa8nXmLH<=OPAVMOh9mh9L4eUJSCZa:72SLmC9<AY?F5TS?8e`NoaGnc"
    A$ = A$ + "RgW[cCk7\=eXMa7h8mk:NPg[VKU^bVCjhBGoT`5BgTjXKR;]ccAnfG=nOBgl"
    A$ = A$ + "6OD^LI3N#cG1c;;7oV]efeC\Iko=lDSdigPiCl4>RfA9?LCN2ZT;WdaV^n9O"
    A$ = A$ + "n:lS75O8mB63\l9QaIc[AS9[?WbMUdm9n`WSmZLDALQXHNX4_5>?a7^=T^bU"
    A$ = A$ + "CjHCGoTZ335K=coTdS;a8h9:m`fmCMCUSE=^_WKZTO#LnldllihS:\T8Ik#f"
    A$ = A$ + "?8^L49Tl7D]?j_hmVoR=d\kk?Ym9mY[aPfdkT_<<VhgeWNKoWHJ\jNT^_Nh3"
    A$ = A$ + "J7SnFEIo#imbSUgSmQnmafQnL2W9La6la8bh4=knoCJOjbUKRm`WS06CAj9X"
    A$ = A$ + "HGjYKcH9H<3:FK>n\7?A5nXjgP]Ie65fSjfjcNk^gcg]m][NnXm2cF7hTjR?"
    A$ = A$ + "JTS?daD7Ug9aD=MZm`7liFE;:jkdL<ja19KK\^5U?P\M#O2E^MC[W47S`i:I"
    A$ = A$ + "H\AUn]M6eFZbofde3nEQ^GI?>ZW>1SQXAd?VA97O`W[n_W;F6kS_FYl[Cg?a"
    A$ = A$ + "7dV1cE6mERH]A`7kFWT5H3?75Z>W?a8_F\aG]^bgC_#HR6ieFkNjFb_5nKij"
    A$ = A$ + "gD_mNa7<66f>HldnLNZSofh3:O]ccLdEe6>a7_6L1a6]nAO<cbnP2<2a3^^N"
    A$ = A$ + "E^XXoEJnlTn4e[LmaDmJEUOhNg7eeIkbSkPaT#k>>_kfk:a71b[]5I39^N_>"
    A$ = A$ + "a7_D\QdO7:GmM`7YjOEa:CmUhjch?#L^iBj`Ejm>nPi:V[[3>gfnecliBOkB"
    A$ = A$ + "oV>^Fl^7;Vl]Dn;FEK_4;#lQ`UaNcI[;mCT^n9Uo7ON2JDI=75NR4Ohe7>[?"
    A$ = A$ + "?ZWbik#?WZaimiRVh067RN^9KE<FMVCjNn3A<Wn\SAE^1Ba<ifUHKnVj`jbW"
    A$ = A$ + "c3DjJX_SWHSG3n#H3=fVS?46YjYXh4_gh]ML07SN?lQdgBan;lAbFU^^6VPg"
    A$ = A$ + "GkHZo:NVeIRWcZT?M4_bOGg?;Gg?EgHNlhdneImaoj`7=Zeokj?nH_9L1cC;"
    A$ = A$ + "Sa]gHaNldL<hDL82gn?oOlK^aVPbEKRBnfec6AkgEGOJ]ZCl1aW9olZ8R36I"
    A$ = A$ + "^#5Fea6Kj5W]>d?I27UjcmLahh3j;07O]2K`H>CjGnmjnVX[c]_icYA:^7?n"
    A$ = A$ + "2GGDjPUeGeU?cAP?78YW?SEQn5e3?#iX\3jfF^;\a9FjQQ?LMk4n`m1>Ykig"
    A$ = A$ + "37cccmZlE`c?TomN^=ecAn3j]iA`7:fLaGS8aBe1_?7:>nPhJE[9Z=k]9b_D"
    A$ = A$ + "nBK?3[_Gm=cFWkXAFomNa=#O4Lo5BkI8^>>a#DG#O^kjefXZaT[`7T78N^[N"
    A$ = A$ + "d0H6b3]cal\ANf[GnNiPNGla0mWL_kj4Slma7=ZGnLX^MZFdmH<Z`7Ya:g<W"
    A$ = A$ + "T9meP^YS;79fWdL]=\^c0BE>GSEn8jnTVRQ9]73e]]6`6O\7`LRANXHT6YLi"
    A$ = A$ + "WV_2>><S]PhTDO>]mde>aMdNCh1On7LOlSHa7P\kbUKS?AcUQ?FRReYGMKYL"
    A$ = A$ + "UXl]]I_>R]I3K8o<9=dlmn[2M_mmhXZl3U\?dKL#?G<2CAMW_\>j>HT4nPeI"
    A$ = A$ + "nC97Y1LBko^OCdgDGVBOHYMJeWDFSR0Khadcm5VcL3_]OJ8iaPhSTO;DOX:^"
    A$ = A$ + "m^f;N0lY[SEiK8eAOJj9QcjiN`UC4gf;Gd]_[g_N:>6>_>]?o;mNW2j?TLHX"
    A$ = A$ + "a<`Aki;OJL?mkTf3BnBn#MWjQ^]<7SClaVaQObm5>U\1ki`[7n#kOSYW[`4N"
    A$ = A$ + "=Z#oe^9F_I[_n:9k<d6MGOI^N\`DdWXml7PS5Bo^Kh4^WW7oMO0TZC_f_7Sg"
    A$ = A$ + "_7n#]eWAkIDLRkSIeL=fJ[L][hceCkcJ<9gWFQidieJLiGbjn57YmI7^n[OG"
    A$ = A$ + "O]cCPeW8U_NnDji7S7GjVOWW4O[ld#lQV3MUO16?bVeAn4jS4AK_>6I_l]g^"
    A$ = A$ + ">V_aD\ojIX[iGfHd=INUl\j98M\Nh3?Gmne:OFNYm1GnLokUlZ`7ZVDHmV[J"
    A$ = A$ + "aLJnH4>;7WO_lJil9GgIL\:nlKm=3]O;mCT\c`eNAZ6BCn^BiLE<6Yh:o8nS"
    A$ = A$ + "GP_DkQ?f[NjmePhDm1_hKlh[Eo5]]klG5fA?c7J>A>Rde?YLkaaCZ`7nnUFU"
    A$ = A$ + "lfc99]OgMn4NAl>SoXBoY:O#O\GA_0mM9Rfk[lYeg?<Bcen_lid57iH4ZcWZ"
    A$ = A$ + "a_DM^f>G[NICeGTKoOfnc:lQkcA2WXhAlLM]BmORT\G7WZ[BR1JDJ=jodV[W"
    A$ = A$ + "S6QS869=NSF;?^?[JO6GcCK?lA\E<Anfi5WWin2abQ?2mQ=ReE?mgbc9R^NW"
    A$ = A$ + "_ScEb\ia5BnVb;KehZL]E8I>Sa`egF6ine?iiZCid=5?[\I^4nG]CO8k;MlA"
    A$ = A$ + ":G`\6VOoMUhXmAEOc\U7?9i[damaPBaH`mAQNaS[HJW]?E9nEf4iJ7\:g?KF"
    A$ = A$ + "[7c^?[PWHOIUm3_>A5oGFKbMnMNWnEhMCB#nfnOENOM\Q_^^eg_LH3`[L_QK"
    A$ = A$ + "_lj\9?NcV7fY?dG3<JnGInGBS[e]>J2j8J^Bf\>aV]\h9:OIlIEj;LnUYnc="
    A$ = A$ + "S3MmM3fb9c^n9FS[YJMEnI^<igm>i?F[#LN3M\1_6=nf6<285[Z?fhV[MfbQ"
    A$ = A$ + "WX\]A=o\Zfg2Mm8g_ZU5K0N<5;5_Ba?;al3n=j7KDCggGKJ4OXiQRi[d]kce"
    A$ = A$ + "bUW3OAglk>KI`G#>M?G?g36ZboQdS8nHYa6P75o`j]`eWlJNo3nJfl`GY_ob"
    A$ = A$ + "]c9BZ67LRi\cGSH^=3VS_U]_O7ic=DaeWF?0b>BJMda[Iia6P?9?VFW_ai>H"
    A$ = A$ + "ei]Md1lH6Be04a7NMIU`9D?h#R?NkB>>i2RkGXN>MY\9IOi#XoLmCYm#Z4Ni"
    A$ = A$ + "VmDng#lIcV?^GmP;Kg3P5N`7?PHTNh3BahkW=__W<1_;JhN0JileMicjZRiR"
    A$ = A$ + "BcA6U7nJlk`TS_[ORkG8Zn0hJ3Vmg2;Yiji#Q?0?cjbb]E#\RO^4N#GcQLOJ"
    A$ = A$ + "lZ\XQ?djAFma:gCl>4?CmPZmj]4nHibQk0j:9l1]Qhj;<n[S:nXANnW4oik["
    A$ = A$ + "L<WTnkF8gfB<fSEE?#O2HS4n#mmEcMAEnZHMmXHBFNIB#nTd7Zla8E;ICW?n"
    A$ = A$ + "Zj5FoXS?BihBHTDM2_De>dPb1I7Uc1VZE:?Wn<oVngUbG57;m#^7`4h5VWbD"
    A$ = A$ + "LZd_m35_fQg[Zom4n8I_YgJ3JjliNbPgnLlAGoWTZ19j?5a7:WfbVJbnjQ#V"
    A$ = A$ + "DXSDY?8O5:GO]79n]PoMo\B_c6Ck=0gDWVnCOflfXloel\:<`NiYQe]^KW=U"
    A$ = A$ + "OR=aL<KNn;XOdXmZa2I7FfD>Lj2k83HoJ:gf:_<dGlhH579i1hmfoml`j_WF"
    A$ = A$ + "Y?FYe;[S?D^Z>jh3nN`=E30o8VOh1dAXMBBN]m;IALO9HflcGTo5ec^1gW;X"
    A$ = A$ + "^0cUW_oSMXU=GU?boRD=OCNUfCO9ka?C#7ac51S==]6Z>lmo6o;:]?iaSY^R"
    A$ = A$ + "^7_ffn99KBeF7SG[JmWNXimPLPkmEZOVj3nh[KF7XgSNh\ii>]=icUf[L[bi"
    A$ = A$ + "_Wk_hh6[6_n5T;\V0DnHhk::omWc?2N_Sn1c5QT9:6D7ODV_RAnUW=O_SL#j"
    A$ = A$ + "6>?_W_6;=?n5T5<nC>fAJoB]kndi\iY7Tl#aIVV_LY34[ST>d;KO=k1:7XMR"
    A$ = A$ + "Aa7;?o=0Ok4OOd:O<hNP^bWQ\e>d_h\ig_Q<bcSO_J]ZJo3DeK2mUo`\?<Ni"
    A$ = A$ + "cJgfSib[g6Q?X=fUVg:jckAYLJjhST=fVLK_m5mYcoO1I5kSk=?aaha^D_Nj"
    A$ = A$ + "dnLmB[31IPVg#6gAkkli:FigIYi[2nd9>7HEcELkhmNo=[inQSOd]5=KiaG#"
    A$ = A$ + "oXmo4O[gWEE[AGZW`iE#fP_AFm2i[QdO1oWR;WaSai;j#Q?:nVZle]glVFmM"
    A$ = A$ + "NMFdX^fCV]Li>TML];`caa3XNRGORLNgT^3UO_DM9dn7m^dhXLO]a[W2E?[g"
    A$ = A$ + "ENlFPnFW61;Tle\2OD]>kXMX^]dI;W^3i87[_YKhkIPYLKAMa4nHckIQG1oL"
    A$ = A$ + "]FBdkEA=gfE[7:^?<cLlbHcJGG\oNfmOkdWf8Om8DU3o4nXJ=CUf?9YNR?oj"
    A$ = A$ + "M7_Jfb[1UUT7Tld7GPnIX[YMmbg;Gf[HjN9b2X?D]_7jg5gkniNoTGkZZFVG"
    A$ = A$ + "NoZ2WUiHQOViZcSk`[_KWlhFH=a[JdBS7YlPM8[mk06aUKDfin=9lQGK>BGK"
    A$ = A$ + "S?X_Hl1egCn4Xi5DS9bj:QggQ`fQM66[TjGC_oeCaFFQMTLZJ?ZGeQSnMdo5"
    A$ = A$ + "^PckhQ1WPSlgEX9\R7o:]Y:OZdl`nBiofOOkfgmO<V2j3]6_Si]don^hSIgW"
    A$ = A$ + "=0fPf1Bn1ieJXF?]YimacYEej6RcKBZ>odhCEi3MeU]N^IZlmd73`m=kUcgG"
    A$ = A$ + "oT\MXJRPh3gO0joWonABfNhnRhbjKEh\4CD57MZFM9nQW?E?_9OblW?Wk8RE"
    A$ = A$ + "icKia7#6kn8BoBXnBCGJgi3jEb_g1nPH37OThEYO]TmQ1LA:7DNmSi7C<#UO"
    A$ = A$ + "CYHAdh6nnYV7W^`8jjDlLYH2G>IL#>;Bl0U7jkT<H9h?L4e?Bco5Sm`[]XdH"
    A$ = A$ + "]_dHXnVH3U3aD=aD=>O_JXYbo1:GE\hncTWSONhHAF9IM16i;Q?VLKGSE]7n"
    A$ = A$ + "#h2i3BelL]4lg>mEZ_Ah3go9U?UdjoQce5cAAE=U`lNhH\FKQaVkHVd_OG>M"
    A$ = A$ + "fbiM`7nL[CkaKNg8<KnYX]ke56a64O`JGemoH9h_1`7^^HjHON?96b[?g:lA"
    A$ = A$ + ":GP4Ohi]ba7N=dCnHYdY:TiZmghC=gjN<JKVKSEPG:n6gGLOo9am1QcC`BaO"
    A$ = A$ + "5H36_QWGgkUnH?Am:ekkCcmjV[?`5EhShm=KiM#fkj8N^:hH8[>_hDC7:ik#"
    A$ = A$ + "ZoIifWg`A:G42C`en7maoEP?hnJDlIJLR?g8>]TS;IboZlOkidKIa76o8Bkk"
    A$ = A$ + "EglN2cjgX?d;Eo4>Bn;ja<EZg?kfnERfL4^>U_P=gi2dfiAEH2U_>Y?E>O7k"
    A$ = A$ + "ACD_J?l1?n3nKQjK4Od;_DKVCZIgn_BDnfK^IVZnb0m1ZM:N#a_jkU7>_hf="
    A$ = A$ + ";[?`G<_aLZXlj:lQbQ;Kk;gL2Jm=Ea9Wb9dkbnIgn_BD?8Q=DnPGbHeaALN?"
    A$ = A$ + "mJ=Y:F4F3_jiDV_d9aGL>?DK:UocS0n`e[D\jnM_Jh3F7HLN4InAHLQ[HOPK"
    A$ = A$ + "SXGNnlg?Um`7CaO5LD5nPf5EkNEm]:=gN9oZnPNK1hQ[TKSfca\C;cj]a>Sh"
    A$ = A$ + "SfWkE[c2OXH5C[c`:oROD]kmbW89Q?8?iSOe^^Ubn1>bmYBl?7KbUc[VmSDn"
    A$ = A$ + "ZjYG=mn0L4mmVn3i[Ak4e;?G?5l1Jc>nX2[XhbI]hkca\d3_iNWYNee?YnUT"
    A$ = A$ + "mRDmEeh[?RmKV]O#>nP]E_fPdlh?]nQR_QcoQ>7W3JR9Bc_F:_ML>\NHljU?"
    A$ = A$ + "c1_deIkCe[]\9`lFi[7:7W_I_4L1`7DgWnXW6;JEa7l8^GGWbkSdgflD6#7n"
    A$ = A$ + "ICN^dY_j9l1S1Qn0XaUikRm7V>gEI<OgMkeL5_3mNaaGKeYec#\fBW\nTb]S"
    A$ = A$ + "jCHNAJOObGUE6O#o2Un6[5HRoOh]Tg^MnOINFml]bJWAnDieGV7C5[ES:O\h"
    A$ = A$ + "maHPOdh3F7E>^M?lAZ];kMahMWT^T`7<nR=e_`U?O?U[nUgkWo_Oa]k1i9VO"
    A$ = A$ + "1jcBSla\ZZ55oLlkLMFigF:^CO=VBm8=F9a2N=m[mj77Od;6T=f;Nd_OU^\M"
    A$ = A$ + "_4>5oZ8OMN\7E=O2gS>mSRf8;_LICNYei^I?0Ee3b\a55h37S8R_oEX>WoN3"
    A$ = A$ + "Vk?QdG7JWMTa4MoC9n8Z3PnT:lAjgRgOggQb?:ImKGjR?hi8nPnQi[W8okF0"
    A$ = A$ + "]Z=n;jaib[k8R?lHc[Nofe^_Dmc`L?jjN^oJNl023A\ZWo0n\dWY=06WMJLf"
    A$ = A$ + "QT>?3ImKS]_>9lAJ=QD]nAeef[E\9?Z_mikB3fgj_3LmnD]?laaaHM:aLL`j"
    A$ = A$ + "BPj7N]loNKOa`7LlNO=l:M\ZgoMDVki][:onljBS5Zn2?>2gGfDoMRZdmN9h"
    A$ = A$ + "Q0nXgkEAGGO_ecPC:OGD?dWcjmVK8Z_CkAncRmKnLRkGCJlCO\h?jGFDl1U7"
    A$ = A$ + "Ye3<m]amce]KZldUR7QSOh_3CD>?mHOL\Fb?X:\HU^g;5GHh39SZFcPnHZEh"
    A$ = A$ + "4jCKjlLLJON#CncjmakQ?HLM9<Yb_PW71nK\jh3Ecl>OO?hSkUT^<cU\?oGN"
    A$ = A$ + "l<lnMOf[J?Eh3YG<3lA5e[V5ZRmPh0ojBgK2O#OHiihJ3?Q?dgU\Wcg[^\O="
    A$ = A$ + "IWbaZZ?OjhR[TKcSS;Tl5AmA]a6BjUki_CSlecH3Sjaig3O8lZWCf4n8=?DK"
    A$ = A$ + "h[GY<O0ISK?8YSWl[YW]Xk1OXeQ9o>7K`_ci1^NGMLQ\9BnHea7j8J7^7nPf"
    A$ = A$ + "lih;YOQD>iCn=in5`lfVNVdf6_7ojX_J^N`D`73PGBh3YWiiRN?Ocf3OT8OO"
    A$ = A$ + ";Dm3jnXl<eg:mS4nXGkIea7EnjFQ?fDC369IX?754Gd6WbgcCk]7Xba]hl`B"
    A$ = A$ + "\TWC;?_bkjOh2PGlnRk5OdC?\b>C:_n\O8USB_?Bo6oD`7njSZ:ORTZ\[V`7"
    A$ = A$ + "N<KlH^>OdHVNOSok#K2lL9kDZobm_Zge?Ml2j;ljfU[?EAkiCU;C79gEDfai"
    A$ = A$ + "UWb=M]LoTR?3Q?jQABme[>n8ic[`8^N6a1>^`c9^KCP?3VC7nKAiVkkKZ^SC"
    A$ = A$ + "LXO_YLSi]mbi9l5R?DL^\?#kEZnL7]W_ENNkkQ?XME?>5jg;eUCaT#RcoGb7"
    A$ = A$ + "?JCoSm?Q50KT`7lK[TOYaeK4eoMKcYmO;eG#lB?km^=Xm`7doiDl7n_SKSL3"
    A$ = A$ + "Ni5S?hHBnn[K:g?jJk=FM_L:Wl1Vi0dWgeDoYG7BNK:QO4Olb7;j9Q?TLFa>"
    A$ = A$ + "hSgjig^B?gc?BU^[WoI=NVSGL\ZNV]f9ecmOSZlb#O8NZmIQcbidVk_kEea#"
    A$ = A$ + "BG<YSgcO<R?XLem_>Q;HoS?>CUmkS0n`S?WO;g3;ijFPnTjko92ODm;Bk>Ya"
    A$ = A$ + "QhmbabLL8k;BH4JCboNYSim]^_ObgPW2nHW[#ahbm>A?gXm\O`mnORIZZiAn"
    A$ = A$ + "kjagE53J_LnF=6D_HR^aGP50Khh3?_R:nIO\4a_c_eOi3LYS?Lo0dokIg8=^"
    A$ = A$ + "FCOjQR?\chi3RjGL?MgSW8Uo:N]]oW\O8MCNo\>UU^_S?h_K?OV7=_1R7mj:"
    A$ = A$ + "J5a7EbAGGCl_\[ldKM3XO9M\diLm=g7>>V[?OddgV76n0HJOM4VdQZZk=G7["
    A$ = A$ + "bgYNh3:SLMK_6:lajYMfZlRd3OhfOhg]JaWGQ?dkK<Vg2Z[M3nH6]ML4gCoM"
    A$ = A$ + "MLg?0gWMbGEhS76ORSj=f:YZg=Qnhf4O`n^4V\gh:?BJ?lAbG\E[n[lj:S]k"
    A$ = A$ + "dlG\DaB5>[6C\mIY7aJ[VmKEh3N=g4;e3ZmN?cIVGWi^M?enY_ECCKbjCJ]5"
    A$ = A$ + "^FRmgKL9Je\O\YFX^B^lWHUKliHA`74GhfoeWIn[XOE4O`h5U_4?<nlbne<9"
    A$ = A$ + "UeboZZJkSf4ii:eMOam9=bWW`NnB^Zco1e]T>5[3[dh[_Lin0m7]f>GcP>n#"
    A$ = A$ + "]M?nc69i#b?T75_VR5PTkcTonL^Wm3A?jflg]?aOWG]gjoOUa7Ylo#oCdaCG"
    A$ = A$ + "nGdGTRYdS_ZG<UMY7#Kec1HbnQ?W#EiS=M]?Sflg]?9USi:lAC^\JhSD<6mX"
    A$ = A$ + "UY?8dG8Ra_ji?]4Ol:K[_mI]^aifPf[Ym4O_5=Y_]I=O=kn6LTS9hnhUWoTg"
    A$ = A$ + "kKF8l1?Z2S4SEMfbo#kG4UidW`YKokjWdl<YHZ9n`]9Di7B<g?[DOCX?acoI"
    A$ = A$ + "J>6GMl1m5VSknaL9]Bm1Xmkf4LNXM>IGIZl`UL^F[XDn#CHS=f5WMoRYKUVO"
    A$ = A$ + "PNiGOj]mPnU?F;mkJ9]MH]OG_BbLVcQYc7giMT\O#m<n^IMUa7BW:E3GRGFA"
    A$ = A$ + "lQ7o:cSUWOTYZG]SlWj6Ec]O<oK[2_D`KZnIhh]J_mRhS=iGLf]o#ODSZZ;6"
    A$ = A$ + "7OTZm^?RMo]]kWF>i_G2C_K2C4o]BOO:?^Kb7j\Ui5bNfNCaJDR?8=KN:`KN"
    A$ = A$ + ">NBjF;I<8Qn8^NYlh\X?;^nYSA^7lA?mmm8GgamoPe^aB9g3bNb;9okmi4\k"
    A$ = A$ + "COflVaOL<:^NmlmemUS7<nPi[fS19=?#k=WA\?UaYU^FJ[EoVYO;nMDWRHVb"
    A$ = A$ + "aIW]\>8cCeOU_73`n2_NZ;oEF8NLSoiPgI<8;7?HlQ8^G1Xn9m>S<=o^<>HY"
    A$ = A$ + "_cm#7=NA?l1c=0WoKg6Uokjfajb]cFF7TidF#2Ohi#dc5WTm;3o6>KKLGJo#"
    A$ = A$ + "mC4OXnjYgn7TWLojMlQdOIo\R]?UOH93j]_\Bk7NleBg8Eg57:Oc=iMJNbYL"
    A$ = A$ + "gcSXW_1iGY6kHZlLagXm>DM\_Gf:MYUe7[2NSm;LmYcakIoDBWfa8E[U<_>F"
    A$ = A$ + "hjj;=?<mR7I3=KIK7iL_hjT\deUhh#N]dLC\9C4CdJ7:GEboJO=[Ujk?BmMB"
    A$ = A$ + "_Gh3QaYo?NmehS9T\5hb4WlHfmib?5?OI<[cFVF8Sel#C\#Jl5?oKneb[iUS"
    A$ = A$ + "?:dGlnjKF_OG^\1_Co3FFO\j`c=b[SObW^_BkEWl^OBnHVEaTWJG<oiKnnI;"
    A$ = A$ + ";k8OmiE^Z^HlHGY<RHRhh__8m4=6f8aKjj=\fAOil`34S`m3?VW89KXNOb>Q"
    A$ = A$ + "kk<73aa7D7`GO#>YnQ=Og\UQk8G[`7D>8n[AbGUT=dIR?Lk5L?4QnIhDU?a;"
    A$ = A$ + "MLjM`8dnAB^hSGT`59MI:?[`:m`7amKTI;kfAVj[CDj7Z[[Wb[>a7niOIb1X"
    A$ = A$ + "?kc_GbGPk1O\daY7T1EDZoI_HdMIBE\gN^Jg=oD78IYdUhN_X7Se8l;cYg;g"
    A$ = A$ + "_T[OBiVRh3_oWnP;\B:_:jc76lQe_jT_n_M\A5nQ?3oniLM#I6]a<em#c_YL"
    A$ = A$ + "Dj:lKMiUnLI>7<:>Fl[B_0_cedijI7d]O#OdIOmA\_]RBHPT<X:FKj7=mO`_"
    A$ = A$ + "Vbf`\U?gQlSif\:GLUf#6\ohU8CdW\g9QLnMIoXh7>7bnnfVWWk3Gol>m=Ei"
    A$ = A$ + "MdegmjRbSEODo;V^\h;8cXNBE>lXLIYiEe6Okb7[C`dLIal=d8O>QehYki;n"
    A$ = A$ + "dig_HO>k?mh=CS5#o9LK\NL8UhTIcoOAiDbFK5nHiiGL4[_R6?5[=d[TW[C?"
    A$ = A$ + "O`d>b6oYW=?o=ko9alAVfk7XM3OoXm`XSL7b7gORDmb8M]Vlj#`kGb_C]fSl"
    A$ = A$ + "lLba;hJULC^JV=onPd54AkXb^RKc`eG>4j5gYl`S_Rf:YOU][mSgWfnCLflc"
    A$ = A$ + "PmiU]KL>gV1]UF5SjB;7nRb\DN;4oba=mJ#hWVL#eWWhGO>?LlQfW=;ee>ZT"
    A$ = A$ + "YKhh3nIGOiWXL#kc5RdimLe#Ie?2IPM6bG=nVh5V?gfH4BFYg;^aOQIcO?0i"
    A$ = A$ + "RkgPGoUdGkObh3i_PS?hhSlmea7bRIc3?0M0Y7`J8PjnRhjbfSAKS?W7EM4k"
    A$ = A$ + "<N=\FEG[Uaf<Kni18;JlWo>RGSA#lA\>3W=?l0d3lnFZk;BbQ4n`mmh`ZWHb"
    A$ = A$ + "TfoM\P6W`a7\n2flTW=Om=U7=ncg7_CigVfJ?dl^M6?g>nh4<oV>Ub]cQYnm"
    A$ = A$ + "2b3GFheTW?6BEMXLHhm1T;=nR_[Dhk68O\1moGjkDbWT^P8egCK3:_g^nOej"
    A$ = A$ + "1`ckUN6;_>Bh\YeI7eELKX3UghIcWOAIS`62Oh__]lgg;\6Y?LlMh\<O3J_I"
    A$ = A$ + "WnA`i7Z93hk0IQOdH:nN_dbk7:>ZeOVFgX\Nldl8cm`NFGoL?ZOc_f\ie_Yl"
    A$ = A$ + "YjMkKZ6hoYP?BeSfNf:lkA_obB_3oFJm3LD_gibR7[Z_277eKM>\TbQ1TAdN"
    A$ = A$ + "I?l1_k3In[\cTR[`iK_^G5ic7TC;_>1>:Ec#\^[X=T6E5O6_o^ojcVg_CI4e"
    A$ = A$ + "3LlQ;ODnI>Lf?\c`iiZb6YT1YW8SOUb_ShLZCO6CeRYj_ekkcD>9XMVAfG\W"
    A$ = A$ + ">oO7b8_o=UO6i_`7S?XgI_cV7^3m0A>^WmgNmFM?oJ=k`glnfLUU?Go4]ET`"
    A$ = A$ + "hN=Zf[FNE<GnJ_l`VG[[OB_7EMITZgCbSZ66ikdjYc7k`OTBkATEf<;kCkl["
    A$ = A$ + "N4c[[oNYWh3JoPg]_WC`aFJSC`J>XMm7bi51j<4Oh_;jhMYc_le[IagXaiH\"
    A$ = A$ + "34OXh]7f?YN]RI;36D69OWlnndLPABfNhnKB:F6Zk\YNeV]<H0i3SAe7;eeC"
    A$ = A$ + "XMUUU7kl]LO]Cm[EnGNgmS7Unm#KFf3DNn7m98mM>nR`F]cWbkElI=Ki#7IC"
    A$ = A$ + "?O=lmh6>fbBbK5O3co87_CSiinGMHRcn9:c:io`gi[5RV<LcjSiBnMkkb:OA"
    A$ = A$ + "K>Q?hNSdQ0ODl=Yh8kQ?:c3e:a[_0iF9?KOOJ\5jWZG_:g<oI[\l5j?J^cCh"
    A$ = A$ + "3gfiVj#Kfla>maEf=BnEVbMgBg7n\TOgae[lJYl4WfciXN4]e4OjcFFHl8[M"
    A$ = A$ + "RDnMmjBMcl3_8laN4GgKN^MIMRTjCGfn`5#N;k2YeWM:>FZ7En[<KN4l9G_?"
    A$ = A$ + "DW`G_7;7nXhKH]0imS<_:m`6kR?FUn`5#^;IIc74^7gBo>LO>RjA[VlehadL"
    A$ = A$ + "2[aJE>`I<HCU?6hZ:GGKG9O^NBf>ig_I^^VMogRXcXa?Em=ZgaIYll`eJFGk"
    A$ = A$ + "7TF0N=iC^8_F3T?VCYmgiKmibTi#8QAZZM:]f1IO;U5;AOgTeGT<UhSfomaI"
    A$ = A$ + "ljD#jG=l1c_Eila>Ci\YKieST_WiE6GeTjO4YaQlfODO6T_VZiJ`_egUNO0`"
    A$ = A$ + "g3IC[OKRj:TgC[U:e7Xn5RAHLOgK]k<5i=>Z:WE^ogR?OY]i>O[JcEe;Xl;<"
    A$ = A$ + "E7ZETRc<Q?>DcokC#nCmJFGlZ_`UaNLNneTZ?[UYnOAk9E_NDG[Kko5eghTW"
    A$ = A$ + "gidLKFU?gmnUeH0Dfl;eL6FXWhSEje4?eQBH3mLH\Q9lAI>ANUbNdNDKbm?I"
    A$ = A$ + "cL1VhYWHKc9n^bSi59=7oZ?Rff_WFQ\E\I?ojEeo\:4>RaSbLg8iDeC9IcPh"
    A$ = A$ + "[ZaVWJ]bSSligXZFTXoV?Ufg>GQTQ\n2MLROLZ>;S]mROc3ekgWGPN2O_\ZS"
    A$ = A$ + "k>OOk#2[alUNga[lTiKRSIn>min8iSi3Ym=`EiSahiHgmgBdM?n_egmbj?FE"
    A$ = A$ + ":LFomS`G>Nk;gj;[k[O:o#kn<O2l=mQThHoM4FIkl19gC4mSecSf8hS_DKnE"
    A$ = A$ + "8o?BTM6fGdM]b<#o\6kjN`7?M\RYoaO;JK;m>`9f^n6bj4UlCbOWBg;W2do["
    A$ = A$ + "^SmL_]eI[W>C:LfQUYMNbnh^N>ELlQfoDhL_l#a:fIL<PgnLiAih6gY\]RBi"
    A$ = A$ + "=GiYeg[=65ODfO>KM^S6mEe1]cTRaga6\_VSciao`jDYgkdT_Bk<AKVOl0O]"
    A$ = A$ + "K]cL7TkcTS=H<P^LUb9?7Fnn]MSna\g<=CjKXciSechIMBS;Z[Sh3GOa[CXW"
    A$ = A$ + "5gC<<eYX^9g7;N4]5?7DYm6LGnVZK1]^WE>6ZVkVO9WS_7=M?b?CncSI];Xm"
    A$ = A$ + "Y`dL:hnIiSIbm>5=VimV?o:ZbO5okim`h2^WO;6o<g[6In#LK\NKEWSkSO^_"
    A$ = A$ + "GZFTMlAkLo8OWM\ZD#Gck?hLFABk;SJ>_ZlO85c2eUhLU=B^fZlmCo>ZfljU"
    A$ = A$ + "G]f_Sd_mJc\g_;]?hiP=QCk=o#ml_Sf?HMTif]?a8_FlABWPH1jo^_VTT>SG"
    A$ = A$ + "G4DGf?_7K:eAImfekjBj`L^WCG[[Oci:Qj_L_#`WGD]WIT6?O?Lb8f>inFS?"
    A$ = A$ + "_Cd>d9nhiS?XO6L<OV3ZdC#n8Xgm^L>_ljHY2ODU[9Mo^N<]c#L[7O[k[U?n"
    A$ = A$ + "^G?:NK9Eo7TWTOSEjfSJ7I?BlRcSKl=LfjBod8L4ggmhig3O#Rjb^?#TXNN_"
    A$ = A$ + "L5ClAJ]TWbkC:?Ylm<V[SAlQGGDNM3BIBElglJ8O`Hgg]nj3??777k3V]nd?"
    A$ = A$ + "=2mUmRGMhLbNicggbJlBZ?Bl1o?a19lQ_gkka`T`JBGT]=7kT`:^m3jKSk_6"
    A$ = A$ + "mKc?WS5mfg^je1IK:_8WHSW?nXA]n?i[b#gMAoHJ<JOll:L0eACa;DAnNk1e"
    A$ = A$ + "WmfVkk8_7JWdSga7g`cS=Kglg`cae#f?:T]Um=cF?jW:ImgnHXaL9>`cQjH9"
    A$ = A$ + "OZZZGUNn]hnPa_;Q?dcb_>7o>2nXkhfGfFgQ\]VFGhKF373f75YI[3mCW2W]"
    A$ = A$ + "L=h<`c`7GUWWaWhi\dmm:Q?X^WNVjkLoRBhSDL>d7=NnTOFJ>PhlLZkUo>4["
    A$ = A$ + "V\O`LP=TNNeg<KMWOEX`I7N=3HWAj\YhHlW_?VKbnU^>YGE]_g#MJ6SR`[Ea"
    A$ = A$ + "oGU31_=8<1a<kaS4O`HXdck^fS\g[OhTNnD__MWkAjIZ?gcgcNojDGaecY>E"
    A$ = A$ + "eJMbSiY:NIgnFbW8VS8?6TNi\bYfeaj>85?fQkmdc_jDj\3LmUiVibMD[kG9"
    A$ = A$ + "6WRK;PcGVS5l[gSiQcaMkgQaGhTSGHn5f=>I`gnl?joN3;W?YS9MifmLOg76"
    A$ = A$ + "Z[\AG8l4majmgMFncBOGjmnP>FkgGJ<LM_Yil`eUYm[ZlOWT9TBhSD]i>mnb"
    A$ = A$ + "CjaBjC_]=OXM]IDmL^TmI:QgB4aVYjGoN\QE=_83GOifIJH1]glikA^MO>Wd"
    A$ = A$ + "aU^nYV>S6oN_HFSj1Q[aa7SdRZRMo[`MYi#\<fS>b6A2OdfOGeNlj#?WCjhB"
    A$ = A$ + "h8nn=Seek#j0Godm6WRg6dcXgagccBg?W?5e6_Qg6#n`j3XKKhTni#5OCIlW"
    A$ = A$ + "Ej0fIjUkYbWCWFZbIElk7hi8mjZiWl[8S6B^LB7KZhKD\83[3LmCNll<NlMe"
    A$ = A$ + "9kdBKgKilEdii`JH_G]_lETA3M_Wd?3JT[JPkWi6NGoRjlLhloYHBH\4MO>f"
    A$ = A$ + "CUi5>EG0kbKEbWIgWMB_NZgg>`mYi:_j:gMnVacam;Sege^][ROK??f3cOWd"
    A$ = A$ + "9i4?J`[E[kYD=N<dckb]_ggme=k^a`4JCdnSWcgkR7?YCj[BGn\VnhNgP_W5"
    A$ = A$ + "laMdiid8FgD9JXJj07Al1GSagL7cF6NBoLY[Ob[1;>78OLe3nLhlNciCoVi<"
    A$ = A$ + "LPWESH\7a[Nfb_CjW=eiKoZi:ReFRVG^fo7JN;6XM=dmOBWdSVfk:n^goGmI"
    A$ = A$ + "=Kib9MB?2jN^jIgF?YCjT>YCjT>YCjT>YCjT>YCjT>YCjT>YCjT>YCjT>Y3;"
    A$ = A$ + "moa[%%L2"
    btemp$ = ""
    FOR i& = 1 TO LEN(A$) STEP 4: B$ = MID$(A$, i&, 4)
        IF INSTR(1, B$, "%") THEN
            FOR C% = 1 TO LEN(B$): F$ = MID$(B$, C%, 1)
                IF F$ <> "%" THEN C$ = C$ + F$
            NEXT: B$ = C$: END IF: FOR j = 1 TO LEN(B$)
            IF MID$(B$, j, 1) = "#" THEN
        MID$(B$, j) = "@": END IF: NEXT
        FOR t% = LEN(B$) TO 1 STEP -1
            B& = B& * 64 + ASC(MID$(B$, t%)) - 48
            NEXT: X$ = "": FOR t% = 1 TO LEN(B$) - 1
            X$ = X$ + CHR$(B& AND 255): B& = B& \ 256
    NEXT: btemp$ = btemp$ + X$: NEXT
    btemp$ = _INFLATE$(btemp$,m.SIZE)
    _MEMPUT m, m.OFFSET, btemp$: _MEMFREE m
    BASIMAGE1& = _COPYIMAGE(v&): _FREEIMAGE v&
END FUNCTION

Find my programs here in Dav's QB64 Corner
Reply


Messages In This Thread
Screen Savers - by bplus - 04-27-2022, 12:29 AM
RE: Screen Savers - by Dav - 04-27-2022, 02:26 PM
RE: Screen Savers - by bplus - 04-27-2022, 02:33 PM
RE: Screen Savers - by bplus - 04-30-2022, 11:55 PM
RE: Screen Savers - by Dav - 05-01-2022, 07:22 PM
RE: Screen Savers - by bplus - 05-01-2022, 08:26 PM
RE: Screen Savers - by bplus - 05-02-2022, 12:00 AM
RE: Screen Savers - by Coolman - 05-02-2022, 09:42 AM
RE: Screen Savers - by bplus - 05-03-2022, 02:13 AM
RE: Screen Savers - by bplus - 05-09-2022, 01:32 PM
RE: Screen Savers - by bplus - 05-19-2022, 07:22 PM
RE: Screen Savers - by bplus - 05-21-2022, 11:22 PM
RE: Screen Savers - by Pete - 05-21-2022, 11:27 PM
RE: Screen Savers - by bplus - 05-21-2022, 11:38 PM
RE: Screen Savers - by Pete - 05-22-2022, 04:39 AM
RE: Screen Savers - by bplus - 06-17-2022, 01:10 PM
RE: Screen Savers - by johnno56 - 06-18-2022, 12:23 AM
RE: Screen Savers - by Kernelpanic - 06-18-2022, 11:48 AM
RE: Screen Savers - by bplus - 06-18-2022, 01:47 AM
RE: Screen Savers - by bplus - 06-18-2022, 12:33 PM
RE: Screen Savers - by Kernelpanic - 06-18-2022, 03:21 PM
RE: Screen Savers - by RhoSigma - 06-18-2022, 03:51 PM
RE: Screen Savers - by bplus - 06-18-2022, 05:02 PM
RE: Screen Savers - by RhoSigma - 06-18-2022, 10:03 PM
RE: Screen Savers - by Kernelpanic - 06-18-2022, 08:15 PM
RE: Screen Savers - by bplus - 06-19-2022, 01:14 AM
RE: Screen Savers - by SierraKen - 06-20-2022, 09:50 PM
RE: Screen Savers - by bplus - 06-21-2022, 12:15 AM
RE: Screen Savers - by bplus - 06-29-2022, 04:52 PM
RE: Screen Savers - by SierraKen - 06-29-2022, 06:10 PM
RE: Screen Savers - by vince - 07-01-2022, 10:32 PM
RE: Screen Savers - by bplus - 07-01-2022, 11:05 PM
RE: Screen Savers - by bplus - 07-04-2022, 06:54 PM
RE: Screen Savers - by Kernelpanic - 07-04-2022, 09:11 PM
RE: Screen Savers - by bplus - 07-04-2022, 09:54 PM
RE: Screen Savers - by Kernelpanic - 07-05-2022, 02:14 PM
RE: Screen Savers - by bplus - 07-19-2022, 08:28 PM
RE: Screen Savers - by bplus - 08-28-2022, 12:55 AM
RE: Screen Savers - by TempodiBasic - 08-29-2022, 09:26 AM
RE: Screen Savers - by bplus - 09-06-2022, 12:35 AM
RE: Screen Savers - by SierraKen - 09-08-2022, 07:37 PM
RE: Screen Savers - by bplus - 09-09-2022, 02:22 AM
RE: Screen Savers - by SpriggsySpriggs - 09-15-2022, 04:38 PM
RE: Screen Savers - by bplus - 09-15-2022, 05:20 PM
RE: Screen Savers - by bplus - 01-31-2023, 04:21 PM
RE: Screen Savers - by vince - 02-01-2023, 07:27 AM
RE: Screen Savers - by bplus - 02-01-2023, 05:05 PM
RE: Screen Savers - by bplus - 03-13-2023, 10:51 PM
RE: Screen Savers - by vince - 03-31-2023, 11:09 PM
RE: Screen Savers - by bplus - 04-01-2023, 12:09 AM



Users browsing this thread: 21 Guest(s)