small basic graphic and animations and more RRS feed

  • General discussion

  • I made a list of my progs published under nick qwx, for free use and modification.

    most of them require LD littldev extension, which is one of the most powerfull extension for sb, and should be included as standard feature for next releases of SB, IMHO))

    some requires other xtensions for SB1.0, but can be easily modified to LD xtension (mostly:))

    So let's start

    small cool animation: GXW900

    • flickr analysis of picture: DLR795
    • ZX Spectrum emulator: DNP796 (also includes some logo, flickr and web browser xtensions)
    • traffic lights simulator: QDG458 (note when switching operation mode takes some time to apply, be patient pls.))
    • flags weawing ZHC732 (also req. some patience on beggining)), use mousewheel to adjust gravity/levitation and right ms.button to choose options
    • spattializer: CTJ692 also many cool cubedrawing options)) also use mousewheel for cool effects
    • escher's triangle:FZG934
    • moon rotation/revolution: MGT757
    • calendary: MRB634
    • list of Nonky's progs in db mode:BQT656 (requires some sqlite cmds knowledge, also comment line 58 in prg. after make dbase on first run)
    • EU flag fantasy animation VBN005
    • touch detector analysis tool: NTR470 (for win tablets mostly, but detect mouse too)
    • turtle commander: SZL765 requires LDBETA, works on sb1.1 too
    •  old turtle cmd for sb1.0: HSV322, req. some xtensions like ESL and other...
    • 3d plotting: JMP769 (be patient, slowly...)
    • XLH447 nice effects, not mine but cool to  use))
    • ZWW408 cool games, not mine but edited a bit))
    • slicer game:SQT071
    • calc list tool:calculates sum of seral list of calculations
    • turtle logo flag sewing:SDQ387
    • wood city: QHS672
    • wood dices:XXM792 (help by nonki's and mit codes)
    • wood livingroom: HKX749

    more to come soon... comment and modify and make betterments freely))

    • Edited by litdevModerator Sunday, May 29, 2016 7:42 PM Continued to added
    Tuesday, May 26, 2015 8:47 PM

