GLBasic 64-bit

spacefractal · 53640

Offline spacefractal

  • RBP Team Member
  • Blue Gene Super Computer
  • *****
    • Posts: 4138
Reply #90 on: May 13, 2015, 10:28:30 pm
its look like its hope now. Im dedicated im need to get the UiViewController to work, which seens does the orienation job nicely as im previous wrote.

Im tested some code, which seen all inputs goes fine to the UiViewController, but just do not want to work in UiView responder chain.

So much code in the UiView window hopefully can been moved to the UiViewController. If its can been possible (im tired now), then this most annoying issue would been fixed and the orintation would pretty much pair with glbasic Android (which works excellent in all 4 orientations).

Howover rotation on iPad 1 might not work anymore. But here.... Im dont care. Its a least still useable and playable, which is more important really.

This is the plan now. Im dedicated im cannot programmatic doing UiView orientation directly. Its will newer work.
« Last Edit: May 13, 2015, 10:31:02 pm by spacefractal »

The Musician for the RetroBytes Portal Projects.


Offline spacefractal

  • RBP Team Member
  • Blue Gene Super Computer
  • *****
    • Posts: 4138
Reply #91 on: May 14, 2015, 09:43:48 am
great news. Im manged to uses the mouse code in UIViewController as well in UiView.

Im moved the iPhoneGetMouseData() to the main controller, so its could access both UiView and UiViewController and return either one to glbasic (the touchbegin code is used in both controllers, so its pick one of them up).

Correctly im do need to drop auto rotation support for iOS 5, but hopefully auto rotation do works correctly in iOS 6 and iOS 7 (which im cant test those versions). But its do a least works nicely on iOS 8 now at least.

now its very close to the Android counterpart which uses auto system rotation.
« Last Edit: May 14, 2015, 12:00:04 pm by spacefractal »

The Musician for the RetroBytes Portal Projects.


Offline spacefractal

  • RBP Team Member
  • Blue Gene Super Computer
  • *****
    • Posts: 4138
Reply #92 on: May 16, 2015, 08:55:16 pm
im got a report the issue is still not fully fixed in iOS7, but 100& fixed in iOS8. Howovere here its was mouse code that got rotated, which its should not do that. Im thinks im got it fixed, and also fixed iOS5 auto rotation too (just with no smooth rotation). Nice.

So im thinks glbasic begin to been excellent to iOS and Android, which have been main focus to fix various bugs and is now quite very stabile. So im property countinue to use it for my next game, im still not started with.

The Musician for the RetroBytes Portal Projects.


Offline spacefractal

  • RBP Team Member
  • Blue Gene Super Computer
  • *****
    • Posts: 4138
Reply #93 on: September 19, 2015, 11:49:46 am
Now im stuck again with a very strange error when trying to port it to osTV, but can compile when using simulator, and allways worked for iOS.

in this function:
Code: [Select]
OSStatus glbOpenFile(const char *inFilePath, AudioFileID &outAFID)
{
        
        CFURLRef theURL = CFURLCreateFromFileSystemRepresentation(kCFAllocatorDefault, (UInt8*)inFilePath, strlen(inFilePath), false);
        if (theURL == NULL)
                return kSoundEngineErrFileNotFound;

int kAudioFileReadPermission = 0x01;
OSStatus result = AudioFileOpenURL(theURL, kAudioFileReadPermission, 0, &outAFID);
CFRelease(theURL);
                AssertNoError("Error opening file", end);
        end:
                return result;
}

The compile stuck with a red warning on AudioFileOpenURL and say its cannot convert int to AudioFilePermissions for 2nd argument.

The Musician for the RetroBytes Portal Projects.


Offline headkaze

  • Administrator
  • Blue Gene Super Computer
  • **********
    • Posts: 7838
Reply #94 on: September 19, 2015, 11:59:51 am
Can you cast it?

