Testing Wanted For A New Gp2x F200 Game


Ah! Just when I arrive to tell you all about the last version, a new one's out. Here I go, downloading this one...

Okay, the game and level selection screen are both fully functional, and everything is as it should be. However, the options screen cannot be operated with the stylus: only the buttons do anything there.

Still, it's great to see this game finally working. ;)
 
For the most part, it works pretty well, but there are still some areas that need some work. <_<

On this release, the touchscreen at the the Options screen is broken. It doesn't work except on the Clear Records' Confirmation dialog. A weird thing will happen after trying the Clear Records; the next touch I make will either force the program to select and go to the Puzzle Editor screen or would make the touchscreen work in the Options screen until I leave the screen.

The Confirmation dialogs in the Puzzle Editor are also broken, but the Load/Save Puzzle dialog does work. I noticed that most of the time, the puzzles I create can't be tested at all, as the puzzle won't be rendered on-screen except for the white walls; the touchscreen also gets broken until I exit the testing or switch to a working puzzle. Same goes when testing puzzles that have nothing in it.

I found a really weird bug while In-game. It seems the touchscreen stops working on Puzzle #27, but works fine on all the other available puzzles. It doesn't work except on the Confirmation dialogs. It does make the red box disappear when I press anywhere, but is broken for the rest. Same goes when playing puzzles that have nothing in it and sometimes on puzzles that I created and saved. I believe this bug is related to the one in the Puzzle Editor as they behave in the same way. :(

It seems that the program exits/crashes when I go below Puzzle #0 or exceed Puzzle #999. :eek:

It also seems that the Puzzle +/- bug is now almost gone. I still do encounter it in some scenerios, but I'm not (yet) sure what the conditions were. :p
 
Hmmm... Some really odd bugs there.

I have a theory and GLBasic is to blame if I'm right; Local variables - they're the only thing that I can think of where one day something works and another it doesn't. The values aren't staying local and appear to be going Global. Hmmm....

Thanks Manjuu :)


[EDIT] New update available http://www.iprice.remakes.org/stuff/blox_gp2x.rar (NO MEDIA - 1.1Mb)
 
