Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Topics - Kitty Hello

Pages: [1] 2 3 ... 37
Media Section / STEAM - Asset Creator
« on: 2019-Feb-01 »
The attached GLBasic project creates all assets required for your STEAM page.
You just replace the files "banner.png", "logo.png" and "font.png" with your stuff and in the source change the app$.
It will proportionally scale the banner background, add the logo at the left side and scale the app name to the right side for the capsule graphics.
That's handy, ain't it!?

Announcements / Bluetooth / Serial RS232
« on: 2018-Dec-12 »
OK. after another sleepless night, I can print to the bluetooth printer on windows. (V16 will feature this).

I kept it quite abstract, so you can talk to any bluetooth device and it should be fully cross platform.
Also, you can use the COM interfaces to talk to RS232 devices with this library. I use parts of the LGPL library from

Folks, I'm so amazed about my new gadget. A thermal printer (see attached image).

I've got GLBasic code running, that can send a sprite image to that printer via bluetooth on your Android device. (You can use the BT library to talk to any bluetooth device, btw.)

For the competition you get a few functions in a library and this test project:
Code: GLBasic [Select]
        LOADSPRITE "Media/test.png", 101

        LOCAL printer_pixels_width% = 384 // must be editable by user. Default = 384
        DitherSprite(101, printer_pixels_width) // id%, cut_width%

        // Show the dithered image - you can save or use that for debugging/preview
        DRAWSPRITE 101,0,32

        // List all paired BT devices - user must pick one from the list
        LOCAL devs$[]

        // connect to one of the string in devs$[]
        BT_connect("BlueTooth Printer")

        // do print the image pixels
        // close connection
        // some more paper and cut (if device lets you do this)


You will also get a function to pick a picture from camera or from the gallery.

That's all you need. Now join the competition and write a software for that printer with the given functions. A demo project is attached. It might not compile for Android, but the function names wil stay as they are. I did tests and all is working great. Ready? Set? GO!

Do samething amazing. Something creative. Something funny. Something that makes one want to get such a printer.

The 1st prize is such a printer. Shiny new device, sparkling on your table, purring in your pocket.
2nd to 3rd price: Printer paper

Competition ends at March, 1st 2019.

PS.Spread the word - I'm not very connected in social media anymore  :good:

Announcements / Wumbo's Adventure for Android
« on: 2018-May-21 »

Should be free for a frew days. I'd welcome you to put a positive feedback on the play store :)

Bug Reports / Android crash
« on: 2018-May-18 »
This time it's me :(

I have one app that runs perfectly, and one that does not even start:

