Author Topic: Curlicue Fractal  (Read 10128 times)

0 Members and 1 Guest are viewing this topic.

Mike Lobanovsky

  • Guest
Re: Curlicue Fractal
« Reply #15 on: October 31, 2015, 06:36:18 PM »
Thanks for the input, John. I'd like to first see under the debugger which module exactly throws that seg fault exception before I go look for the sources to work with.

But still, how do I use scriba from the later and smaller b2 zip? Is it there to simply overwrite the older SB22_beta's scriba.exe with?

[EDIT] No, I don't see any gfx modules in the beta distro except IUP. So, am I still supposed to compile SDL 1.2 stuff from the repo with MinGW/GCC myself? (I don't intend to produce an impression of being picky but such activity would seem entirely unnatural to an average Windows user under similar circumstances... you know, as they say when in Rome...)
« Last Edit: October 31, 2015, 06:57:58 PM by Mike Lobanovsky »

JRS

  • Guest
Re: Curlicue Fractal
« Reply #16 on: October 31, 2015, 07:26:25 PM »
Sorry for the grief when you are being so kind to help.

HERE is the Script BASIC Debugger Windows install.

Attached is the Script BASIC updated extension modules and include files.

.

Mike Lobanovsky

  • Guest
Re: Curlicue Fractal
« Reply #17 on: October 31, 2015, 07:31:18 PM »
You are very kind, John, thanks! :)

JRS

  • Guest
Re: Curlicue Fractal
« Reply #18 on: October 31, 2015, 09:09:52 PM »
Mike,

Attached are the SDL 1.2 and SDL_gfx library DLLs I forgot to put in the last zip.

Code: Script BASIC
  1. ' ScriptBasic GFX - Fern
  2.  
  3. IMPORT gfx.inc
  4.  
  5. s = gfx::Window(640,500,"ScriptBasic GFX Fern")
  6. RANDOMIZE(gfx::Time())
  7.  
  8. SPLITA STRING(3,"0") BY "" TO xy
  9.  
  10. Sub Fern
  11. r = RND() % 100
  12. IF r <= 10 THEN
  13.    a = 0
  14.    b = 0
  15.    c = 0
  16.    d = 0.16
  17.    e = 0
  18.    f = 0
  19. ELSE IF r > 1 AND r <=86 THEN
  20.    a = 0.85
  21.    b = 0.04
  22.    c = -.04
  23.    d = 0.85
  24.    e = 0
  25.    f = 1.60
  26. ELSE IF r > 86 AND r <=93 THEN
  27.    a = 0.2
  28.    b = -.26
  29.    c = 0.23
  30.    d = 0.22
  31.    e = 0
  32.    f = 0.16
  33. ELSE
  34.    a = -.15
  35.    b = 0.28
  36.    c = 0.26
  37.    d = 0.24
  38.    e = 0
  39.    f = 0.44
  40. END IF
  41.  
  42. newx = ((a * xy[1]) + (b * xy[2]) + e)
  43. newy = ((c * xy[1]) + (d * xy[2]) + f)
  44. xy[1] = newx
  45. xy[2] = newy
  46.  
  47. gfx::pixelRGBA s, INT(xy[1]*40+275), INT(xy[2]*40+50), 0, 210, 55, 255
  48.  
  49. END SUB
  50.  
  51. ts = gfx::Time()
  52. FOR w=1 TO 100000
  53.     Fern
  54. NEXT
  55. te = gfx::Time()
  56. gfx::stringColor s, 20, 15, "Time: " & FORMAT("%.4f",(te-ts)/1000) & " Seconds." & CHR(0), 0xffffffff
  57. gfx::Update
  58. WHILE gfx::KeyName(1) <> "+escape"
  59. WEND
  60. gfx::Close
  61.  

.
« Last Edit: October 31, 2015, 09:25:18 PM by John »

Aurel

  • Guest
Re: Curlicue Fractal
« Reply #19 on: November 01, 2015, 02:08:50 AM »
Quote
Hehe Aurel, you raised much ado about that curlicue fractal of yours on BASIC forums, didn't you?

heh...yes...of course  ;D

Mike Lobanovsky

  • Guest
Re: Curlicue Fractal
« Reply #20 on: November 01, 2015, 05:19:10 AM »
John,

Thank you for this very important addition. It's great to have all the modules collected in one place; having to hunt for them on the net would've made me uneasy. :)

JRS

  • Guest
Re: Curlicue Fractal
« Reply #21 on: November 01, 2015, 11:33:23 AM »
I'm putting together a Windows 32 bit install of everything done to date. You unzip it in C:\ and it creates a C:\scriptbasic directory with everything included. You will need to run the setup.sb script once to register OCX controls, set paths, ... and it will be ready to run. All the needed dependency libraries are included and part of the search path.

If testing of of this works on all the Windows platforms, I'll move on to a Ino setup install for the real setup.exe.


@Mike - Do you have any interest in maybe using Dave VB/COM/OLE stuff with FBSL?

« Last Edit: November 01, 2015, 12:28:32 PM by John »

Mike Lobanovsky

  • Guest
Re: Curlicue Fractal
« Reply #22 on: November 01, 2015, 02:10:09 PM »
John,

If you can, please make it possible to unzip it on any logical disk in the system, not only in C:\, and don't hardcode the disk in Inno either.

Many people usually have at least one (or more) much larger logical partition(s) and install additional physical disks to keep data on. I, for one, have them all the way down to M:\ :) Such people get nervous being forced to install anything extra in C:\ which is a system disk where the ever growing \WINDOWS resides and where there's always too little space no matter how large the disk. :)

Whenever you're making a Windows install, I think it will be reasonable too to include the SB<->VB/COM/OLE stuff in it as a standard. VB6 still is and will continue to be very popular under Windows for as long MS Windows is available at all.

(No, not really but thanks anyway. I think FBSL already has its own COM layer and can communicate with VB/VBA by itself. Perhaps it might need some extra polishing but it certainly won't be me to engage in that activity. There's so much interesting stuff around, and one's life is only so short... :) )
« Last Edit: November 01, 2015, 02:17:32 PM by Mike Lobanovsky »

JRS

  • Guest
Re: Curlicue Fractal
« Reply #23 on: November 01, 2015, 03:57:42 PM »
Quote
If you can, please make it possible to unzip it on any logical disk in the system, not only in C:\, and don't hardcode the disk in Inno either.

I'll try to make the beta zip work from where ever you unzip it. Shouldn't be too hard.


Mike Lobanovsky

  • Guest
Re: Curlicue Fractal
« Reply #24 on: November 01, 2015, 04:27:03 PM »
Not sure if you're aware of that... Many Windows' zip utilities can also create self-extracting exes that would automatically extract their content into the directory where you've launched them. Many zip-capable archivers including Windows 7-z can also read those exes like usual files and would allow you to extract the content from them manually just like you would having a "static" non-executable archive.