It broke more than it fixed... :(

Touchscreen for the Language Select screen & Puzzle Select screen are now broken. The Test mode in the Puzzle Editor is still exhibiting the same problem, but now the background is also broken; the GLBasic Splash image is being displayed instead while in the Test mode. :(

You did fix the crashing when going below Puzzle #0 or over #999. ;)

The rest seems to be the same as mentioned before. Although I didn't thoroughly test it this time around. :p
 
Bugger. :(

I added the splashscreen as a temporary background in the puzzle editor, so that I could tell I was in test mode (I'll put it back to what it was). I stopped levels going <0 and >999. Not sure exactly why it crashed as it tests if a file exists, if it doesn't then they aren't loaded. But it's fixed, and that's all I care about.

I discovered why it won't show pads/sliders when run twice and fixed that - I thought. Seemed to work here on my F100.

Updated - http://www.iprice.remakes.org/stuff/blox_gp2x.rar

I've hopefully put back the "fixes". :S
 
I finally figured it out!!! The culprit is the white wall. :lol:

The touchscreen in the puzzles will only work (both in In-game & Test mode) if there is at least one wall in them. :eek:

I tested the older one (v1.041) again for this wall bug. In the Test mode, if there is no wall, it would cause the touchscreen to not work; when there is at least one wall, the touchscreen would then work, but nothing would be rendered on-screen except the walls. In In-game, if there is no wall, then the touchscreen won't work.

For this current build (and maybe also the previous one), the Test mode now renders the puzzle correctly, and the touchscreen would also work if there is a wall, but if there isn't one, then the touchscreen won't work. The same applies to the In-game, as long as there is at least one wall, the touchscreen would work properly.

The Language Select screen is now working, but the Puzzle Select screen is still broken.

The rest is still the same as before, I think. :p
 
Strange, but at least you seem to have worked out a reason for the problem. There should be no connection between walls and touchscreen. This is just another bizarre F200 "feature" :p

I'm off to work now, but please feel free to post more bug reports - I'll get back to them later.
 
Hmm, the strangeness going on here really smells like you are having a buffer overrun...basically writing to memory that isn't really yours, or perhaps reading from uninitialized memory. The trick is to see if you are causing the problem or GLBasic is.

I've never used GLBasic so I don't know how it is set up, but I'd suggest you look at any arrays or pointers (if there are any) and see if a loop goes one too many or something.
 
There are no accessible pointers in GLBasic and there are only three arrays - the largest of which is 1000 (1kb). The other arrays are both 16x12 (192 bytes, as seen in each puzzle data). Puzzle data memory is cleaned and cleared before new data is loaded. I do actually allow a small excess to this value.

The wall problem appeared to be caused by simply failing to reinitialise a variable, and should (in theory) be fixed now.

GLBasic doesn't appear to have any memory functions to ascertain if there's a memory leak or over-run. I know that the arrays aren't being overloaded, as the Debugger would declare that or the game would simply crash.

Everything is/was working at points, hence my thoughts that GLBasic was having some confusion with Global and Local variables - the last test seemed to confirm that this wasn't the case. Hence it's something I've added/changed when doing other bits, something Global.

I still think it's a variable problem, or maybe a touchscreen problem (losing focus on the touchscreen?). I can easily test for the latter by just marking the screen wherever the stylus has moved to. Which is exactly what I plan to do tomorrow. If the mark doesn't move, then the touchscreen isn't responding to input. I doubt that this is the case though.

It's a case of finding the offending variables, methinks. Proper bug-hunting :p
 
iprice said:
This version has some variables changed so that they are Local and exclusive to each individual function that they appear in. This could aid touchscreen problems.

The entire touchscreen functionality is broken! :eek:

The touchscreen responds when touched, but it seems to be stuck at the upper-left corner of the screen. The crosshair is stuck there, but moves very slightly to the direction of the touch. The red box also reverts back to that spot when the screen is touched. It works on screens that only requires a tap anywhere to move on like the Splash screen & How To Play screen, since the touch is still recognized, but is fixed to the upper-left corner of the screen.

The D-pad controls seems to be intact though, and everything seems to be in working order when played using the D-pad.
 
Last edited by a moderator:
It would seem that a global variable is required, even though each function is local and totally independent. It's got to be the mouse status.

I presume that the actual game is unaffected - it's just menu screens?

D-Pad has never caused problems really and is something I can easily test on my F100.

Thanks Manjuu.

New update - http://www.iprice.remakes.org/stuff/blox_gp2x.rar This restores lots of variables back to Globals. May not have any effect, may cause everything to go bang...
 
iprice said:
I presume that the actual game is unaffected - it's just menu screens?

The actual game can't be played using the touchscreen. The red box always reverts back to the upper-left corner of the screen, which causes the program to always select the Previous Puzzle button when touching anywhere.

Using the crosshair as a guide, it looks like the coordinates become relative and are bound to a 4x3 pixel box in the upper-left corner. Touching the lower-right corner of the screen would move the crosshair to the 4x3 pixel position, while touching the upper-left corner would then move it to the 1x1 pixel position. <_<

EDIT 1: This is for the previous one; I'll test the new update.

EDIT 2: Unfortunately, it's the same as before. :(
 
Last edited by a moderator:
:blink:

It would be so much easier if the pc behaved in the same way as the F200.

I'm going to have to go back to basics I think. At least the menus worked in some earlier versions.
 
iprice said:
:blink:

It would be so much easier if the pc behaved in the same way as the F200.

I'm going to have to go back to basics I think. At least the menus worked in some earlier versions.
This a complete and total stab in the dark since I have no idea about anything GLBasic, but I do know that the gp2x SDL with touchscreen support does not send consistent "mouse down" and "mouse up" events. A quick touch will fire both events, but holding the touch for any length of time shows that the "mouse down" event doesn't actually fire until you finish the touch(pick up finger or stylus). And in that situation, you don't get a "mouse up" even fired at all.

Now I don't know how the touchscreen code is written in GLBasic, but if it somehow sits on top of SDL then you will inherit those issues. Or there might be some other odd behavior coming from their implementation. If you haven't already, I would throw some output in the event handling code to verify when those events are fired and if they are consistent with the mouse events fired on the pc.
 
Last edited by a moderator:
Cheers Coder TimT :)

That's actually very useful information, and may well be contributing to the problem - I might try something different as a result. I have created a few test apps that looked at screen accuracy and they apparently performed well (someone stated better than SDL), although I can't varify that as I don't have an F200 or any other app to compare with (if I had an F200 this would probably be very easy to see and fix - MORAL: Developing for a machine you don't own/have good access to is not a good idea!).

It may well be part of the same problem, but menus have worked properly in the past, just not all of them in any release - eg I'd have the Options menu and the title screen menus working, but the Language Selection and/or the in-game dialogues failed.

Individually each component has worked, but combining them somehow caused each or all of them to malfunction - hence I believe it's a stray variable (or two). The code for each function is OK on its own, just not when all put together. In trying to fix broken bits I've actually caused more damage than existed initially.

It's frustrating for me and more than likely increibly tedious for others testing and to those brave souls, I say a very big thankyou. :D
 
iprice said:
Cheers Coder TimT :)
...
It may well be part of the same problem, but menus have worked properly in the past, just not all of them in any release - eg I'd have the Options menu and the title screen menus working, but the Language Selection and/or the in-game dialogues failed.
...
I didn't really think about that when I replied. I've actually been following this post and knew that, I just didn't think about it. The comment about it not acting like the pc triggered the response.

Anyway, good luck. If you need a tester with f200 command line access(in case your other testers don't and it would prove helpful in some way) I'd be happy to give it a go...
 
Last edited by a moderator:
Thanks Tim, and I've replied to your PM too. :)

If you're willing to assist in testing, then I'm more than happy to have you on board. Hopefully it's near the end now.

BTW It's an incredibly long thread and even I can't remember half of it. And I'm sure it's all over something incredibly simple. But then again, it's keeping me coding and from designing new puzzles, so that's not such a bad thing after all ;) :p

Here's the current state of play - I've included all media and a pc .EXE to show how it should work. http://www.iprice.remakes.org/stuff/blox_gp2x.rar (2.7Mb)
 
Back
Top