Code: [Select]
OSStatus result = AudioFileOpenURL(theURL, (AudioFilePermissions)kAudioFileReadPermission, 0, &outAFID);
The enum is defined as
Code: [Select]
enum {
   kAudioFileReadPermission      = 0x01,
   kAudioFileWritePermission     = 0x02,
   kAudioFileReadWritePermission = 0x03
};



Offline spacefractal

  • RBP Team Member
  • Blue Gene Super Computer
  • *****
    • Posts: 4138
Reply #95 on: September 19, 2015, 12:15:16 pm
all missing was to just add the missing header (AudioFile.h), and then using kAudioFileReadPermission directly, without creating it manually. Im wonder why its have not output that error before, and only on that platform.

Im have still not compiled for my Apple TV Dev Kit, but im thinks its pretty close now.

Currectly im compilng the libs.

Im will put on impressions in the Team forum, because its under NDA.
« Last Edit: September 19, 2015, 12:19:28 pm by spacefractal »

The Musician for the RetroBytes Portal Projects.


Offline spacefractal

  • RBP Team Member
  • Blue Gene Super Computer
  • *****
    • Posts: 4138
Reply #96 on: September 19, 2015, 08:38:22 pm
Finally im got its nearly working after various strange issues, and some issues im are not sure why its happens. Howover its now crash on startup in this error:

Code: [Select]
2015-09-19 12:44:59.145 greedymouse[218:28603] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', r
eason: 'Could not find a storyboard named 'Main' in bundle NSBundle </var/mobile/Containers/Bundle/Application/911FBB3D-4965-47EE-A5DF-93A7CF81DA6B/greedymouse.app> (loaded)'

*** First throw call stack:
(0x185bc0f50 0x196993f80 0x18b6a7264 0x18b23b8b8 0x18b008b24 0x18b23a7c8 0x18b237a60 0x18eba37ec 0x18eba3b6c 0x185b78598
0x185b7802c 0x185b75d2c 0x185aa4dd0 0x18b001d28 0x18affcc58 0x10012ddc0 0x10012f4ac 0x1971d6974)
libc++abi.dylib: terminating with uncaught exception of type NSException
(lldb)

What is a storyboard and how to check the name of it?

its happens when calling UIApplicationMain in main:
Code: [Select]
int GLB_iPhone_call_main(int argc, char *argv[])
{
    gpArgv=argv;
    gArgc=argc;
    NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
    int retVal = UIApplicationMain(argc, argv, nil, @"AppController");
    [pool release];
    return retVal;
}
« Last Edit: September 19, 2015, 08:43:42 pm by spacefractal »

The Musician for the RetroBytes Portal Projects.


Offline headkaze

  • Administrator
  • Blue Gene Super Computer
  • **********
    • Posts: 7838
Reply #97 on: September 19, 2015, 09:13:31 pm
In your info.plist remove the "Main storyboard file base name" entry.



Offline spacefractal

  • RBP Team Member
  • Blue Gene Super Computer
  • *****
    • Posts: 4138
Reply #98 on: September 20, 2015, 03:55:20 pm
im just have time to check it now. Now im got it finally running :-D.

The info.plist was removed from the xcode project, but its was reading it anyway.

 Howover the game is uncontrollable in that status, but its of course a different issue. But its display the game and graphics is correctly and seen its a 1080p 60fps as excepted (just like on Google Nexus Player). Now im can start for the fun part.

The Musician for the RetroBytes Portal Projects.


Offline spacefractal

  • RBP Team Member
  • Blue Gene Super Computer
  • *****
    • Posts: 4138
Reply #99 on: September 27, 2015, 04:18:57 pm
The fist game is now finished ported over to Apple TV. I'm do just need to fix few glbasic commands, such as MOUSESTATE and SETMOUSE for TVOS.

I'm have setup two xcode projects for iPhone target for glbasic, so I'm could compile once for both platforms. I'm just missing few thing.

