GLBasic V12 (was formerly V11 beta)

Previous topic - Next topic


That could works. That one im used was adt-bundle-windows-x86-20130522 from the android sdk webpage as well the newset NDK.

Im updated the whole sdk without so much issue, except that android.bat file and a one change on the glb_build.bat to use that api you want to use (im have api-14 and api-16 in my sdk used).

When Dropbox is installed, im put the zipped android folder with updated SDK and NDK (where im do include android-sdk-windows for you to check), and will put a link into the bonus section (im thinks others is interessed and im wont want this public).

Im could even uses api-8 if im want.

Howover the next problem is still that templateproj folder, which im want to been a choiceable, or simply using a another env variable eventuelly.

PS. Bear in mind, you need to use the normal android.bat you use with sdk-8, because the official one from api-14 and api-16 diddent work. here just copy it as androidglbasic.bat and start that instead of android.bat (if its dosent exists, copy to that).
Genius.Greedy Mouse - Karma Miwa - Spot Race - CatchOut - PowerUp Elevation - The beagle Jam - Cave Heroes 2023 -


That might be an option - you give a list of Android NDK paths and the compiler could then give you an option to use which one you want


the updated NDK should been included with glbasic me thinks, not all files must been copied. Here its better and lots easier to do that with SDK, which is the main part.

You only need one SDK, and that SDK can include more than one api included (which is what im like), which can been pointed with the --target "android-8" argument (8 replaces of course).

PS. The newest NDK do only supports up to api-14, but you can still use a higher SDK api for the java part.
Genius.Greedy Mouse - Karma Miwa - Spot Race - CatchOut - PowerUp Elevation - The beagle Jam - Cave Heroes 2023 -


Would certainly save time :)


look in the bonus sections (those of you, that have over 100 posts). there is a android zip file with the upgraded sdk and ndk. OUYA support still need to been done, but that is in the templateproj and then does not require a redownload. That only for those which want to use a newer api sdk and help to Gernot. Im dont want to have this file public, so hence im used the bonus section.
Genius.Greedy Mouse - Karma Miwa - Spot Race - CatchOut - PowerUp Elevation - The beagle Jam - Cave Heroes 2023 -


while im creating my Android Game Controller support to glbasic (which is not supported here), im compiling for api-16 those days.

Howover im gonna think for multiply templateproj support (which im highely very recommended to do that), then templateproj could been called as templateproj-16 for SDK 4.1 and templateproj-8 for the current platform api glbasic uses (for compatible sake).

You also dont need multiply sdk, only platform apis you want to use (im have android-14, android-16 and android-17 right now) n the platforms folder in the sdk to compile to different platforms and only one line change to glb_build.bat is required.

when building for android, they could simply just show which api its use as a new platform or in a project option.
Genius.Greedy Mouse - Karma Miwa - Spot Race - CatchOut - PowerUp Elevation - The beagle Jam - Cave Heroes 2023 -


Do these joypads have vibration systems ?


im dont think OUYA have, but im have not looked on the API about vibration to usb devices, so that will been unsupported for now.
Genius.Greedy Mouse - Karma Miwa - Spot Race - CatchOut - PowerUp Elevation - The beagle Jam - Cave Heroes 2023 -


im have to write the SDK 4.0 upgrade did not breaks on Android 2.3 devices.

So no reason to stick with the old SDK 2.2 anymore, which is defuct today. So please update it to SDK 4.0 in next glbasic update. Howover this can also been done manually, which can been done from the bonus section. This also might fix some of damn off ADB issues.

My future Android project will made with SDK 4.0 and will no longer checks to compatible with SDK 2.2.
Genius.Greedy Mouse - Karma Miwa - Spot Race - CatchOut - PowerUp Elevation - The beagle Jam - Cave Heroes 2023 -


One thing that would be nice to have once V11 is released, is perhaps update the Showroom to allow HTML 5 submissions, taking care to make sure that only GLBasic programs are accepted.


My Raspberry Pi displays cyan color when I use my white font. If I do a drawrect with RGB() to set the color, I get dark blue text instead, no matter what color I use in the RGB. Is the raspberry pi code finished or is there still things to fix?

Code (glbasic) Select

LOADFONT "font.png", 1
GLOBAL count = 0
GLOBAL mx%, my%, b1%, b2%

WHILE KEY(1) = 0 AND b1 = 0
MOUSESTATE mx, my, b1, b2

DRAWRECT 250,270, 49,49, RGB(255,0,255)

PRINT "f00 ff0 0f0 0ff 00f f0f", 0, 320, 1
PRINT "Count "+count, 100,150, 0
PRINT "X", mx, my
INC count

PS: To run the bin files on raspbian you need to remove the ".bin" from the filename and make it executable by rightclicking and set the executable flags.


