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 - spacefractal

Pages: [1] 2 3 ... 12
Off Topic / Glbasic to Nintendo Switch?
« on: 2022-Jul-15 »
Micheal Ware has just got approvede Nintendo Switch devkit portal access and im also getting a DevKit as well.

Im wonder if im can get Glbasic run on a Nintendo Switch? Could been cool. Long time im used glbasic (as my focus has and is still with Spectrum Next and other none computer stuff).

Hi im is back again and we have a strange issue we needs too at as im not sure what happens?

Currectly glbasic compiles, run, compile, run twice (and closing the previous app). Im have newer seen this bug before.

Off Topic / Where has im been
« on: 2021-Jul-05 »
as some of you might notice as im have not been on the forum in a while (dispite im did do checks here and there).

The reasons is im currectly have various Spectrum Next projects with Rusty Pixels those time, so im have not code that much or could help. Currectly we trying to do Baggers in Space - Detour finished in time (most is done) and a Tyvarian 2 game, named "Tyvarian - To the Victor the Spoils".

For more info about those two projects is on the Kickstart update here:

When im building windows 32 binary files from _build.bat. The _build.bat compiles its self fine, but im got a wast of about 50 errors when trying to compile from IDE.

Its look like you somehow have mixed 64 and 32 bit code?

Gernot, im have uploaded the source code to steam again, but im do have password protected that branch, this is due this issue and would make sure we both has been sync correctly. You can get the password from the SteamWorks as this is not hidden there, but for users.

Of course im wont share the password here and you are fell free to change it eventuelly.

Currectly im have no idea why this happens, but a app can crash out on a backbuffer flip after you have minimized the app.

Etc im tried do this:

Code: (glbasic) [Select]
void OpenGLRainbows::PrepareBackbuffer() {
#if defined(TINYGL) || defined(TRENKI3D)
                                                                                                                            if (m_Surface[0].m_Height) {
} else {
if (m_bHasClearColor) {
#ifdef TRENKI3D
if (m_bDirtyZBuffer) {
                                                                                                                            if (m_Surface[0].usex>0) {
if (m_bDirtyZBuffer) {
m_bDirtyZBuffer=false; glClear(GL_DEPTH_BUFFER_BIT);
} else if (m_bHasClearColor || m_bDirtyZBuffer) {
GLbitfield bits=0;
if (m_bHasClearColor)  { bits |= GL_COLOR_BUFFER_BIT; }
if (m_bDirtyZBuffer) { bits |= GL_DEPTH_BUFFER_BIT;  m_bDirtyZBuffer=false; }
    g_debug("PrepareBackbuffer start");
    if (m_BackSurfaceSpriteID[0] != -1) {
    } else if (m_bHasClearColor || m_bDirtyZBuffer) {
        GLbitfield bits = 0;
        if (m_bHasClearColor) { bits |= GL_COLOR_BUFFER_BIT; }
        if (m_bDirtyZBuffer) {
            bits |= GL_DEPTH_BUFFER_BIT;
            m_bDirtyZBuffer = false;

    g_debug("PrepareBackbuffer end");

but got a logcat like this:
Code: (glbasic) [Select]
I/glbasic: [GLB]->loop start() after SHOWSCREEN
    [GLB]->loop start()
I/glbasic: [GLB]->loop start() before SHOWSCREEN
    __g_paused: 0 0
    FlipScreens before
    PrepareBackbuffer start
I/glbasic: OnPause()
V/SDL: onPause()
V/SDL: nativePause()
V/SDL: surfaceDestroyed() start
I/SDL: surfaceDestroyed() end
A/libc: Fatal signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x4 in tid 21728 (SDLThread), pid 21683 (ractal.spotrace)
V/SDL: onWindowFocusChanged(): false

And now, removeing glClear(bits) diddent help a test, then its just crashout in a another place in the function.

GLBasic - en / Chromebook support coming soon
« on: 2020-Mar-24 »
Glbasic coming soon to Chromebook,

Even i is inquired after a crash, im did do work slowly today.

- Im just got keybaord with most keys remapped to pc scancodes (not all was possible, most of them)
- mouse and primary touchpad (one finger by now) include hover. Pointer is still there thought.
- You can even detect a chromebook from PLATFORMINFO$()
- Android Studio is of course required and is enabled by adding this to manifest.xml:
Code: (glbasic) [Select]
    <uses-feature android:name="android.hardware.type.pc" android:required="false" />
- howover resize window wont been supported and is chrashing out, but app just works fine in fullscreen.
- some keys is remapped to different pc style on a chromeos keybaord:
ESCAPE is F1 and Forward is F2 and Refresh is F3.
- Landscape is required as minimum supports! That one im have is required!
The reason is im did not want to conflict escape button to the back button.

No idea about release date, but im slow in the moment.


Enable Beta in the steam:
- Right Click on Glbasic in library.
- Click on Properties.
- Click on betas.
- Select "beta - beta builds".

Im still use beta for the version im do, even after a official release when Gernot release that as official (im only release beta versions). This so its possibe to eventuelly do a roolback when testing is required before a release.

First a bit of warning:
This is for the steam version of glbasic. Im cannot garentee its works on Glbasic 15 or below, so im only checked with code from Glbasic 16. Im do no longer uses external downloads.

Here is what that is fixed (listed here as official 16.507 release):
- The theme has been changed a bit, so its now launch in a pure black screen.
- Various new arguments added to androidmanifest.xml, strings.xml and some changes to other xml files (themes).
- Surface might not allways have whole screen! That could causes game not been placed in center correctly. This is fixed.
- navigationbar enabled by default! See next post about it.
- Admob has been more integrated! Admob is optional, not required!
- JOY() commands works much better in this version! Multiply gamepads is even supported!
- You can now use Tilt and Orientation using JOY() commands as well a Android TV remote.
- Assest loading should works much better since SETCURRENTDIR() now finally works correctly between c++ and java. That means c++ does no longer needs to try to guess the path anymore. This is include both relative as well full path using GETCURRENTDIR$()
- Keyboard, Touchpad (one finger) and Mouse (include right button) is now supported for ChromeBook!
- Keyboard can been mapped for pc style scankey layout for most keys. disabled by default. Set it in Strings.xml
- ChromeBook can been detected by PLATFORMINFO$("DEVICE") as well AndroidTV. "Keyboard" tag here is depreacted as im allways hated it and diddent make sense at all!
- Fullscreen is required on ChromeBook! So keep android:resizeableActivity="false" in manifest!

Property other small fixes as well!

Android 6 required!
Android 6 and better is required. Its look like its a grandle issue that cause its dont support png and jpg files in Android 5. Im cant do anything with it at all. So Dont ask me about it. But if you do NOT use png and jpg files at all, then you should been possible to support Android 5. Its depend of game of course.

Can im update Android Studio
Also you can SAFELY update your Android Studio, that include buildtools. But you should stays on the Grandle version we using, currectly version 3.4.1. So dont update the project its self when Android Studio is asking about it to your glbasic project!

Now im is fully back to get my stuff working again with Android Studio. Genius Greedy Mouse is all running again (but still yet to been submitted). Now im missing to do rest of the games im have did past on the day.

The games im have done in glbasic is those:

Genius Greedy Mouse
Karma Miwa
Spot Race
PowerUp Elevation
The Beagle Jam

Im plans to do all 6 games back to Google Play, all free and some games with ads (not all).

GLBasic - en / Cleaning up sticky threads
« on: 2020-Feb-12 »
Im have choosen to unsticky 4 old unrelevant Android threads, but added a new one that is for the v16.

Im wiill not touch the stores sticky theads, even some of them cant been supported anymore. The reason: Its fun to see what people have done back in time, so im see no reason to do it.

If im do, im would make sure to do similar with the old android stuff sticky thread, so they can easy to been found.

GLBasic - en / Old Android Sticky Stuff
« on: 2020-Feb-12 »
Im will unsticky various Android Stuff as they are very old or not required anymore after move to Android Studio. Im sticky this soon that collect those old threads and locking it:

AndroidExtras and iOS/tvOS updates + Download Links:

This is for glbasic 15 and below only and im will no longer support it at all.

LibPng security Fix - If Google Reject it:

This wont been happens in Android Studio of course. This was fixed long time ago.

How to use ADB:

This is not relevant anymore when using Android Studio. Its much easier here.

Android debug certificate has expired:

This is very old issue that should long time to fixed and is not relevant with Android Studio at all

the newest Android Studio 3.5.1 works very fine (but you might let it need to update the grandle, but should do it fine)! There is some more bugs with Android 5.0 throught (SDL Audio also might not work anymore, which can been disabled), but has not seen issues from Android 6. This can also just been a emulation issue. Not checked on a device.

Im have not Not heard any trouble with Android 6.0, but if its does, let me know of course.

To been clear:
Android 5 is very hard to get working in Android Studio and will currectly not to to get it working again as threre too many issues. So please do NOT ask me about Android 5.0 issues as im will skip it. If its should fixed, im/Gernot will let you know!

So API23 is required as minimum with Glbasic and Android Studio!


First at all: Sorry to all (include Gernot), if im have been aggreisve or frustated!

Even im finally uninstalled AS under by rage and frustation, im will try again after some days with a very fresh install. So dont worry.

But first at all im wlll NOT recommened to use Android Studio 3.5 as Google have choosen not to write how to update the grandle files as they would been totally broken and no longer work (why those hard coded version numbers, diddent make sense if they can breaks). But im do seen AS 3.4 does works nicely with the newest SDK, so you would still could release on Google Play at least. This is the  matter anyway.

Here is the place you can manually download Android Studio Version 3.4 (or version 3.4.1):

IM will NO LONGER support Android Version 5 and down:
Android Studio have broken it, that it and im fighted too long time on it, and Android 5 is now really old now. So im will no longer support it (only if Gernot can fix the file access issues). Im will require API 23 or higher (as im did do seen that version worked fine).

What about API 22 and down?
We could actuelly just include the current version we did for Android SDK really. Im do not sure its still allowered and how multiple apks works. No idea actuelly.

Why did im delete threads?
im should not do that, so sorry, was just by frustation (was my own throught). Im do have those issues in mind and will update in the weeked or next week. Dont worry. its was nowhere the jpg issue, which is not present on Android 6+ anyway as well the other issue was also not present too. Im do thinks im did send those to Gernot, so he might have implmeented and updated it. so im have still have the files.

GLBasic - en / Android Studio Progress......
« on: 2019-May-13 »
Instead writing in the message to gernot thread, im will write it here as a general trhead.

The progress to move glbasic to Android Studio is now more more became great, which will means im dont thinks its really is a long time to release it. Im thinks max a month and you would see a new platform. Today im have just got JavaCalls to works and im using SDK Api 29 (Android 9) with minimum Api 16 required (due the newer NDK require it).

Now its compiles and run fine, but with few issues and missing bits left.

Currectly the Gamecontrollers require some changes and hopefully im still can support gameInput API to cross support it, but SDL do have a nice progress about this area, so its should even been possible to route it to the official joy commands. Also im will support single player by using KEY() as well throught fore more simple games.

Also currectly Android TV and normal apps is supported, but im have not have Ouya and other microconsoles in mind at all. Its should been pretty easy to implement them again later eventuelly, but Android TV is a bit more important.

So im dont think we are far to get this platform working again.

gb.h: under // Extern Symbols

Code: (glbasic) [Select]

glb-full somewhere under namespace __GLBASIC__ {
Code: (glbasic) [Select]
int             __DG_DOBORDERLESSWINDOW=0;

gb_pc.cpp: under void   SETSCREEN(DGNat w, DGNat h, DGNat fs) {

Code: (glbasic) [Select]
// do you want a borderless window?
if (fs==2) { __DG_DOBORDERLESSWINDOW=1; fs=0; }
openglrainbows.cpp in the function bool OpenGLRainbows::DoWindowed()

replaec all code between    // -------- WIN32 -------- and  // update desktop

Code: (glbasic) [Select]
#elif defined(WIN32)
if (m_WND.fullscreen)
::ChangeDisplaySettings(NULL, 0);

::SetWindowLong(m_WND.hwnd, GWL_STYLE, WS_POPUP);
::SetWindowLong(m_WND.hwnd, GWL_EXSTYLE, 0);

if(0  ) // !::GetWindowPlacement(m_WND.hwnd, &wpl)) // Win98 will fail this here...
::OffsetRect(&wpl.rcNormalPosition, (::GetSystemMetrics(SM_CXSCREEN)-m_WND.width)/2, (::GetSystemMetrics(SM_CYSCREEN)-m_WND.width)/2);

RECT rcCenter, rcArea;
::GetWindowRect(m_WND.hwnd, &rcCenter);
HMONITOR hMonitor = MonitorFromRect(&rcCenter, MONITOR_DEFAULTTONEAREST);
MONITORINFO MonitorInfo = { sizeof MonitorInfo };
GetMonitorInfo(hMonitor, &MonitorInfo);
rcArea = MonitorInfo.rcWork;
::SystemParametersInfo(SPI_GETWORKAREA, 0, &rcArea, 0);

wpl.rcNormalPosition.right=m_WND.width                                   +::GetSystemMetrics(SM_CXBORDER)*6;
::OffsetRect(&wpl.rcNormalPosition, ((rcArea.right-rcArea.left)-m_WND.width)/2, ((;

::SetWindowPos(m_WND.hwnd, HWND_NOTOPMOST,
wpl.rcNormalPosition.right - wpl.rcNormalPosition.left,
::SetWindowPos(m_WND.hwnd,HWND_NOTOPMOST,wpl.rcNormalPosition.left,, m_WND.width, m_WND.height, 0);
::ShowWindow(m_WND.hwnd, SW_SHOWNORMAL);

Now you can set a borderless window by just SETSCREEN, X, Y, 2

Off Topic / Now that cool.....
« on: 2019-Feb-07 »

Yes, im guess Spectrum fans know who he is and....

This why im dedicated to delete a post from the Spectrum Next (of my own), due this pic. Spectrum Next keyboard issues is finally done and is soon mass produce.

Also that Baggers in Space on the picture is also finished as well and is yet to been released. The game became a 17 level game, a lots of screens to explore and pretty much use all memory on a none expanded Spectrum Next, and the whole game is in one load.

Pages: [1] 2 3 ... 12