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.

Show posts Menu

Topics - Crivens

It's back! Sort of...

Now I can (maybe) stop crying over the purchase of that TP and Pre2 before HP hopelessly lost their bottle and then crashed and burned.  >:D Not sure though if my Snake game will play that well with tipping a 50" TV around the room though... Hmm, could have invented a whole new expensive extreme sport right there...

Ok so I've got my GLB application setup and now I'm moving from Android to setting up on iOS.

This was no worries in the past as my Mac Mini was connected to my 2nd monitor on my desk. Now though, since I've moved countries, I have it as a media server on my lounge TV.

I've got around annoying the wife's TV by using VNC (UltraVNC) from my Windows laptop to a different user on the Mac. Works pretty well by keeping both OSX users seperate so she can watch TV on the Mac while I use the laptop with GLB and UltraVNC to then compile in XCode. Pretty sweet.

Only downside is I then have to get up, walk across the lounge, and use the iDevice plugged into the Mac. Not exactly the end of the world but a bit of a pain when you are compiling quite a lot. And a little annoying for the TV loving wife.

Anyway I was thinking of getting an extension cable to the Mac so I can keep the iDevice next to me. Not ideal as it's a wire going across the lounge floor, but acceptable. However I got thinking is there a way to basically access the USB from the remote machine (especially good for different parts of the house). Googling is difficult as it raises things like keeping VNC on a USB drive and the like. I can't find much on it at all. Essentially I want to plug my iDevice into the Windows PC and the Mac Mini will then detect it like I have plugged the iDevice into it. So when I go to compile in XCode it transfers the app to the iDevice that is actually plugged into my Windows PC.

So I was wondering if anyone has done this and can point me in the right direction.

So I've published a couple of things on the iOS store, but now I'm doing an app for a friends company. I've given them the apk for Android which works fine on their devices, but they also want to install it on an iPad to demo to clients.

The problem is they are in another country so I can't install it personally on their iPad. It isn't jailbroken either (I assume this is easy if it is JB).

So the question is how do I get it on their iPad without publishing to the store (they don't want that yet as this is an early version to demo to customers)? Can I somehow remotely activate their iPad to my developer account? And if so what do I then need to send to them and what do they have to do?

Any suggestions would be great thanks!

Bug Reports / S3 testing
I'm doing a mobile app that dynamically resizes everything depending on the screen size (9998x9999 in resolution settings for mobile devices). It's targetted at Galaxy S3 resolutions (720x1280) and everything is scaled up or down depending on the device resolution. I've tested it on the PC and a few different devices upto an iPad2 resolution of 768x1024 and a Galaxy S1 & S2 (480x800). No worries.

However I'm doing the app for a mate who works for a company in the UK (I'm in Cyprus) who has shown me it works fine on his S2. But his boss has an S3 and it does not work. Specifically it seems it cocks up the location of touch zones I have setup for it.

Replicating the 720x1280 S3 resolution is a bit difficult on my biggest 1600x1200 screen (note FreeSnap works pretty well for moving windows where you can't see the titlebar and Windows itself won't move it (even with a right click and selecting Move)), but I've noticed that using 720x1280 as a PC resolution everything is not right. Specifically everything is moved up a certain amount, losing the top section off the window. I tested with a standard print command to make sure it wasn't my resizing code, and text at (0,0) indeed doesn't show in the window at all (it does on a lower resolution)

Hmm, just did a screengrab (ALT+PRTSCR) and it's not the right size. On my 1600x1200 screen it is almost fitting perfectly to the whole screen for the interior of the window. ie. the actual window resolution is somewhere around 1200, not 1280.