All replies

  • Wow, prolific and very innovative - just checked out the spectrum emulator, wood city and 3d plotting (below) - fantastic work!

    Tuesday, May 26, 2015 9:25 PM
  • Great programs here and further / similar programs over here Another Turtle Graphics (link for the sake of completeness).

    Edit: Hi Tryhest, seems the ID for 'calc list tool:calculates sum of seral list of calculations' went lost...
    Tuesday, May 26, 2015 9:50 PM
  • calc tool ID:SFB773 (think it's Nonky's work mostly, just added the textboxes to collect inp/output)

    Wednesday, May 27, 2015 4:45 AM
  • tx))

    I like the flickr integration addidng decorative border to Spectrum's screen, that was almost unthinkable 30 years ago, as u may know that ZX Spectrum had only 16/48kb of RAM, and border just could have 7 colors and stripes when loading and saving progs (w'd like to emulate that stripes too but it's not so easy work)

    original zx keyb))

    original zx rubber keyb, text often erased by intensive use, but it was soft feel to press))

    spectrum on tablet, note the flickr border and new keys added right)) coming soon))

    • Edited by Tryhest Wednesday, May 27, 2015 5:46 AM
    Wednesday, May 27, 2015 5:21 AM
  • some notes for spectrum emul. usage:

    updated version (RHB445-0)

    -new LIST start, auto rem of invalid cmds


    • to delete a line just type line number and press enter
    • to edit a line, type its number and press ESC on ur phisical keyb
    • to continue prog running type cont (or press V screen key) and press enter
    • to list prog type list or L and press enter few times (some bugs, trying to correct soon)
    • use mousewheel to scroll listing, only way for now, or type LIST|nn, nn starting line (hint:use F1 to type | char)


    as u may know, spectrum had immediate and run mode, thus u colud execute prog from cmd line without storing to ram.I dislike this way so I gave only a few cmds to be run from cmd line, other must be stored to line number prior to run. for the immediate cmds remained: LIST CLS NEW RUN BORDER PAPER INK CONT

    to have a flickr border just type 10 FLCKR and run it. the border remains until next NEW cmd,as it's not refreshed, only if some object enters it by drawing(like CUBE or CUB2)

    when using FOR cmd, the original spectrum syntax was e.g. FOR x=1 TO 10 STEP 2, as it gets difficult to parse such line I made shorten syntax FOR 1 10 2 meaning the same))

    • the "for" ctrl var X is referenced by %F1 in loop and cannot be accidently modified like in other prog.languages, which is a benefit for program stability. U can nest 6  loops and reference by %F1..%F6, thus one main for and 5 inside it no matther of deep
    • for now the FOR vars are the only vars to use in prg. I'll introduce vars and const soon))
    • using STOP cmd is  nice way to pause xsecuting of prg. then type CONT to proceed
    • for typing math/other chars use F1-F9 key and F11/F12 keyset modifier
    • delete by BS key. just the last word. Introducing cursors keys soon))
    • to load a prg type LOAD and press enter, select txt file from file dialog
    • progs are ordinary txt files, just must have the : column simbol after line numb in order to xsecute
    • max 300 prg lines allowed
    • introducing renumb cmd soon(originally very missing on spectrum)

    new features added to spectrum:

    • turtle: can be  combined to DRAW, CIRCLE, RECT, CUBE... as staring point to draw
    • flickr pics as border
    • webbrowser
    • CUBE and CUB2 isometric cubes
    • shapes and sprites (soon)

    obsolete cmds

    • microdrive cmds - replaced by standard open/save dlgs
    • VERIFY - unnecessary nowadays, once very often used as the tapes weren't of a good quality
    • LPRINT and LLIST - references to text window now, usefull to grab text output))
    • CAT,FORMAT - ref. to microdrive
    • POKE - not needed, as it isn't allowed to access direct mem. locations
    • PEEK -not needed too but might be useful sometimes to spy on direct mem. locations
    • USING - formated output, not easy to implement in SB, maybe as replace %S %F cmds 
    • ATTR - text atributes as background and ink and flash
    • FLASH -not easy to implement nowadays, might be substituted to underlined text
    • OVER - not very usefull nowadays with modern fonts,once used on bitmap fonts to write accentuated chars

    • Edited by Tryhest Wednesday, May 27, 2015 8:32 AM rhb445-0
    Wednesday, May 27, 2015 6:37 AM
  • a loong listbox w flicker pics)) GKH637
    Wednesday, May 27, 2015 8:22 PM
  • syntax samples

    standard basic:                      zx emul basic:          original spectrum basic

    for x=1 to 10 step 2                FOR 1 10 2               FOR x=1 TO 10 STEP 2

    a=5                                       LET a 5                      LET a=5

    a=a+2                                   INC a 2                      LET a=a+2

    a=b+c                                   LET a &b+&c              LET a=b+c    

                                                 or  (workaround if not math.eval available)

                                                 LET a &b

                                                 INC a &c


    pset(100,100)                        PLOT 100 100              PLOT (100,100)

    • Edited by Tryhest Wednesday, May 27, 2015 8:42 PM
    Wednesday, May 27, 2015 8:40 PM
  • latest version:VSS227

    note that the vars are used as const precompile replacers in C lang.

    thus it gives u  wide possibilities in usage))


    • 10:LET a LET
    • 20:LET b INC
    • 30:&a c &a&b
    • 40:PRINT &c

    produces as output LETINC word

    so the & sign is used to represent var value, and the var name is used only in LET statement

    example 2:

    • 10:LET a b
    • 20:LET &a 5
    • 30:PRINT a=&a |
    • 40:PRINT b=&b

    output is: a=b


    • Edited by Tryhest Wednesday, May 27, 2015 9:52 PM
    Wednesday, May 27, 2015 8:59 PM
  • and more advanced features now, for experts))


    a bit like pandora's box  opening... self writing and modifing prog!

    a few new features before that:

    • TAB key now edits line number, pres tab again to finish edit, then enter
      and voila! u dupicated a line))
    • to enter zero value u must type 0$ instead of 0, thus if u write LET a 0 will be stored as LET a only
      so u must write LET a 0$
    • now u can use column ":" to specify line number, which is replaced with space when press ENTER key
      thus is more conveninent to change line number with TAB key

    and now, new powerful cmds: MEMGET, MEMSET, REPLC

    MEMGET nnn gets the program line at nnn, and replaces spaces with ~ char, the line is stored as MM$ var

    REPLC aaa bbb replaces contents of MM$ var, every aaa with bbb

    MEMSET nnn vvv stores at progline nnn contents vvv

    to delete a line nnn just use MEMSET nnn 0

    e.g. type 200:MEMSET 140 0$ to delete line 140

    and now a program to show all this:

    • 110:FOR 1 250 55
      120:FOR 1 250 55
      130:FOR 1 250 55
      140:CUBE %F2 %F3 %F1 %F1
      200:PRINT Done.
      300:MEMGET 140
      310:REPLC 140 220
      320:MEMSET 220 &MM$

    run this prg with RUN|300

    and sroll list down

    and magically appears new line 220 - a copy  of line 140!


    • be aware not to modify current block executing lines, it can produce strange behavior!
    • if u modify FOR NEXT block it will produce no results on current execution bcs FOR vars are
      shadowed prior to run
    • always SAVE prog prior to run as u may loose it irrecoverably!
    • a good practice is to write selfmod prg in a way that selfmodifying code is in middle lines (200-300 e.g), and the result after it, thus u can't accidently overwrite selfmod routine with its result 
    • be very careful with REPLC cmd, as it replaces ALL text in line, not just first instance, then to be sure not to replace other txt, use REPLC 140: 220: instead of  REPLC 140 220
    • when u have to use space in these cmds, write ~ sign, bcs. space is  params separator!

    have fun, explore, modify and make suggestions!))

    • Edited by Tryhest Thursday, May 28, 2015 6:38 AM
    Thursday, May 28, 2015 6:18 AM
  • new more advaced version: RTF380

    renum code:

    1:GOTO 280
    5:BORDER 6
    10:INK 7
    15:CLS 2
    25:PRINT Turtle demo by SpectBasic
    27:LOGO sh Sp10 m550;200 r150
    30:FOR 1 26 1
    32:LOGO F50 R15
    62:LOGO F50 R15
    65:CUB2 0 T
    69:LOGO hd
    110:FOR 1 250 55
    120:FOR 1 250 55
    130:FOR 1 250 55
    140:CUBE %F2 %F3 %F1 %F1
    200:PRINT Done.
    280:LET a 400       'temp storage
    290:FOR 210 5 -1
    300:MEMGET %F1      'gets line
    305:REPLC %F1;; &a;;    'renums
    310:MEMSET &a &mm$  'stores to new loc
    314:INC a 1 |
    327:DEC a 400
    330:MLT A 10
    333:LET B 400
    334:MEMCLR 5 275 'clear base area
    335:FOR &A 10 -10
    340:MEMGET &B
    345:REPLC &B;; %F1;;    'renums
    350:MEMSET %F1 &mm$  'stores to new loc
    370:INC B 1
    377:MEMCLR 400 590 'clear temp

      after run the line numbers will be in order 10 .. 220))

    Note new cmds MEMCLR and DEC

    • Edited by Tryhest Thursday, May 28, 2015 1:45 PM
    Thursday, May 28, 2015 1:43 PM
  • a note about command on line 314: INC a 1 |

    the third param "|" (not "I", but a pipe char) is very important here bcs it means:

    If the result of MEMSET is a empty line, then don't increment var A.

    This immediate"IF" is like assembler instructions JNZ or JZ which depends on previous cmd. results.

    There is also cmd MLT on line 330 meaning MULTIPLICATE, as written in std. basic a=a*10

    Soon will be implementated conditional GOTO cmd, like GOTO 123 | meaning JNZ 123 (jump on non zero)

    or GOTO 123 + (if >0), GOTO 123 - (if <0),  and GOTO 123 Z (if=0)

    Thursday, May 28, 2015 4:42 PM
  • working on a new editor modern style: HPN692


    • ident/unidentation
    • zoom by alt+wheel
    • hiding blocks - select by ctrl+block end line then rghtmsbttn+hide
    • enter moves down, "\" moves up
    • del delete line, ins inserts new line
    • arrows/mswheel scrolls up/down list

    • Edited by Tryhest Thursday, May 28, 2015 10:29 PM
    Thursday, May 28, 2015 10:28 PM
  • Tryhest, interesting!

    I tried to remove FCKeyboard object: HPN692-0
    Screen shot of a program New Editor Modern Style HPN692-0

    Nonki Takahashi

    Friday, May 29, 2015 1:23 AM
  • Hello Tryhest,

    Your Spectrum Emulator RHB445-0 works fine with only LitDev Extension.  (And needed to remove comments for File objects.)

    I'd like to introduce this program (and this thread) on SB blog.

    Nonki Takahashi

    Friday, May 29, 2015 1:48 AM
  • sure feel free to modify, add and make this bigger and free to use))
    Friday, May 29, 2015 6:22 AM
  • now a graphic sensepad: GNR897

    move mouse onto it and press left button while moving, a bit quicker movements better result

    the move is recorded and wanishes softly))

    • Edited by Tryhest Friday, May 29, 2015 6:25 AM
    Friday, May 29, 2015 6:24 AM
  • Now more advanced pad: DBV581

    write onto it w left mouse butt

    then press rigtmousebutt to redraw a char like handwritting))

    Friday, May 29, 2015 8:02 AM
  • now with shadow writting too)) XZQ475

    Friday, May 29, 2015 11:04 AM
  • code: JRS485

    now added:

    • demo
    • open
    • save
    • right click menu
    • colors/autocolor
    • shadow on/off

    • Edited by Tryhest Friday, May 29, 2015 2:23 PM
    Friday, May 29, 2015 2:22 PM
  • I 'll describe some very nice things of SB, not very known, but nice to use:

    found in LD extension:

    LDtext.Replace and LDtext.Split

    SPLIT (string,delimiter) -returns VB array

    ordinary u write arrays in this way

    • a[1]=5
    • a[2]=6
    • ...
    • a[25]=33
    • etc.

    other way is to write in one line like

    • a="1=5;2=6;...;25=33;...

    but with SPLIT u just write:

    • a=LDtext.split("5,6,8,9,...,33",",")

    quick , convenient and simple!and u can use any delimiter as u like: , _ space : ; ! / \

    i reccomend/prefer to use space, pipe (|) and semicolumn ; simbols

    u can use any lengh of delimiter but it's most convenient to be just one char like space " "

    and if u need space not to be separated just use underscore "_" char like "first_time next_time"


    REPLACE(text to search into, text to search for, text to replace)- returns replaced text

    one of the most powerful LD feature! it does miracles! bcs it replaces

    EVERY instance of text, not just first one, thus u can save a lot of memory space

    instead of writting ELLIPSE1,ELLIPSE2.. just write E#1, E#2 then just write

    txt=LDText.replace(txt,"E#","ELLIPSE) et voila! fantastic!


    next is REGLEX replace, it does also miracles, but it is far complex than normal replace...

    read more about REGular EXpessions on wiki and other web pages...

    • Edited by Tryhest Friday, May 29, 2015 4:39 PM
    Friday, May 29, 2015 4:29 PM
  • Now some SB graphic schemes:

    • Edited by Tryhest Saturday, May 30, 2015 5:38 AM
    Friday, May 29, 2015 8:28 PM
  • code: VLP268

    Saturday, May 30, 2015 5:42 AM
  • 3D-emboss efect maker:HDB334

    • use mousewheel to adjust depth level
    • use CTRL to adjust inlay level depth
    • use TAB to select control point, then move it by clicking around

    still in early stage, but nice to see anyway))

    • Edited by Tryhest Wednesday, June 3, 2015 5:40 PM
    Wednesday, June 3, 2015 7:52 AM
  • Friday, June 5, 2015 8:31 AM
  • tx)) nice of u
    Tuesday, June 9, 2015 9:28 AM
  • i added some opts on ur nice prg for curves:


    -11 control points - or add as u wish by increasing var nct on line 4. always add at least 2 more points!

    -rightclick mouse menu-show/hide control points/lines

    -smooth option - press left ctrl while adding node

    • Edited by Tryhest Wednesday, June 10, 2015 1:27 PM
    Wednesday, June 10, 2015 1:21 PM
  • added node editing by TAB: QNN007

    make smooth node by CTRL  + drag

    • Edited by Tryhest Thursday, June 11, 2015 5:49 AM
    Wednesday, June 10, 2015 10:35 PM
  • added OBJ creation: FGV376

    and color/opacity adjustmet by mousewheel

    • Edited by Tryhest Thursday, June 11, 2015 8:33 PM
    Thursday, June 11, 2015 8:29 AM
  • new options and features:CNM204

    • ALT key makes selected node collinear - as option convert to line
    • CTRL makes blue node smooth - works from 4th node on every cyan marked node
    • Cyan nodes are middle ones
    • may be added max 200 nodes
    • text insert tool to make vectorizing sketch

    • Edited by Tryhest Friday, June 12, 2015 7:45 AM
    Friday, June 12, 2015 7:31 AM
  • new opts: BXG803

    • text on path
    • text hue shift
    • text on path slide w mswheel
    • pen width & hue w mswheel

    Saturday, June 13, 2015 7:06 AM
  • now new opts: LLP992

    • added text and font editing
    • text follow path angle
    • path hiding

    now u can unleash ur creativity...

    remember to use ALL_OFF in order to exit current adjustement options by mousewheel

    Sunday, June 14, 2015 7:02 AM
  • added main menu, and copy as png file: MDR865

    also reduced popup menu

    now options are by checkmark selected from main menu

    Monday, June 15, 2015 2:06 PM
  • added save & load curves: PJV498

    new autosel option, a bit buggy still((

    Tuesday, June 16, 2015 8:31 AM
  • Tryhest,

    Do you know you can publish an updated version of your programs while keeping the same name?  e.g. ABC123 becomes ABC123-0 and later ABC123-1 and so on.

    I don't know if there is an easier way, but the following works: 

    To publish a new version (update) of an already published program::
    1. Load your changed program in the IDE
    2. Import the old published version e.g. ABC123
    3. In the imported version remove all text (ctrl-A ; ctrl-X)
    4. goto the new version, do ctrl-A , ctrl-C
    5. goto the empty window of ABC123, do ctrl-V
    6. export this new version and the number becomes ABC123-0 

    Jan [ WhTurner ] The Netherlands

    Tuesday, June 16, 2015 12:24 PM
  • it's a smart way but has one big missing:

    all the file operations become remarked and commented as potentialy harmfull ones!

    so we need a sandbox to become it less dangerous))

    i made some updates: JHR930

    • circular nodes path
    • autoselect corrected!

    to obtain color circled path is a bit tricky:

    1. draw a path
    2. select CircPath with rightmousepopup
    3. move nodes a bit to update path
    4. select AllOff with rightmousepopup
    5. select Txt2Path
    6. type space (" ") in textbox
    7. select penclr
    8. roll a mouse wheel a bit
    9. select penwidth
    10. roll mousewheel carefully to obtain full circular shape
    11. select penclr and roll wheel a lot))
    • Edited by Tryhest Tuesday, June 16, 2015 12:39 PM
    Tuesday, June 16, 2015 12:34 PM
  • color waves: VBC309

    note the optical effect of distortion of edges))

    Wednesday, June 17, 2015 12:50 PM
  • strange soundlike pattern: GZN175

    Wednesday, June 17, 2015 1:04 PM
  • Oriental shape: MXW814

    Wednesday, June 17, 2015 1:16 PM
  • now a quite unusual editor: NGS705

    • it has some surprising fastshape features:
    • words rotation inplace
    • words angle
    • zoom

    lets see some standard features:

    select text by left mouse button and move over words

    press F1 to copy to clipboard

    press F2 to paste

    press DEL to delete selected txt

    press BACKSPACE to undo deletion

    no, u can't type any new chars for now (srry), but u can do some cool stuff w mousewheel:

    ALT+wheel increase font size

    CTRL+wheel zooms/mirrors  words

    SHIFT+wheel rotates words


    fancy rotation:

    • Edited by Tryhest Thursday, June 18, 2015 7:09 AM
    Thursday, June 18, 2015 7:04 AM
  • update: CFB139

    • added open, save
    • right mouse popup
    • editing allowed!
    • newline
    • replace - F3 key
    • interline spacing - press ctrl+shift+roll wheel
    • to edit a word select it by mouse then type text or press BS to delete chars
    • after editing press ESC to update text!
    Thursday, June 18, 2015 3:54 PM
  • 3 crazy verms dance: PPP747

    • use mousewheel to adjust speed
    • use ctrl+mousewheel to adjust verm length

    • Edited by Tryhest Saturday, June 20, 2015 8:28 PM
    Saturday, June 20, 2015 8:21 PM
  • a color 3d plot
    wait to finish(a bit longer) then use mousewheel to zoom in/out

    adapted from x11-basic source

    Sunday, June 21, 2015 7:51 AM
  • 3d surface plot: JWT261

    • Edited by Tryhest Sunday, June 21, 2015 10:54 AM
    Sunday, June 21, 2015 10:50 AM
  • animation effects: WSJ184

    flashlike text effects: TGX564

    • Edited by Tryhest Sunday, June 21, 2015 9:11 PM
    Sunday, June 21, 2015 8:40 PM
  • resonnances graph: RLL644

    ported from X11 basic

    Monday, June 22, 2015 7:18 AM
  • RGH405 fractal triangles

    ported from X11 basic

    Monday, June 22, 2015 7:44 AM
  • Phantastic things are going on at your site. Almost scary when i look at the frequency of your great releases.

    3DColorPlot FQM878

    Unfortunately your programs use some extension methods that are'nt available for SB 1.1. (like ATan2, Sign etc.) Donno if LitDev considers to implement the one or other, so in the meantime (& with phun at CS) i listed the missing methods (hope i did'nt oversee some) you're using together with alternatives, as there are:

    Extension SB 1.0:                                    Alternative(s) SB 1.1:

    Data Ext:
    FilePlus.FileExists(path)                            LDFile.Exists(path)
    MathPlus.ATan2(x, y)                               SBExtra.ATan2(x, y, deg, circle)
    MathPlus.GetDegrees(rad)                       Math.GetDegrees(rad)
    MathPlus.Sign(number)                            SBExtra.Sgn(number)
    MathPlus.ToNumber(string)                      SBExtra.ToNumber(string)
    TextPlus.Append(txt1, txt2)                     Text.Append(txt1, txt2)
    TextPlus.ReplaceSubText(txt, from, to)     LDText.Replace(text, find, replace)
    TimerPlus.Interval = [ms]                         Timer.Interval = [ms]
    TimerPlus.Pause()                                    Timer.Pause()
    TimerPlus.Resume()                                  Timer.Resume()
    TimerPlus.Tick = eventSub                        Timer.Tick = eventSub

    ESL Ext:
    ESLMaths.e                                               LDMath.E
    ESLMaths.HexToInteger(hex)                   LDMath.Base2Decimal(hex, 16), SBExtra.HexToDec(hex)
    ESLMaths.Square(number)                       SBExtra.Sqr(number)
    ESLText.CRLF                                            Text.GetCharacter(13)+TextGetCharacter(10), SBExtra.CrLf
    ESLText.Remove(text, offset, length)       SBExtra.Remove(text, offset, length)

    Fremy Ext:
    FCDialogs.AskForTextLine(txt)                   SBExtra.InputBox(txt, title, value)
    FCExtensions.GetAllSubs()                         ??, s. LitDev's Call.cs
    FCExtensions.GetAllVariables()                  SBExtra.GetVariables(type)
    FCExtensions.MathEval(expr)                     LDMath.Evaluate(expr) / .Evaluate2(expr)
    FCKeyboard.Is*Pressed                             LDUtilities.KeyDown(keyName)
    FCKeyboard.IsAltPressed                           SBExtra.IsAltPressed, SBExtra.IsAltDown
    FCKeyboard.IsControlPressed                   SBExtra.IsControlPressed, SBExtra.IsControlDown
    FCKeyboard.IsShiftPressed                       SBExtra.IsShiftPressed, SBExtra.IsShiftDown

    SayPlus Ext:
    SPExtra.SendKeys(keys)                         a)  LDTextWindow.SendKey(SB GW/TW, key)
                                                                    b) ?? SBExtra.SendKeys(keys)

    The non available ones i pasted in a single class SBExtra (ID: XMJ425, which is to save as SBExtra.cs !!) if anyone wants it.

    PS: It compiles well and should work so far, except 'SendKeys' and 'GetAllSubs' for now (a short test for eg. ATan2 would be ID: NVQ661)

    Further i'm not sure which method(s) from 'Is**Pressed' <-> 'Is**Down' would fit better and also some doubts about 'SendKeys' as well. Same with 'FCExtensions.GetAllSubs' . Anything from LitDev's Call.cs should fit (mean 'methodInfo' under 'Func' ? but have'nt already begun). Mabe LitDev can bring some light into that dark?

    Edit: Changed ID for SBExtra.cs (had an @ too much and cleaned a bit also)

    Monday, June 22, 2015 10:40 PM
  • ty pappaL))

    FC.getallsubs was for debug only, u can use LDDebug instead or just ignore it

    Tuesday, June 23, 2015 6:55 AM
  • 3d cubes:TJM270

    • use mswheel to hide/show cubes
    • press ctrl+mswheel to access lower levels
    • click cude top to paint it red

    Tuesday, June 23, 2015 5:53 PM
  • @Pappa,

    You seem to have covered everything - in general in the past I have tried not to add extension methods that are present in other extension unless they have problems, make sense to work with other new LD methods, or I was just interested in using myself and working out how to do it.

    In many cases there are similar methods or other simple workarounds, so I wouldn't add methods to square 2 numbers or get CrLf - simple to do in standard SB with char 10,13 etc.

    So if there is anything that cannot be done in SB 1.1 without workarounds I will consider adding on request.

    Tuesday, June 23, 2015 6:05 PM
  • @LitDev,

    The CrLf i've only added just for fun, completeness and for the comfortable ones ('fits better') and more over that WRONG too! But never used it myself.

    But i would like to know, which variants of the Keyboard mod. keys you would choose: the 'Is..Pressed' (Forms Control.ModifierKeys) or the 'Is..Down' (Input Keyboard.Modifiers) ?  .. to remove the other one.

    I'm just interested how the SendKeys and GetAllSubs can be done from extension and'll try to figure out how to get it working by myself, where it's great to have your sources as a starting point. But would like to get back (new thread) and ask, when i'm stuck.

    Tuesday, June 23, 2015 9:49 PM
  • now a small update: TNK037

    and cool opts just by adding ALT key:

    alt+wheel retain the selected cubes, others are hidden

    now u can make cool 3D lego bricks:

    Wednesday, June 24, 2015 10:40 AM
  • and glasstower edition, less agressive colors: JFV779

    press CTRL+click on bricktop to make it glassy

    Wednesday, June 24, 2015 10:59 AM
  • @Pappa,

    Consider LDUtilities.KeyDown("Control") and LDTextWindow.SendKey(TextWindow.Title,"H")

    Timer.Interval = 100
    Timer.Tick = OnTick
    TextWindow.Read() 'Pauses until key entered so we have to SendKey in an event
    While 1=1
    Sub OnTick

    Wednesday, June 24, 2015 6:49 PM
  • 3d projections example: PCP346

     usage: mswheel+ctrl/alt/shift

    use F1..F4 to select different params to change by mswheel 

    Wednesday, June 24, 2015 7:56 PM
  • Polar globe: GWD123

    from http://x11-basic.sourceforge.net adapted for sb
    • Edited by Tryhest Wednesday, June 24, 2015 9:37 PM
    Wednesday, June 24, 2015 9:06 PM
  • very simple prog:

    GraphicsWindow.BackgroundColor ="Darkgreen
    clb=ldtext.Split ("Pink Yellow Lime Red Cyan"," ")
    for t0=0 to 25
      GraphicsWindow.PenColor ="Cyan
      If Math.Remainder (t0,2)=1 Then
        GraphicsWindow.BrushColor  =clb[math.Remainder (t0, 5)+1]
      FOR t=0 TO 2*math.PI STEP 0.01*m
        If ff=0 then
          GraphicsWindow.DrawLine  ( ox,oy,x+320,y+220)
          If m>1 then
            GraphicsWindow.FillEllipse (x+320,y+220,3,3)

    and nice output))

    from X11 basic source adapted
    • Edited by Tryhest Wednesday, June 24, 2015 9:37 PM
    Wednesday, June 24, 2015 9:35 PM
  • @Hi LitDev,

    OhOh indeed, here they are LDUtilities.KeyDown and LDTextWindow.SendKey. Totally forgot about them. But also forgot that the SBExtra.cs source can also easily be (virtually) built/compiled and called from LDInline.IncludeCS and LDInline.Call. Thereby i'm working on an LDInliner (IDE around LDInline). That tells me, thats it's time for holiday an timeout.

    The SPExtra.SendKeys allowed keystrokes to external apps and allowed keys like "{PRTSC}" for DTClipShot etc. That im trying to achieve with SendKeys, to send keys, chars etc to eg. notepad, calc, etc.

    But about the Ctrl/Alt/Shft modifierer keys properties, both variants (Forms Control.ModifierKeys  and  Input Keyboard.Modifiers) seem to work when i show their results on GW title and i'm unsure which of both would fit best as an extension for SB, to remove the other variant ??

    Wednesday, June 24, 2015 10:16 PM
  • now a classic of fractal drawing: fern

    ccc=ldtext.Split("LightGreen Green Darkgreen"," ")
    cc1=ldtext.Split("Gold Yellow Orange"," ")
    GraphicsWindow.Title ="Drawing...
    for n=1 to 50000
      r=Math.GetRandomNumber (10000)/10000
      if r<=0.01 then
      elseif r<=0.08 then
      elseif r<=0.15 then
      GraphicsWindow.SetPixel ( x1,y1,ccc[Math.Remainder (n,3)+1])
       GraphicsWindow.SetPixel ( 800-x1,y1,cc1[Math.Remainder (n,3)+1])
      'GraphicsWindow.Title =n
      GraphicsWindow.Title ="Done.

    its beauty relay in simplicity of coding and graphic representation. a true programming's evergreen))

    also adapted from x11 basic source
    • Edited by Tryhest Thursday, June 25, 2015 5:45 AM
    Thursday, June 25, 2015 5:44 AM
  • and now a combination of globe, fern and animation: JPN327 (look Nonki, nice ID))!)

    u can add points to get more precise fern image on first line ndtt=1500, depends on ur memory and patience to wait))
    • Edited by Tryhest Thursday, June 25, 2015 7:14 AM
    Thursday, June 25, 2015 7:12 AM
  • now rotation with mswheel adjust:QRF000

    also updated same to fern: JPN327-0

    • Edited by Tryhest Thursday, June 25, 2015 10:51 PM
    Thursday, June 25, 2015 10:34 PM
  • and now a combination of globe, fern and animation: JPN327 (look Nonki, nice ID))!)

    u can add points to get more precise fern image on first line ndtt=1500, depends on ur memory and patience to wait))
    Wow! JPN!

    Nonki Takahashi

    Friday, June 26, 2015 3:42 AM
  • now a spinnig globe of foils: XBP837

    also use mswheel to set viewangle

    Friday, June 26, 2015 6:27 AM
  • and now spinning earth w mouse popup menu: JBL221

    Saturday, June 27, 2015 8:41 PM
  • 3d spheroid draw: TVV777

    usage: mousewheel and ctrl, alt, shift and F1 key:

    • just wheel: selects dot angle
    • ctrl+wheel: viewangle
    • alt+wheel: radius from centre
    • shift+wheel: rotation around sphere
    • ctrl+shift+wheel: node add/remove
    • F1: draws lines from center

    • Edited by Tryhest Monday, June 29, 2015 3:43 PM
    Monday, June 29, 2015 3:38 PM
  • small update NLZ981

    • added also F2 key: draw polygons instead of lines
    • from rightclick menu can be selected polar view  N/S

    Monday, June 29, 2015 4:00 PM
  • sms message simulator: RWF024

    • 5 receivers
    • 1 msg center
    • type recv nr then msg in new line, messg. delivers after pressing F1 key
    • u can change recv rn, even clone it, it' s registered in msg center
    • F2 pools msg. center stack
    • special msgs: !info and !warn! : type msg in msg center then press F2 and every single
      receiver gets same msg: e.g. !info|welcome! or !warn!|Fire!
    • on unknown nr returns delivery warning
    • u can use any label instead of nr e.g. User1 or Tom'sCell

    • Edited by Tryhest Tuesday, June 30, 2015 6:34 AM
    Tuesday, June 30, 2015 6:30 AM
  • electron animation

    simple and effective))

    GraphicsWindow.BackgroundColor ="Darkblue
    FOR i=0 TO n-1
    While 1=1
      FOR i=0 TO n-1
        GraphicsWindow.BrushColor =LDColours.HSLtoRGB (i*10,0.8,0.7)  
        GraphicsWindow.FillEllipse ( 320+math.COS(phi[i])*100,200+math.SIN(phi[i])*100,9,9)
      Program.Delay (50)
      GraphicsWindow.Clear ()

    Tuesday, June 30, 2015 1:29 PM
  • spliner draw: BKP701

    • choose NewSpline from rightclick menu prior to first draw!
    • add nodes(20 max)
    • pick drawspline

    node editing:

    • press tab to select node
    • cilck to new point
    • pick drawspline

    source: (in C#) http://www.codeproject.com/Articles/25237/Bezier-Curves-Made-Simple

    • Edited by Tryhest Wednesday, July 1, 2015 8:34 AM
    Wednesday, July 1, 2015 8:34 AM
  • numerator BTV547

    • use mswheel to scroll nums
    • use ctrl+wheel to size num lines
    Thursday, July 2, 2015 2:33 PM
  • winds rose: SRG635

    Friday, July 3, 2015 1:34 AM
  • update: DNP795

    mousewheel selects winds direction from

    Friday, July 3, 2015 8:31 AM
  • typewriter emulator: ZBF621


    • the long key pressed emulates bolder char
    • overtyping chars
    • emulates keytyping
    • replaces letters 1 and 0 to l and o as in old typewriters
    • numkeys and Fkeys types as numbers


    • symbols
    • capslock
    • special chars
    • interline
    • paper feed

    • Edited by Tryhest Friday, July 3, 2015 1:42 PM
    Friday, July 3, 2015 1:39 PM
  • 3d spinning ribbon: WSX560

    use mswheel and ctrl/shift to adjust elevation or rightclick menu opts

    • Edited by Tryhest Monday, July 6, 2015 8:21 AM
    Monday, July 6, 2015 8:20 AM
  • recycler animation


    Monday, August 24, 2015 6:32 AM
  • Tryhest, you have some amazing simulations and designs in this thread. Amazing!

    Ed Price, Azure & Power BI Customer Program Manager (Blog, Small Basic, Wiki Ninjas, Wiki)

    Answer an interesting question? Create a wiki article about it!

    Tuesday, October 6, 2015 12:09 AM
  • ty ed))

    haloween demo: QCB523

    Thursday, October 29, 2015 2:13 PM
  • Ah, you're QWX! =^)

    Ed Price, Azure & Power BI Customer Program Manager (Blog, Small Basic, Wiki Ninjas, Wiki)

    Answer an interesting question? Create a wiki article about it!

    Sunday, November 1, 2015 4:53 AM
  • creating zodiac view form Nonki's wiki-star app

    about 1900 stars shown!
    • Edited by Tryhest Wednesday, January 13, 2016 3:42 PM
    Wednesday, January 13, 2016 3:41 PM
  • Now created DB file: KTG313
    Wednesday, January 13, 2016 8:13 PM
  • After creating stars database, use this viewer: RVM680

    select name from combobox to view constelation stars

    showing just 425 stars now:

    • Edited by Tryhest Wednesday, January 13, 2016 8:41 PM
    Wednesday, January 13, 2016 8:23 PM
  • same in spherical sky: VGC117

    • Edited by Tryhest Wednesday, January 13, 2016 11:34 PM
    Wednesday, January 13, 2016 11:33 PM
  • Spherical plot viewer: SHN280

    used file for this sample:NCM426    

    u can use any HP plot file to view

    in this sample is 3x repeated same file, u can modify in code if u want different view.

    best to use are letters without inside areas like B P R, bcs. they will be filled and not hollow if used.

    use mousewheel to rotate letters around Y axe
    • Edited by Tryhest Thursday, January 14, 2016 12:24 PM
    Thursday, January 14, 2016 12:23 PM
  • skyscraperscape:TFT327

    Friday, January 15, 2016 8:38 AM
  • started new ObjLogo app:ZCQ450

    in further post will be explained how to use it...

    Friday, March 4, 2016 8:03 AM
  • object logo 3d xtends standard turtle to 3d spherical space.

    instead of just drawing lines it creates shapes which can be treated as regular sb shapes

    turtle moves around a globe at defined elevation

    turtle can also move at an angle between elevation planes

    now some xplanation about objlogo syntax:


    -vars are just numerical named from 1 to n

    -vars are referenced by %n reference

    -all vars are of global scope only

    special vars include:

    loop var %ss

    program line var %pp

    sub and func references

    work with vars:

    vars are created by set cmd

    syntax: set <n> <val>

    <n> is number 0..maxint or a text reference. sugested is numeric name only bcs text names might be misused

    <val> is any value, numeric or text


    set 1 1 equals sb cmd var[1]=1

     set 2 text is like var[2]="text"

    set val 5 is like var["val']=5

    using vars:

    vars are used as like const replacers

    thus they cannot be modified in same line as in sb

    so u cannot write %1=%1+1 as it produces nonsense 1=1+1

    but u can use var modifing commands:

    add adds or substract value to var like a=a+1 or a=a-1

    mul multiplies var like a=a*2

    div divides var like a=a/2

    pwr powers var like a=a^3

    some standard sb math ops must be splitted into some lines to produce same result:




    is written in form:

    set a 5

    set b %a

    mul b 2

    add b 3

    div b 4

    unlike sb standard syntax u can use some exotic var syntaxes:

    set %a %b modifies var referenced in var a to var value ref. by var b 

    set %a%b %c%d combines varname by two wars a and b and sets a value combining c and d vars

    so if vars contain values 1 2 3 4 (a b c d) the result is like set 12 34

    u must be very carefully bcs such use can produce very strange errors!

    another difficulty is that Objlogo cannot distingush between vars begining with same char sequence

    so vars %1 and %11 are equal! same for %a and %ab!

    so for safe use is recomended referencing vars by single char only!

    it might not be very understanding typing set 1 2 but is more safe than typing

    set aa 2 andset a 3 bcs. referencing %a and %aa later will interfere, producing strange results!


     u can nest any number of loops inside any loop, but referencing requires use of additional vars inside loop, bcs. only current loop is referenced by %ss var, which indicates remaining iterations, and is decreased till zero value

    any loop must be contained into lp... elp commands


    lp 5

    m %ss


    is like sb syntax:

    for x=1 to 5

     turtle.move (x)


    • Edited by Tryhest Friday, March 4, 2016 6:45 PM
    Friday, March 4, 2016 5:46 PM
  • Hi Tryhest !

    I also began computing on an ZX-81 Sinclair, 4k of memory and did great jobs.

    Here is a program i found in: in a ZX-COMPUTING magazine, issue January 1984.

    It's a simple pattern generator.

    Saturday, March 5, 2016 4:37 PM
  • all cmds summary:

    sq nn        square side nn
    rc nn         rectangle side nn
    tr nn          triangle 60gr side nn
    hx nn         hexagone side nn
    pg ll nn lf    polygone of nn sides of lenght ll, limited by lf
                     (1-fullcircle, 0.5-halfcircle, 0.25 quarter, etc.)
    set vv ww   sets var vv to value ww, vars are used later by %vv    
    add vv ww  add ww to var vv
    mul vv ww  multiplies var vv by ww
    div vv ww   divides var vv by ww
    s 0     resets scalefactor to 1
    s ff     multiplies scalefactor by ff
    ss ff   divides scalefactor by ff

    lp nn   repeats loop nn times (var %ss indicates loop stepdown phasestate)
    elp      endloop

    cf xx;yy cl fills area at point xx,yy by color cl
        color can be selected in various modes: 
        automatic:  cl is ommited, thus is autoselected in rainbow mode
        named:  just type color name- red, blue, green ....
        hexadef: #oorrggbb opacity,red,green,blue in hexadec. notation 00-ff
        brightness: $hhhvv    hhh=hue 000-359  vvv=lightness 00-99

    an nn      turns turtle by nn deg.
    aa nn      sets turt.angle to nn deg. absolute, 0=north, 90=est etc.

    obon      starts objectmaking by turtle next moves
    oboff cl  creates object recorded of turtlemoves since last obon 
                  by color cl (see above for color selection)

    m dd           moves turtle 2d by dd distance
    m2 xx yy     moves turtle 2d to xx,yy
    m3 dd zz     moves turtle 3d by dd dist. at sine of angle zz

    bg cl     sets background to cl (only named and hexadef ways)
    wp cl     sets brushcolor to cl (only named and hexadef ways)
    pc cl ss  sets pensize to ss and pencolor to cl (only named and hexadef ways)

    wf nn ss bb ii  sets font(name size bold italic)
    wt  xx yy tx   writes text tx to xx,yy start location

    cls         clears screen
    pend      main program end, required before subs section
    de  nn    prog. delay nn milisec.
    go  nnn  goto label nnn, indicated by :nnn and must be unique
    call sss  cals sub sss, indicated by #sss
    ret        returns from sub (unlike sb u can have as many returns as u want from a single sub, thus is    like assembler code ret statement)

    pu    pen up, move only
    pd    pen down, start writting

    if cc vv1 vv2     cc can beone of next: is > >= < <= <>, in way vv1 cc vv2 (vv1 is vv2, vv1>vv2...)
    <then part>
    <else part>

    iif cc vv1 vv2  immediate if clause, same as if, but single lines only, no eif needed
    <then line>
    <else line>

    swch vv     case statement (multiple if)
    &cc v1   vv cc v1 (same as in if, see above)

    &cc v2


    #swch    end case

    • Edited by Tryhest Monday, March 7, 2016 5:39 AM
    Sunday, March 6, 2016 5:48 AM
  • i found a nice paint program made by Athasak

    managed to compress in order to be published by sb: XSW686


    • import and save above file (remember location!)
    • the file is in compressed sb language, so u must run following:


    • uncomment second line and reffer to ur saved file
    • run uncompressor
    • click to any line in textbox and press ctrl+a or select selectall from rightclick menu
    • press ctrl+c (copy)
    • stop execution
    • open a new sb file and press paste
    • then select format from rigtclick menu
    • now u can run and enjoy painter!

    • Edited by Tryhest Sunday, March 13, 2016 8:02 PM
    Sunday, March 13, 2016 4:31 AM
  • 3d image extrusion: MNS065
    Sunday, March 27, 2016 7:01 AM
  • Hi Tryhest

    first, congratulation ! for sharing all your programming knowledge !!

    wonderful examples, very informative.
    I am particularly interested to understand how works the turtle, your program no turtle no: SZL765
    except that in trying and SB returned me some errors at the level of the ELSEIF instruction at lines 495, 497,508, 513 and 515

    Here's a  screen capture :

    Sunday, March 27, 2016 2:50 PM
  • Also if you like old Spectrum and ZX-81 Computer Magazines ( free domain ) i found  here:


    Sunday, March 27, 2016 2:54 PM
  • Hi Tryhest !

    This was my first program: on a ZX-81

    Sinclair ZX-81
    The program will have the computer ask for the initial amount of principal saved by depositing in the account. Then the annual interest rate and the number of months to be displayed. The result of the run is a display of the changing principal as months pass and interest is added on.

    Program Listing

    10 LET I = 0
    20 PRINT "PRINCIPAL = $";
    30 INPUT P
    40 PRINT P
    60 INPUT R
    70 PRINT R
    90 INPUT M
    100 PRINT M
    110 FOR Q = l  TO  M
    120 LET  I= (P*(0.01*R))/12
    130 LET P = P+I
    140 PRINT Q ;" MONTH =  $ ";P
    150 NEXT Q
    160 PRINT
    170 IF INKEY$= "" THEN GOTO 170
    180 CLS
    190 GOTO 10

    Sunday, March 27, 2016 3:43 PM
  • errors come from SB internal protection, so u have to uncomment all lines after the ' The following line could be harmful ... statement 
    • Edited by Tryhest Monday, March 28, 2016 1:22 AM
    Sunday, March 27, 2016 4:53 PM
  • zx cube (strange) rotation:NBJ408

    and source file too

    note that zx draw cmd uses relative displacement from last position, while SB drawline uses absolute coordinates only!

    added scaling S factor, adjust to fit cube size

    • Edited by Tryhest Monday, March 28, 2016 1:27 AM
    Monday, March 28, 2016 1:25 AM
  • cube draw: PSC530

    introduced slin to simulate zx draw cmd

    also added mswheel and ctrl/alt/shift for resizing


    Monday, March 28, 2016 2:15 AM
  • now cube with halo effect in rotation: WJW859
    adjust halo by mousewheel
    • Edited by Tryhest Tuesday, March 29, 2016 6:42 AM
    Tuesday, March 29, 2016 6:39 AM
  • some 3d plots again: ZPG899 - bessel function

    uncomment desired fn in fna sub to obtain plot
    • Edited by Tryhest Monday, April 11, 2016 6:01 AM
    Monday, April 11, 2016 6:00 AM
  • Beizer lace: KWF798

    • Edited by Tryhest Friday, April 29, 2016 5:48 PM
    Friday, April 29, 2016 5:46 PM
  • and the most active users on SB forum are: ...

    • Edited by Tryhest Sunday, May 1, 2016 3:56 AM
    Sunday, May 1, 2016 3:17 AM
  • Hi Tryhest !

    great graphics tips i found in this page,  by the way i found this very interesting game, on page 101,

    of this old 1984 magazines:

    Computer and Video Games Magazine Issue 028 (Feb 1984)

    it's a game for the Spectrum

    Sunday, May 1, 2016 3:33 PM
  • tx yled ))

    i updated nonki's shapes app: JHS599

    major changes:

    • reduced no of lines by 1/3
    • standardized color selection
    • removed sb shapes making, just svg output
    • added z-order by rightmouse popup menu
    • added transparency by ctrl+mouewheel
    • added polygon draw (but cannot be saved for now)
    • more to come soon...

    • Edited by Tryhest Monday, May 9, 2016 8:09 PM
    Monday, May 9, 2016 4:00 AM
  • more updates: TBT192

    • standard menu comands
    • changed colors
    • added real clipboard support
    • changed vertical menu layout (coreldrw like)
    • Esc unselects shape
    • BS deletes last node while polygon draw
    • Enter finishes polydraw
    • bugfixes and more...

    • Edited by Tryhest Tuesday, May 10, 2016 3:33 AM
    Monday, May 9, 2016 8:07 PM
  • Hi Tryhest,

    here is my first animation program: TTZ421

    Rubik Cube floating in a cumulus sky !

    Tuesday, May 10, 2016 9:26 PM
  • nice yled))

    now try with baloons and birds floating

    Wednesday, May 11, 2016 1:50 PM
  • Good idea ! stay tune !
    Wednesday, May 11, 2016 4:03 PM
  • updated nonki's blockcode parser: MHH748


    • reduced prog. size (by 20%)
    • removed unnecessary lines: debugger, main while loop
    • added real web browser preview, ldcheckbox
    • removed unneccessary buttons and overlaping
    • all on one page preview


    • Edited by Tryhest Wednesday, May 11, 2016 6:12 PM
    Wednesday, May 11, 2016 6:08 PM
  • 2-phase frac. draw: ZHC136
    Wednesday, May 11, 2016 6:26 PM
  • strange creature: SZD396

    Thursday, May 12, 2016 1:55 AM
  • now faster draw and diff. shaping and coloring: VKF833

    Thursday, May 12, 2016 2:39 AM
  • prime tree: NBP905

    uses eslmath to check primality, much faster than for loop

    if u dont have it, use the prime check from SZD396

    • Edited by Tryhest Thursday, May 12, 2016 2:57 AM
    Thursday, May 12, 2016 2:56 AM
  • fractal skin: DJD813

    Thursday, May 12, 2016 3:28 AM
  • dragon: VDW132

    Thursday, May 12, 2016 3:52 AM
  • tyger's eye flashing: ZKM272
    Thursday, May 12, 2016 5:37 AM
  • tree w nightscape: NMB543
    Thursday, May 12, 2016 2:47 PM
  • pattern draw: WMS112
    Monday, May 23, 2016 6:14 AM
  • nonki's drawing w additional effects: JML897

    also in 3d edition: KXG922

    • Edited by Tryhest Wednesday, May 25, 2016 8:02 PM
    Wednesday, May 25, 2016 3:44 AM
  • Good job, Tryhest!

    Nonki Takahashi

    Friday, May 27, 2016 4:06 AM
  • tx nonki))

    further enhancements: LCR633

    like a legoland yet))
    • Edited by Tryhest Friday, May 27, 2016 6:40 PM
    Friday, May 27, 2016 6:39 PM
  • Wow!!!
    Friday, May 27, 2016 6:45 PM
  • Stumbled across an old offline website Lode's Computer Graphics Tutorial (that you might be interested at) with some nice stuff about Graphics. Remarks: Remember different versions of the saved versions.

    So. some sub sites are removed in later versions (i think, if remembering correctly) and that the mentioned QuickGC functions sometimes use different argument ranges (as we do) like eg. 0-255 for HSL or something like that. eg. the 'HSLvsHSV' sample as SB-ColorPicker would look like:

    PS: Maybe a Part2 of this thread would make sense, as it beginns to load slowly.

    EDIT: OhOh, in the meantime there's a new version (2016) of this Tutorial HERE

    and QuickCG

    Friday, May 27, 2016 7:50 PM
  • tx papa))

    some cool plasma balls 4 u)) LNW961

    Saturday, May 28, 2016 5:46 PM
  • Very beautiful :0
    Saturday, May 28, 2016 6:09 PM
  • and some bubbles too:CWD959
    Saturday, May 28, 2016 6:31 PM
  • now some deco border+flickr images like instagram pics: HFM884
    Saturday, May 28, 2016 8:00 PM
  • lines dance: FQW748
    Sunday, May 29, 2016 3:00 AM
  • @tryhest

    thanks for your Bubbles program: CWD959

    very appreciated ! :)

    Sunday, May 29, 2016 1:30 PM