05-18 16:35:16.670 12570 12570 E AndroidRuntime: FATAL EXCEPTION: main
05-18 16:35:16.670 12570 12570 E AndroidRuntime: Process: com.glbasic.bobbleheads, PID: 12570
05-18 16:35:16.670 12570 12570 E AndroidRuntime: java.lang.UnsatisfiedLinkError: dlopen failed: library "" not found
05-18 16:35:16.670 12570 12570 E AndroidRuntime:        at java.lang.Runtime.loadLibrary0(
05-18 16:35:16.670 12570 12570 E AndroidRuntime:        at java.lang.System.loadLibrary(
05-18 16:35:16.670 12570 12570 E AndroidRuntime:        at<clinit>(
05-18 16:35:16.670 12570 12570 E AndroidRuntime:        at java.lang.Class.newInstance(Native Method)
05-18 16:35:16.670 12570 12570 E AndroidRuntime:        at
05-18 16:35:16.670 12570 12570 E AndroidRuntime:        at
05-18 16:35:16.670 12570 12570 E AndroidRuntime:        at
05-18 16:35:16.670 12570 12570 E AndroidRuntime:        at
05-18 16:35:16.670 12570 12570 E AndroidRuntime:        at$H.handleMessage(
05-18 16:35:16.670 12570 12570 E AndroidRuntime:        at android.os.Handler.dispatchMessage(
05-18 16:35:16.670 12570 12570 E AndroidRuntime:        at android.os.Looper.loop(
05-18 16:35:16.670 12570 12570 E AndroidRuntime:        at
05-18 16:35:16.670 12570 12570 E AndroidRuntime:        at java.lang.reflect.Method.invoke(Native Method)
05-18 16:35:16.670 12570 12570 E AndroidRuntime:        at$
05-18 16:35:16.670 12570 12570 E AndroidRuntime:        at

What could that be?

Edit: removing -lcutils in platforminfo.txt fixed the problem. But... why did it work in the first project?

FAQ / Forum Access Password
« on: 2018-May-05 »
** EN
Since 2018-05-05, new users are only allowed to join and post at the forums, after a purchase. You will get the access code in the email with your registration code.
Background: 1) I have to pay for the servers and 2) the spam flood was immense.

** DE
Seit 2018-05-05 ist es neuen Benutzern nur gestattet sich im Forum anzumleden und zu schreiben, nach einem Kauf. Den Zugangscode (Forum Access Code) erhält man dann in der Registrierungs-E-Mail.
Begründung: 1) Ich muss für den Server bezahlen und 2) die Spam-Flut war immens.

2D-snippets / TTF - True Type Fonts
« on: 2018-Mar-24 »
The attached library can load converted TTF fonts and render them in real time. This gives the option to dynamically scale fonts and use colours.
I've not done any performance tests on mobile devices, yet.

I also attached a tiny command line program that generates the font from your installed ttf files in windows.
Just run:
TTF-create.exe arial
and it will create an arial.glbvf file (GLBasic Vector Font).
Characters 33 to 255 are supported. The font must be available as C:\Windows\Fonts\****.ttf

Announcements / GLBasic v15
« on: 2017-Aug-04 »

I'm presenting you v15 - codename "Unicorn" (because unicorns sell!).

After some nights of coding and I present you a new version of the SDK. Mainly the debugging was improved, but also KEYWAIT and other issues were fixed.
I wanted to implemet serializtion for types, but it was a bit too much work for now.

Usually, I wanted to have an upgrade fee for this version, since the web-server costs are currently not covered by the GLBasic sells. But I gave up this idea, because it would be too complicted to implement. Maybe some day later.
But if anyone likes the new debugger and wants to donate some upgrade fees, I'm going to say "thank you"  <3.

You can find a link for the donate button on:

Announcements / GLBasic old SDK versions
« on: 2017-Aug-04 »
Current is always at:


Edit by Space Fractal
my Mirror to the Archive v12 + v14, includning newest Android Extras and iOS10 projects:

Let me know for older versions of glbasic, im happy to host them as archive. This is my way to donate bandwidth for Gernot. Im later upload v15 as well.

With Hemlos' lib you can interpolate spline curves, if you know the control points.
I continued this and will generate the control points for a polygonal line, so the curve touches all your input points in order.

See the example - just click points with your mouse, the spline will be generated interactively.

It's very useful to generate racing tracks or curves for cars that follow a route.

Off Topic / Forum spams my email inbox
« on: 2017-May-20 »
I get dozents of mails like below now. Is there anything I can do?

The mail system

<>: host[]
    said: 550-5.1.1 The email account that you tried to reach does not exist.
    Please try 550-5.1.1 double-checking the recipient's email address for
    typos or 550-5.1.1 unnecessary spaces. Learn more at 550 5.1.1 z133si25218144wmb.39 - gsmtp
    (in reply to RCPT TO command)

Off Topic / Christmas about to terminated
« on: 2016-Dec-24 »
Have you seen Santa Connor?

Announcements / New website
« on: 2016-Nov-19 »
I updated the website to a more modern html5/css3 layout. Eas the best I could come up with :(
I hope it also works for mobile now.

Code Snippets / IRC chat protocol / ChatBot
« on: 2016-Oct-30 »
Here is a basic framework for an IRC chat bot. I hope to use this for a clinet/server application one day.... Just have to deal with "flood posting" errors.

Code: GLBasic [Select]
// --------------------------------- //
// Project: IRC
// Start: Sunday, October 30, 2016
// IDE Version: 14.401

// SETCURRENTDIR("Media") // go to media files

IRC_connect("", "Chatbot", "glbasic")

IRC_send("I'm a bot ask me something")

//      LOCAL msg$ = STDIN$()
        LOCAL what$, sender$, text$
        IF IRC_recv(what$, sender$, text$)
                STDOUT "From: "+sender$+": what:" + what$+" text:"+text$+"\n"
        IF what$="NOTICE"
                IRC_send(sender$ + ", ask me anything but " +text$)


GLOBAL gIRC_sock%=-1
GLOBAL gIRC_channel$
GLOBAL gIRC_server$
FUNCTION IRC_connect%: server$, nick$, channel$

        gIRC_sock% = SOCK_TCPCONNECT(server$, 6667)
        IF gIRC_sock%=-1
                STDOUT "Error - connect\n"
                STDOUT NETGETLASTERROR$()+"\n"

        LOCAL what$, sender$, text$
        gIRC_nick$ = nick$
        gIRC_channel$ = channel$
        gIRC_server$ = server$

//      SOCK_TCPSEND(gIRC_sock%, "PASS *\r\n")
        SOCK_TCPSEND(gIRC_sock%, "NICK " + nick$+"\r\n")
        IRC_recv(what$, sender$, text$)
        SLEEP 2000
        IRC_recv(what$, sender$, text$)
        SOCK_TCPSEND(gIRC_sock%, "USER " + nick$+" 8 * :"+nick$+" v1.0 (\r\n")
        IRC_recv(what$, sender$, text$)

        STDOUT "**** JOIN *****\n"
        IRC_recv(what$, sender$, text$)

//      SOCK_TCPSEND(gIRC_sock%, "QUIT\r\n")

//      SOCK_TCPSEND(gIRC_sock%, "PRIVMSG NickServ register password\r\n")

        SOCK_TCPSEND(gIRC_sock%, "JOIN #"+channel$+"\r\n")

        STDOUT "**** reading *****\n"


FUNCTION IRC_send%: text$

        SOCK_TCPSEND(gIRC_sock%, "PRIVMSG #"+gIRC_channel$+" :"+text$+"\r\n")


FUNCTION IRC_parse%: BYREF msg$, BYREF what$, BYREF sender$, BYREF text$
        LOCAL cmd$ = LEFT$(msg$, 4)
        IF cmd$ = "PING"
                STDOUT "pong:"+MID$(msg$, 5)+"\n"
                SOCK_TCPSEND(gIRC_sock%, "PONG "+MID$(msg$, 5) + "\r\n")

// message
// :KungPhoo! PRIVMSG #glbasic :test

// private message
// :KungPhoo! NOTICE Chatbot :xxx

// KunhPhoo joined
// :KungPhoo! JOIN #glbasic

// KungPhoo left
// :KungPhoo! PART #glbasic

// Chatbot quit
// :Chatbot! QUIT :Ping timeout: 268 seconds

// KungPhoo kicked Chatbot
// :KungPhoo5! KICK #MinionsDomain Chatbot :KungPhoo5

// Excess flooding:
// ERROR :Closing Link: Chatbot by (Excess Flood)

        IF LEN(msg$)
                LOCAL tok$[]
                SPLITSTR(msg$, tok$[], " ")
                IF LEN(tok$[]) > 2
                        LOCAL who$[]
                        SPLITSTR(tok$[0], who$[], ":!")
                        IF LEN(who$[]) THEN sender$ = who$[0]
                        LOCAL pos% = INSTR(msg$, ":", 1) + 1
                        // Message
                        IF tok$[1] = "PRIVMSG"
                                what$ = "MSG"
                                text$ = MID$(msg$, pos)
                                RETURN TRUE

                        // whisper
                        IF tok$[1] = "NOTICE"
                                what$ = "NOTICE"
                                text$ = MID$(msg$, pos)
                                IF sender$ = gIRC_server$
                                        STDOUT "Msg from server: "+msg$+"\n"
                                        RETURN FALSE // skip them
                                RETURN TRUE
                        IF tok$[1] = "JOIN"
                                what$ = "JOIN"
                                text$ = MID$(msg$, pos)
                                RETURN TRUE
                        IF tok$[1] = "KICK" AND LEN(tok$[])>3 AND tok$[3]=gIRC_nick$
                                STDOUT "*** got kicked ***\n"
                                sender$ = gIRC_nick$

                        IF tok$[1] = "PART" OR tok$[1] = "QUIT"
                                what$ = "QUIT"
                                IF sender$ = gIRC_nick$
                                        STDOUT "*** RECONNECT ***\n"
                                        SOCK_TCPSEND(gIRC_sock%, "JOIN #"+gIRC_channel$+"\r\n")
                                RETURN TRUE


FUNCTION IRC_recv%: BYREF what$, BYREF sender$, BYREF text$


        IF gIRC_sock% =-1 THEN RETURN FALSE
        STATIC msg$
        SOCK_RECV(gIRC_sock%, msg$, 8*1024)

        LOCAL rv% = FALSE
        LOCAL tok$[]
        SPLITSTR(msg$, tok$[], "\r\n")
        FOREACH t$ IN tok$[]
                IF IRC_parse(t$, what$, sender$, text$)
                        STDOUT t$+"\n"
        RETURN rv%


Off Topic / MSPaint 3D
« on: 2016-Oct-27 »
You read right. MSPaint gets an update so you can make 3D objects.
Please post some news here when you have a preview version. Especially the file format is interesting.

Pages: [1] 2 3 ... 37