Is it that GLB cannot compile a window size greater than the Window GLB is running on (incidentally I have 2 monitors with the 2nd one being a lot lower resolution that 1600x1200) and reduces the compiled window to the size of the monitor? If so, and you can bypass that restriction, then brilliant as apps like FreeSnap can move windows around regardless of their size (standard Windows move (right click snapshot image) isn't working on the GLB window in Win7)

I would imagine (waiting on confirmation from the company boss) that the S3 looks perfectly fine but my zone code is incorrect. But obviously this is impossible to test without an S3 or at least a way of testing the higher resolution on my PC.

With the newer iPads and Nexus10 having massive resolutions, higher than most people's monitors, then in the absense of actually owning all these devices then there should be a way to test much higher resolutions than your PC monitor can handle. An app like FreeSnap works ok (annoying but acceptable) if GLB could compile to a much larger resolution, but some kind of PC resize (eg. compile at 720x1280 but have an option for debug mode to show the window at a percentage size) would be ideal for accurate testing of different resolutions.

I am not using the GLB Beta yet (still on latest release version) if it helps.

Ok so KEY(58) can detect when CAPS LOCK is pressed, but is there a command for detecting what the current status of CAPS LOCK is?

What's happening dudes?

Bet you thought I was dead? Not so! I just moved back to Cyprus! It's taken months to sort out, get my stuff, and basically settle down. Annoyingly built up work and you know jumping in pools in the sun and stuff got in the way of any game development whatsoever (still is really for a bit).

Nevermind, the old itch is coming back (I'm not talking about that weird rash) so I'm gearing up again. Especially now I've finished sorting out my office (no commute for me anymore!) and have got an embaressment of monitors and laptops to work with. Ah, you know you are a geek when moving to a country with miles better weather is only slightly more exciting than loading your desk up with basically six screens or so :)

Anyway I thought I'd better do a "I'm not dead" thread. I always find them a bit annoying after 12 years or so on the DB forums, but a couple of people emailed me (probably thinking I was dead - one of which had been around for months without me knowing) asking how I was so I thought it was best to put something here.

So I'm not dead. I haven't run off somewhere else (technically, apart from amusing banter posts, I ran off here from the DB forums really). And I'm not now called Lucy the bearded woman and run a bar for broad minded people who like pies. Nope. Although if I wear a dress I can see how you would be mistaken.


PS. Ang on that subject made no real sense... :)
Ok so I get my update to Snake Revolutions through (took a bloody week again) and it's on the app store. Great. I also at the same time did a free version (released on WebOS in a day). Apple though have rejected it. Why you may ask? See here:-
Quote2.9: Apps that are "beta", "demo", "trial", or "test" versions will be rejected
Mar 9, 2012 10:45 AM. From Apple.

We found that your app appears to be a pre-release, test, or trial version with a very limited feature set. Apps that are in beta form, or that are for demonstration or trial purposes only, are not appropriate for the App Store and are not in compliance with the App Store Review Guidelines.

Specifically, your Application Description has reference to the app being a "trial" version.

It would be appropriate to complete, remove, or fully configure any partially implemented features.

Rather than providing a lite or trial version, you may wish to use In App Purchase to provide access to purchasing additional application features. Rather than requiring users to find, purchase, and download your other application from the App Store, In App Purchase provides a seamless, in app purchasing experience for your users, and an improved selling experience for you.
So I can't do a free version now? Because it has limited functionality? Isn't that the point?

So can't be bothered right now. So my original app had a quit button and a free (limited) version and got through fine. This one has failed because of both things now. Fuggit, don't think I can be bothered with a free version now...

Out of interest to keep things the same across platforms (much prefer that) then in the future with my free but in-app purchase idea of a game, sure we can do that with the new in-app purchasing APIs for iOS, but is there anything for the WebOS and Android platforms?

GLBasic - en / Pre3
Hmm. Just released my latest game (free version of Snake Revolutions) and it seems it maybe has a problem with the Pre3. The one review so far says "Doesn't open on my HP Pre3!". I thought it was practically identical to the Pre2? My app works fine on Pre2/TP so I assumed Pre3 would too considering I allow for different screen resolutions.

Or is there a different setting that might cause problems with the Pre3? Or perhaps a need to reboot sometimes first like on iOS?

Also really haven't the foggiest to go debugging it with no Pre3 hardware. Anyone got one they wouldn't mind testing with? Don't really want to strike Pre3 off the list with only one reported error. Or is there a way to run an emulator for Pre3 specifically? Never really used the emulator as I had most of the hardware...

Interestingly both the free and full versions (apart from an error with the full version putting min version of 3.0.0 so didn't appear from Pre2) were approved by HP within a day (submitted saturday night and was available monday morning). Was a week last time... Winding down lots methinks...

GLBasic - en / HTTP question
Ok using the HttpPost$ function from Gernot's networking for dummies I have got a simple shop working with a Google sites HTML page. But I want to use my own website instead which I used originally a simple text file to grab using NETWEBGET (rubbish though as it can't be cancelled or put in background).

Anyway my new HTML pages on my website don't work and give this error:-
Code (glbasic) Select

<div id="header"><h1>Server Error</h1></div>
<div id="content">
<div class="content-container"><fieldset>
  <h2>405 - HTTP verb used to access this page is not allowed.</h2>
  <h3>The page you are looking for cannot be displayed because an invalid method (HTTP verb) was used to attempt access.</h3>

Any ideas? I have to decide to renew the webhost today or not and if no way round I'll ditch them. Google sites is good (esp for free) but I read they limit bandwidth and I want to use ASP in the future.

GLBasic - en / ?ELSEIF
Ok so you can use ?IFDEF to define functions specifically for a device. Most of the time I use this for iOS plugins like the following:-
Code (glbasic) Select

IMPORT "C" const char* DeviceName()
IMPORT "C" void EnableAutoLock(int value)


FUNCTION DeviceName%:
FUNCTION EnableAutoLock%: value%


Ok that's fine. So if it's IPHONE it will do proper C calls, and otherwise it will do standard functions that return nothing (because the iOS functions don't relate to anything non-iOS).

But what happens if you have say code to do the same functionality for a different device? Ok you could use ?IFDEF again for each device, but the ?ELSE is gone out of the window surely (defined twice for the iPhone basically because is an ?ELSE on the other device)?

Ideally ?ELSEIF would be perfect (unless you handle all devices manually with ?IFDEF).

So let's say you had the code for the above function for IPHONE, WEBOS, and ANDROID (but NOTHING else), you would then have something like this:-
Code (glbasic) Select

IMPORT "C" const char* DeviceName()
IMPORT "C" void EnableAutoLock(int value)


Blah blah WEBOS specific code


Blah blah ANDROID specific code


FUNCTION DeviceName%:
FUNCTION EnableAutoLock%: value%


Good idea no? Unless I've missed something and someone can point me in the correct direction.

Ok so you make your own routines in separate files to plug into any project and by using local variables you can make sure that you don't step on the toes of the main project with the same variable names.

How do you though make a variable that is shared by all functions in a separate file, but not any other files (especially the main file of the project)? So it's essentially a global variable just for the functions in the non-main source file.

My current example is shop code in a separate file so I can plug it into project of mine without concern about shared variable names. The main function takes in setup colours from the main program. However these same colours are required by other functions in the seperate source file. I don't want to use global variables as mentioned above, but then it is a pain to pass these variables between all functions that use them.

Any ideas?

I just upgraded GLB to the latest version and now nothing I have in the clipboard will paste into the editor. There is something in the clipboard as it pastes everywhere else but not in GLB at all.

I've created a function that creates a word wrapped sprite based on screen resolution basically so a standard font can be used (resizing a font doesn't work 100% on my screen scaling code).

This works fine for PC and iOS but on WebOS it is having problems. If I use the function twice (two different sets of text) then neither sprite will show anything. Once and it works fine. If I pass in a screen number for createscreen and make the second use of the function a different createscreen number then it also works fine on WebOS. But why?

Here is the function:-
Code (glbasic) Select
FUNCTION printsprite:pstext$,psfont%
LOCAL sentence$[],word$,fontw%,fonth%
SETFONT psfont
GETFONTSIZE fontw,fonth
pstext$=pstext$+" "
WHILE pstext$<>""
WHILE LEN(word$,1)>targetx OR RIGHT$(word$,1)<>" "
DIMPUSH sentence$[],TRIM$(word$)
CREATESCREEN 9,pssprite,targetx,fonth*LEN(sentence$)
LOCAL itemno=0
FOREACH item$ IN sentence$[]
PRINT item$,(targetx/2)-(LEN(item$,1)/2),fonth*itemno,1
INC itemno
RETURN pssprite

Note that this is in a different file to the main code being called from a function. Also in another file to the main code I use a similar technique and that works with no problem in WebOS. This though works with the createsreen one after another with no function to make things easier. Here is the code from that function:-
Code (glbasic) Select
LOCAL shoptext%,shopchar$,shoptext2%,shopchar2$,shoptext3%,shopchar3$,shoptext4%,shopchar4$
IF info=0
shopchar$="Accessing Shop"
CREATESCREEN 9,shoptext,targetx,shopfonth
SETFONT shoptitlefont
PRINT shopchar$,0,0,1
shopchar2$="Please wait..."
CREATESCREEN 9,shoptext2,targetx,shopfonth
SETFONT shopfont
PRINT shopchar2$,0,0,1
shopchar3$="Accessing Web"
CREATESCREEN 9,shoptext3,targetx,shopfonth
SETFONT shoptitlefont
PRINT shopchar3$,0,0,1
shopchar4$="Processing Info"
CREATESCREEN 9,shoptext4,targetx,shopfonth
SETFONT shoptitlefont
PRINT shopchar4$,0,0,1
This works perfectly on WebOS with all sprites showing fine.

Considering this all works perfectly on iOS and PC with multiple resolutions it is annoying the hell out of me. Can you see if there is a problem with the WebOS implementation Gernot?

Recently I've started to use the Output window positioned to the right under the jumpbar to maximise the number of lines on the screen for a widescreen screen. However I've noticed that when I start GLB it puts the output window to the right of the jumpbar. ie. code on left, then jumpbar, then output window.

Ok, this is a weird one. If I make a new project with the single following line:-

Then it works fine. Windows opens it in the browser and my WebOS devices (Pre2/TP) open a browser which immediately opens the app store (TP fails as isn't for TP but Pre2 works fine), which is what I want, and what is expected.

However, when I put this exact same line as the first line of my game (3000+ commands) it quits the program as expected but then nothing else happens... ie. no browser, no app store, nothing. It's like you quit the program. I found this out after quite a bit of time moving the line around (thought it was not working in different functions or files initially). However being the first line of the program I thought it wouldn't matter...

So what the hell eh? Gernot, any ideas? Note it definitely used to work on my old game (Free version of Rotaslider) but now even that has the same problem. I can't remember when I last compiled that so I don't know if it's a new GLB problem or a WebOS one.

Gernot, what have you done with the IDE???? I cannot now use the down arrow key!!!!! All other arrow keys work fine.

Ach. Was just about to settle down to a good afternoon of GLB too! Is there a way to backout a GLB upgrade? Otherwise will have to switch to the laptop which is a touch annoying...

Fast upgrade soon maybe? :)

Ok so my main game routine uses 3D with nothing fancy.

Once I get to the high scores section I do a bit of coding that involves using createscreen/usescreen.

This all works perfectly on every device I have (iPod2/iPod4/3GS/Pre2/PC and probably Android if it wasn't totally out of battery) except the Touchpad.

The TP runs the game with no problems, but when it gets to the createscreen section it turns the screen landscape. The game normally runs in portrait and I have no orientation code whatsoever.

Interestingly if I comment out the createscreen/usescreen lines (no other lines whatsoever) then it will stay in portrait and not enter landscape view. I just double checked and it's when it uses USESCREEN for the created screen. If I use createscreen but never use usescreen then it stays in portrait.

Also interestingly I note that even though my app is in portrait (again I don't ever set the orientation in code, only with project options with 9998x9999) when I quit it, at any point (including the main game that works in portrait) then the whole of the TP is in landscape mode for a second. Bit naff, plus it it's lying down on the table then it stays in landscape mode. Can it not remember to reset the orientation on a TP when it quits? Possibly will do it myself but it's a bit weird considering the app thought it was in portrait anyway.

Not sure how old this one is, but I have a simple circle png with one colour and just transparent colour around it (ie. no outline colour). All works fine with DRAWSPRITE. Oh and I forgot to mention I'm basically using the sprite like a simple paint package (using clearscreen -1 as it's faster than usescreen it seems on an ios device).

However if I use ROTOZOOMSPRITE then it puts an edge around it. It doesn't matter what I do with ALPHAMODE (which can cause a lesser edge with DRAWSPRITE if set to -1 but none at all with 0) ROTOZOOMSPRITE comes out with an edge.

I've included an example with DRAWSPRITE and another with ROTOZOOMSPRITE. Both with ALPHAMODE set to 0. Note that ROTOZOOMSPRITE was not rotated or scaled at all (0,1).


[attachment deleted by admin]
I have a routine which uses clearscreen -1. It works fine on a PC, iOS devices, and importantly a Pre2.

However on a Touchpad I am having problems with it. It is showing part of the screen many times over. When a sprite is drawn it is like shown in many different places like looking through the eyes of a fly.

I can't be certain if I tried the routine (it is pretty new) and it worked correctly before GLB 10.179, but it definitely is having problems now. Note the rest of my game doesn't use clearscreen -1 and all works fine like every other device, it's only when it goes into the new routine (and uses clearscreen -1) that it has the problem with the screen.

Does anyone know how to go about embedding an online YouTube video into an app? Importantly this would have to work on different devices such as iOS/Android/WebOS. So you select an option in your app and it shows the video which you can abandon and it goes back to your app.

Essentially I would really like to avoid including a video as part of the app, keeping app size to the minimum, and leaving the storage to YouTube.

I've tried using NETWEBEND as an alternative to embedded video. Fair enough it will do even though the app will be exitted, but that would be ok I guess. On iOS it works fine, launching the YouTube app and playing the video (using the embedded link causes it to open in Safari which is not so nice), but on WebOS it freezes the whole phone for about 30 seconds (nothing works not even turning the phone off, and I thought I would have to eject the battery) but then launches the YouTube app (like iOS) and all is fine. Although weirdly the app is still running in a card by it's side. I thought NETWEBEND kills the app off? Not sure what Android does, I may give it a go later this weekend.