PS. Jungool does not support extended gamepad correctly. Sometimes you can only navigate up/down with dpad and right/left with stick. I'm do believe Jungool nicely can been played with the remote as well. You can detect the A button behind trackball depend where your finger is....
« Last Edit: September 27, 2015, 04:19:44 pm by spacefractal »

The Musician for the RetroBytes Portal Projects.


Offline spacefractal

  • RBP Team Member
  • Blue Gene Super Computer
  • *****
    • Posts: 4138
Reply #100 on: October 01, 2015, 03:52:09 pm
Genius Greedy Mouse is finished ported to TVOS, and also Karma Miwa is now fully playable (also ran 1080p/60fps).

Im do need fixing few issues (iCloud and menu button). For Karma Miwa, the game is best playing with the remote in the vertical mode (the system detect that automatic when enabled).

For both games, the Top Shef image do need fixing as well.

The Musician for the RetroBytes Portal Projects.


Offline spacefractal

  • RBP Team Member
  • Blue Gene Super Computer
  • *****
    • Posts: 4138
Reply #101 on: January 20, 2016, 06:46:46 am
Recently im have ran into a Unhandled memory crash with a "checksum for freed object - object was probably modified after being freed" in xCode and crash various points (sometimes its does works). Im not sure what kind error its is, but im guess its sometimes how strings is released that is the issue?

The source code is not mine, but got the project for testing (and the game is pretty much just started). Is sometimg you can look on? Etc Im can pm you the xCode project.

The Musician for the RetroBytes Portal Projects.


Offline spacefractal

  • RBP Team Member
  • Blue Gene Super Computer
  • *****
    • Posts: 4138
Reply #102 on: January 27, 2016, 08:22:07 pm
Can I'm got get a help on this issue? I'm have pm the xcode project. I'm are currently skiing, so not hurry, but thinks it's a one of the last glbasic issue.

The Musician for the RetroBytes Portal Projects.


Offline headkaze

  • Administrator
  • Blue Gene Super Computer
  • **********
    • Posts: 7838
Reply #103 on: January 28, 2016, 04:48:51 am
Please take a look here

Quote
To find the source of the problem, in Xcode go to Product > Scheme > Edit Scheme, and under Diagnostics tab enable all the Malloc settings and Guard Malloc.

With that, run your application again, and Xcode will stop at the line causing the problem.
« Last Edit: January 31, 2016, 12:32:08 am by headkaze »



Offline Sokurah

  • RBP Member
  • Cray-1 Super Computer
  • *****
    • Posts: 724
    • Tardis Remakes
Reply #104 on: January 30, 2016, 01:51:04 pm
I'm are currently skiing...

When are you coming home again?



Offline spacefractal

  • RBP Team Member
  • Blue Gene Super Computer
  • *****
    • Posts: 4138
Reply #105 on: January 31, 2016, 07:14:49 am
just home yesterday, so im have not being much activatity. Im got a "skate" crash falling "behind", so its can been hard to sit in longer period. Howover im did completed all days skiing, and its was fun.

The internet connection there was quite bad and diddent work when im was in my room.
« Last Edit: January 31, 2016, 07:16:06 am by spacefractal »

The Musician for the RetroBytes Portal Projects.


Offline spacefractal

  • RBP Team Member
  • Blue Gene Super Computer
  • *****
    • Posts: 4138
Reply #106 on: November 16, 2016, 10:43:23 am
YES, long time ago. But its now seens im do need a little help again, which came to a new issue, regaards to multi taskning not working correctly (im using and update the app by using xCode 8.1).

First at all the app did crash in Swapbuffers() in EagleView controller, but im did do fixed that (so its dosent draw the framebuffer when its in pause mode).

But when im resume the app, then the Framebuffer is empty and its does no longer draw any content.
« Last Edit: November 16, 2016, 10:44:52 am by spacefractal »

The Musician for the RetroBytes Portal Projects.