Sounds like a slight problem :)


It could well be 16-bit...


DRAWLINE shows it's correct colour but not DRAWRECT nor DRAWSPRITE. It's like red is missing so it could be that.

Kitty Hello

OK, another beta is online. I think this is quite stable now.
Here's the changelog:
Code (glbasic) Select

// 11.261-beta (which is 11.556, really (forgot to change that) )
//   -GLBasic V11+ defaults to: ALPHATESTING 1; ALPHAMODE -1;
//    Blending is faster than cookie cutting on mobile devices.
//    If, however, you do ALPHAMODE 0 now, you WILL SEE TRANSPARENT AREAS FILLED!
//    Always do ALPHAMODE -1 - OR - do ALPHATESTING 0.05 to get the old V10 behaviour.
// Editor:
//    Context menu offers "Google" option.
//    Option to disable splash screen implemented.
//    TYPEs are listed in jump-bar.
//    Context menu of tabs improved.
//    Click mouse wheel on a tab to close it.
//    Context menu: "tools/insert date" was added.
//    Incorrect highlighting of e.g. "read%" to "READ%" fixed.
//    Fixed Windows 7/8 Jumplist feature (only displays projects)
// Samples:
//    _projects_\native_gui added. A win32 and GTK wrapper based native GUI
//        with an dialog editor.
// New Command:
//-    FLOOR() and CEIL()(manual)
//    HEX$()
//    IIF(expression, on_true, on_false)
//    X_OBJADDVERTEX_NORMAL - call before X_OBJADDVERTEX to user define the normals.
//                            Set X_AUTONORMALS to 0 beforehand.
//    PLATFORMINFO$("DPI") returns the DPI (dots per inch) of the display (ca. values).
//                         fixed to work on Android.
// Compiler:
//    Uses string pooling for constant strings to gain more compact binaries.
//    ?ELSEIF implemented.
//    Output of GPCxxxx error numbers for searching in the forums.
//    Nested ?IFDEF did not work sometimes.
//    GBAL - libraries are working again. (Editor didn't pass them to compiler)
// Core:
//    *** New Defaults: ALPHAMODE -1; ALPHATESTING 1 ***
//    SAVESPRITE - png does not include palette information (smaller files)
//    ASR() always returns a positive number (treat input as unsigned int32)
//    If CREATESCREEN fails, GETSPRITESIZE will return 0,0.
//    LIMITFPS has optional vsync parameter (not all platforms supported).
//    Faster handling of constant strings.
//    ALLOWESCAPE didn't work on console apps (NETWEBEND always ended)
//    New data type: int64. Demo: LOCAL i64 AS int64; i64 = ...
//        FILESEEK and GETFILESIZE work with int64 now.
//    RETURN a=b // code was converted to "return a=b" instead of "a==b".
//    CREATESCREEN 1,1,..; MEM2SPRITE 1,... <- screen was no longer attached to sprite.
//    REDIM a%[0] did not internally set the count variable to 0. FOREACH failed then.
// Mac, Linux:
//    AUTOPAUSE FALSE was ignored.
// Win32, WinCE:
//    KILLFILE can also remove empty directories.
// Android:
//-    PLATFORMINFO$("DOCUMENTS") returns external SD card directory
//-    PLATFORMINFO$("APPDATA")   returns internal storage (same as before)
//       if you need the old documents, use PLATFORMINFO$("APPDATA")+"/.."
//    PLATFORMINFO$("LANG") now returns java.util.Locale.getDefault().getLanguage()
//       instead of getDisplayCountry()
//    Better compiler optimization flags for faster results.
//    Support for pause/resume.
//    Copying of initial Media directory indicated with idle animation.
//    Rotating the screen with manifest.xml:
//        <activity android:screenOrientation="sensor"
//                  android:configChanges="keyboard|keyboardHidden|orientation"
//        works now. GETSCREENSIZE and GETDESKTOPSIZE will be changed.
//    GETJOY*() return values in factors of G (again).
//    Z-buffer was not created.
// iPhone:
//    Retina of "new iPad" supported. If you pick 1024x768 or 768x1024 you get the
//        compatible iPad1/2 mode.
//    PLATFORMINFO$("ID") returns unique string w/o depending on hardware.
//        (uses file in PLATFORMINFO$("APPDATA")+"/glbasic.deviceid")
//    iphone.xcl file was ignored.
// 3D:
//    X_PRINT has optional kerning parameter.
//    X_PRINT faster on mobiles.
//    X_LOADOBJ "",n% didn't free the memory (for X_GENOBJ).
//    Shadows of animated X_DRAWANIM objects were not interpolated properly.
//    drawing to offscreen offset the results if screen and offscreen height differed.
//    X_DRAWAXES was buggy.