Offline spacefractal

  • RBP Team Member
  • Blue Gene Super Computer
  • *****
    • Posts: 4138
Reply #107 on: November 16, 2016, 01:26:12 pm
Also both Jungool and WinSol require a 64bit update:
http://www.macrumors.com/2016/10/06/ios-10-1-32-bit-app-alert/

both games got the warning and that is actuelly not great.

Im would like to see a 60fps camera update for Jungool (while rest can still been a 30fps game, its for more responitive controls etc).

The Musician for the RetroBytes Portal Projects.


Offline headkaze

  • Administrator
  • Blue Gene Super Computer
  • **********
    • Posts: 7838
Reply #108 on: November 16, 2016, 02:08:59 pm
You're more than welcome to take a look at my EAGLView C++ source.

Let me know if it helps.

We will be doing an update of Jungool and WinSol sometime.



Offline spacefractal

  • RBP Team Member
  • Blue Gene Super Computer
  • *****
    • Posts: 4138
Reply #109 on: November 16, 2016, 02:27:15 pm
Thanks. Im take a look. Apple like and want to remove 32bit only apps. Im now see the perforcements popup for both games. By know, just update with a 64bit version without any other changes.

The Musician for the RetroBytes Portal Projects.


Offline headkaze

  • Administrator
  • Blue Gene Super Computer
  • **********
    • Posts: 7838
Reply #110 on: November 16, 2016, 03:56:24 pm
I'm quite sure that both Jungool and WinSol on the App Store are compiled for 64-bit processors.



Offline spacefractal

  • RBP Team Member
  • Blue Gene Super Computer
  • *****
    • Posts: 4138
Reply #111 on: November 16, 2016, 07:59:50 pm
No, it's not. Not the AppStore version. iOS 5.1.1 is required to get combined 32/64 support. Both apps have iOS 4.3 as minimum.

Im got the warnings seen in the link (but both games does works fine and playable, im do missing the smooth rotation in Jungool).
 
Today iOS8 is required as minimum.

« Last Edit: November 16, 2016, 08:17:39 pm by spacefractal »

The Musician for the RetroBytes Portal Projects.


Offline spacefractal

  • RBP Team Member
  • Blue Gene Super Computer
  • *****
    • Posts: 4138
Reply #112 on: November 19, 2016, 07:55:25 am
im gonna to hate it. IM tried last year as well with no luck. Im can STILL not get the annoying backbuffer to work when resume.

Now when im resume, the resolution is suddently 0x0, and im have no idea why backingwidth and backingheight fails. Howover im do still can use it, since im often just close the game when pausing (its save the game progress anyway and is fast to load it anyway). So no hurry at all.

EDIT:
Look like its a bug in HIBERNATE command....

« Last Edit: November 19, 2016, 11:07:23 am by spacefractal »

The Musician for the RetroBytes Portal Projects.


Offline spacefractal

  • RBP Team Member
  • Blue Gene Super Computer
  • *****
    • Posts: 4138
Reply #113 on: November 19, 2016, 12:10:45 pm
im got fixed the HIBERNATE command, so its what there while in idle, and first resume when app opened again. That seens works now.

Im can now actuelly create the framebuffer in correct size after resume, but its does still not show anything (while the touch controller seens working).

Also im have removed old iOS stuff, since we are required iOS8 now.

The Musician for the RetroBytes Portal Projects.


Offline headkaze

  • Administrator
  • Blue Gene Super Computer
  • **********
    • Posts: 7838
Reply #114 on: November 21, 2016, 12:28:04 pm
Good to hear you got it fixed SF.

One of the many reasons I've moved to Unity. I'm sick and tired of Apple breaking my engine code every iOS update. There was a time when writing an optimised C++ engine to support slow machines like the iPhone 3G made sense but certainly not anymore. I never want to deal with Apple's constantly breaking and deprecating API's again.



Offline spacefractal

  • RBP Team Member
  • Blue Gene Super Computer
  • *****
    • Posts: 4138
Reply #115 on: November 21, 2016, 01:04:58 pm
Glbasic is a language, just like Unity. You can still get compatible issues etc. Im have even seen that happens with very big games, when iOSS8.4 came out.

Here the last issue im have is the annoying FrameBuffer issue, which still not want to shown after the resume. After that, im can release it to AppStore. Resolution is now correct, but no graphics is shown (but touch controller works).

HIBERNATE command was a different issue, but its was in the same area, a issues that goes much longer back (its might have broken again since the last update im got, since me and Gernot might not have sync 100% correctly). The app does no longer crash out and the command works now as intended.

Also Android can been stranger as well, but actuelly there have not been that much different, actuelly not since Android 2.3. There was few depreacted lines, but nothing special and all in the sld activity issues. The Inapp Shop system was that one that took much time, which got changed and required updates few times. But its did not break the game its self. Due game controller support etc, im chooice glbasic required Android 4.0 and up.

Yes today, we have much faster and better devices now to days.
« Last Edit: November 21, 2016, 02:30:07 pm by spacefractal »

The Musician for the RetroBytes Portal Projects.


Offline spacefractal

  • RBP Team Member
  • Blue Gene Super Computer
  • *****
    • Posts: 4138
Reply #116 on: November 21, 2016, 02:25:50 pm
Also both WinSol and Jungool still works fine on IOS10, even with the 64bit binary warning (you do only seen that once). So me thinks its only required to update to use xcode 8.1 (im asume you just forget to include 64bit to the AppStore version). So im dont thinks its all bad this time? Im not even sure engine need changes this time. The last update was from 2014.

Also the FrameBuffer issue is not a new iOS10 issue. Its goes quite much longer back. Property iOS8 or even more back.

PS. Im see Apple have changed GameCenter, which do no longer have its icon, but its not breaks both games.
« Last Edit: November 21, 2016, 04:44:17 pm by spacefractal »

The Musician for the RetroBytes Portal Projects.


Offline spacefractal

  • RBP Team Member
  • Blue Gene Super Computer
  • *****
    • Posts: 4138
Reply #117 on: November 22, 2016, 04:18:50 pm
FrameBuffer still borks, but today im do fixed a portrait issue (so glbasic no longer start in landscape mode, if portrait/upside down is set). Its was just a one line fix.

The Musician for the RetroBytes Portal Projects.


Offline spacefractal

  • RBP Team Member
  • Blue Gene Super Computer
  • *****
    • Posts: 4138
Reply #118 on: March 03, 2017, 08:30:55 pm
look like im finally fixed this issue. The issue was not really a framebuffer issue as im throught, but the command HIBERNATE did not resume correctly as its should and did not called GLB_RESUME sub at all. No im thinks im got fixed pretty much all issue except one.

Rotation from Landscape to Portrait and other way is still borked. But its a lesser issue. So im chose so, im either can let it play in landscape only, but could also chose to let it start in any orientation, but its will only turn 180 degree eventuelly from that orientation.

Im did also fixed touch issues in the way for iPhone Plus phones. That means im finally soon will update my games (Greedy Mouse is most important, due many new language supports).


For Jungool & WinSol:
Dont forget to reuploade to AppStore to get native 64bit support before iOS11 is released. As both games is 32bit only app, they will been completely incompatible with iOS11 devices. Me thinks, still, might only require a reupload. Im dont thinks none of them really require new features, other than a 64bit compatible update.

Both games do still works and 100% playable on iOS10, despite the slowdown warning, due 32bit only.
« Last Edit: March 03, 2017, 08:38:37 pm by spacefractal »

The Musician for the RetroBytes Portal Projects.


Offline flash

  • Administrator
  • Blue Gene Super Computer
  • **********
    • Posts: 13180
Reply #119 on: March 03, 2017, 09:54:32 pm
and that GameCentre is now broken of course.

Coding for the love of it!