Dingoonity.org

GCW Zero => Development => Topic started by: Ziz on September 08, 2013, 03:57:49 pm

Title: Sparrow Compo4All Manager
Post by: Ziz on September 08, 2013, 03:57:49 pm
Greetings folk!

I don't own a gcw yet (I wait for the delivery of EvilDragon), but however compiled my newest project for the gcw. In fact I wrote it because of the gcw, but lets start earlier.

Does any of you know "Compo4All"? C4A is a system skeezix invented some months ago. First it was just meant to read MAME-scores out of the memory and commit these scores afterwards to an online highscore. I will not port MAME or the MAME-functionality of C4A. But C4A evolved. Now it is possible to use it in non-MAME applications, too. But it had disadvantages:

So I spoke to him and got the okay to reimplement the client side of his great work.
Now you don't need an extra application to commit anymore. The only thing you need is my library "sparrowNet", which is more practical. The program I want to introduce here, uses this library.

So, what can you do with "Sparrow Compo4All Manager"?

These are screenshots of the application:
(http://ziz.gp2x.de/screenshots/c4a-gcw1.png)(http://ziz.gp2x.de/screenshots/c4a-gcw2.png)(http://ziz.gp2x.de/screenshots/c4a-gcw3.png)(http://ziz.gp2x.de/screenshots/c4a-gcw4.png)(http://ziz.gp2x.de/screenshots/c4a-gcw5.png)

I would be glad, if someone could test this program. Jxv already tested an older version and even committed scores as you see in the screenshots, so the opk file should work.

Of course you need an internet connection to create an account. Jxv reported, that there was some trouble about getting an connection, if an USB device is connected (or similar, he can explain best I think), so keep an eye on that.

http://ziz.gp2x.de/downloads/Sparrow-C4A-Manager/Sparrow-C4A-Manager-gcw-1.0.3.2.opk

If you got an account, feel free to test the newest Puzzletube Version I released, too:
http://boards.dingoonity.org/gcw-development/puzzletube

greetings,
Ziz
Title: Re: Sparrow Compo4All Manager
Post by: Drem on September 08, 2013, 05:03:47 pm
Looks promising, I would be glad if there will be a standartised ladders for games on GCW Zero. Thank you for you work!
Title: Re: Sparrow Compo4All Manager
Post by: BAFelton on September 08, 2013, 07:55:58 pm
We need to use the same roms that the Pandora version ?

Hope i can try it, i can't make the wifi on the zer0 work  >:(
Title: Re: Sparrow Compo4All Manager
Post by: BAFelton on September 08, 2013, 08:16:48 pm
Ok it works now.

On the account creating, letters don't register when pressing A or any keys.

Can we use the same account than the Pandora ?

Where do we put the roms ?
Title: Re: Sparrow Compo4All Manager
Post by: Ziz on September 08, 2013, 11:18:12 pm
Sorry to disappoint you, but my program is ONLY about creating and managing accounts of C4A! I didn't port anything about MAME! Afaik atm Puzzletube is the only game supported on the gcw. But hopefully more games (and even MAME with C4A support if skeezix got his gcw and more time) are added sooner or later, I am quite sure. :D

How did you test it without A? Touchscreen? And why doesn't it work? :\
However, you can copy your c4a-prof file from your Pandora (dunno, where it lays) to your gcw to ~/.config/compo4all/c4a-prof. In that case you have the same account on two devices.
Title: Re: Sparrow Compo4All Manager
Post by: pcercuei on September 08, 2013, 11:49:39 pm
Ehrm, since last time I launched it, I reflashed my Zero. Now I have already created an account but there's no way to log in without registering first, could you fix this?
Title: Re: Sparrow Compo4All Manager
Post by: Ziz on September 09, 2013, 12:13:46 am
No, unfortunately I can't. That is "broken by design". You define a username and password, but however in fact especially the password is never used - even internal. The most important thing about your account is your unique ID "prid", which looks like this: "d863a2c1-2075-1257-9e3b-e2ff05739366". This is used for every action like submitting scores or even delete your account.

The only method to get your prid from your flashed gcw is to ask skeezix for your c4a-prof, if you can trustworthy prove, that your are the person, who lost his c4a-prof file. :)

However: I think, that could be in fact a problem. I should save the profile file TWICE: In the flash and in the folder (on the sd card) of Sparrow C4A Manager. In that case at next start after flashing the c4a file could be restored. :)

greetings,
Ziz
Title: Re: Sparrow Compo4All Manager
Post by: elwing on September 12, 2013, 01:49:36 pm
Hum, I just noticed there's an OpenTyrian c4all pandora version...  If I undestood correctly, I can't directly use that as this version just push highscore to another software using "Spaghetti client(sc)" and software support on the GCW0 pass through your "sparrowNet" library instead of IPC and another software, right?
did you published your library and is there a documentation? I'd like to add c4all support to my ongoing OpenTyrian port...
Title: Re: Sparrow Compo4All Manager
Post by: Ziz on September 12, 2013, 02:31:19 pm
Hum, I just noticed there's an OpenTyrian c4all pandora version...  If I undestood correctly, I can't directly use that as this version just push highscore to another software using "Spaghetti client(sc)" and software support on the GCW0 pass through your "sparrowNet" library instead of IPC and another software, right?
Yes, However you could of course make an easy and full compatible "clone" of the spaghetti client. Most parameters of the spaghetti client are in fact unnecessary. I did not test this code, but if I would rewrite the spaghetti client with sparrowNet, it would look like this:
Code: [Select]
#include <sparrowNet.h>

int main( int argc, char **argv )
{
if (argc < 6)
{
printf("Too few parameters. Usage:\n");
printf("./sc so push GAMENAME PLATFORM SCORE\n");
return 1;
}
spInitNet();
spNetC4AProfilePointer profile = spNetC4AGetProfile();
if (profile)
{
spNetC4ACommitScore(profile,argv[3],atoi(argv[5]),NULL,15000); //Timeout 15 Seconds
while (spNetC4AGetStatus() == SP_C4A_PROGRESS) //Wait for the thread
spSleep(200); //Wait at least 200 Ás
}
else
printf("No C4A profile found.\n");
spQuitNet();
return 0;
}
Of course most of the parameters are for compatibility reasons. Even the "PLATFORM" attribute isn't necessary anymore as sparrowNet set it automaticly depending on the target built for. :)
Quote
did you published your library and is there a documentation? I'd like to add c4all support to my ongoing OpenTyrian port...
Yes. I published it under the GPLv2+ here: https://github.com/theZiz/sparrow3d
You need just sparrowNet, which is part of sparrow3d, but doesn't have dependencies to libsparrow3d.so (anymore).
Documentation is available here: http://ziz.gp2x.de/documentation/files/sparrowNet-h.html#Compo4all_stuff

If you run into any problem, please tell me! :D

greetings,
Ziz
Title: Re: Sparrow Compo4All Manager
Post by: TrashyMG on September 12, 2013, 07:12:25 pm
For the Pandora's OpenTyrian C4ALL version I do something like this to handle successful submission or not.

Code: [Select]
sprintf(c4all_command, "./sc so push opentyrian_ep_%d pandora %lu >/dev/null 2>&1",episodeNum,player[0].cash); //format the command line call to the spaghetti

c4_all_ret = WEXITSTATUS(system(c4all_command)); //execute the command, get the return code
           
if (c4_all_ret != 0) {
      JE_outTextGlow(VGAScreenSeg, 30, 90, "Comp4All Submit Failed"); //draws to the game menu it failed
} else {
      JE_outTextGlow(VGAScreenSeg, 30, 90, "Comp4All Score Submitted"); //draws to the game menu it submitted properly.
}
Title: Re: Sparrow Compo4All Manager
Post by: elwing on September 12, 2013, 07:24:02 pm
thanks much, that will help me.


Ziz, to test all that I copied sparrow c4a manager and the updated puzzletube on my gcw0, however I also have the issue about the "A" button not registering...
everything else seems correct in the "Account management" screen, everything seems correct, the cursor is blinking, I can move the red box to any letter, switch field using L/R but no character are selected when pressing "a"... even start work, trough it just tell me that I need to fill the fields first...

but pressing "A" does nothing at all.

also if I try to check the online score I get a segfault after ~second.

I tried with USB and wifi connected. I disconnected the USB, rebooted the console after having read about USB issue, reconnected WIFI and it behave exactly the same.

Puzzletube on its side just tell me that c4- manager or mini-c4a is not installed...

edit: tried using "Sparrow-C4A-Manager-gcw-1.0.1.0.opk"
Title: Re: Sparrow Compo4All Manager
Post by: Ziz on September 14, 2013, 11:37:00 pm
Thanks for the input!

The "A-doesn't working"-error I could reproduce. Should be fixed in the Version 1.0.2 now.
But I have no idea, why it crashes, if you just load the highscore... When exactly does it crash? I compiled the new version with debugging informations. Could you maybe give me a line of code using gdb? Does gdb even exist for the gcw? :\ LD_LIBRARY_PATH has to be . in that case (that does my start script ;) )

However, you are right, I should change the Puzzletube text. It meant, that no profile was found and you should create one e.g. with Sparrow C4A Manager. It doesn't check for the existing of the application. ^^

The new version is here:
http://ziz.gp2x.de/downloads/Sparrow-C4A-Manager/Sparrow-C4A-Manager-gcw-1.0.2.0.opk
Title: Re: Sparrow Compo4All Manager
Post by: zear on September 15, 2013, 01:54:08 am
Does gdb even exist for the gcw?
Yes, and it's included with the firmware. So all you need to do is telnet/ssh inside and run the program via gdb.
Title: Re: Sparrow Compo4All Manager
Post by: elwing on September 15, 2013, 09:16:26 am
Ok, I was now able to create an account, but getting high score still segfault...

in puzzletube, it now try to load scores, and it try to submit score, however i think it0's not really successful, are online score meant to be displayed in the high score page?

here is the output I got, it looks like it can't get highscore at all...
Code: [Select]
Found 1 Joysticks
  Opened Joystick 0 (analog joystick)
Created Projection frustum with:
  Left:   -0.622
  Right:  0.622
  Top:    0.466
  Bottom: -0.466
  Z-near: 1.000
  Z-far:  100.000
  Matrix:
    |  1.608 |  0.000 |  0.000 |  0.000 |
    |  0.000 |  2.145 |  0.000 |  0.000 |
    |  0.000 |  0.000 | -1.000 | -1.000 |
    |  0.000 |  0.000 | -1.000 |  0.000 |
Reading "./images/splash.obj" with
  0 Triangles without uv
  0 Triangles with uv
  0 Quads without uv
  20 Quads with uv
  0 Edges
  61 uv Edges
Reading "./images/splash.obj" with
  0 Triangles without uv
  0 Triangles with uv
  0 Quads without uv
  20 Quads with uv
  0 Edges
  61 uv Edges
Support for ogg: Yes
Support for mp3: No (Mixer not built with MP3 support)
Support for flac: No (Mixer not built with MP3 support)
Support for mod: Yes
Try to open Sound: Success
  8 channels are avaible as default
Points score 0 already at server
Points score 0 already at server
Points score 0 already at server
Survival score 0 already at server
Survival score 0 already at server
Survival score 0 already at server
Race score 10000 already at server
Race score 10000 already at server
Race score 10000 already at server

I'll try to GDB, never done that yet but I should manage...
Title: Re: Sparrow Compo4All Manager
Post by: Ziz on September 15, 2013, 09:26:00 am
Does gdb even exist for the gcw?
Yes, and it's included with the firmware. So all you need to know is telnet/ssh inside and run the program via gdb.
Excellent.

Ok, I was now able to create an account, but getting high score still segfault...

in puzzletube, it now try to load scores, and it try to submit score, however i think it0's not really successful, are online score meant to be displayed in the high score page?

here is the output I got, it looks like it can't get highscore at all...
Code: [Select]
Found 1 Joysticks
  Opened Joystick 0 (analog joystick)
Created Projection frustum with:
  Left:   -0.622
  Right:  0.622
  Top:    0.466
  Bottom: -0.466
  Z-near: 1.000
  Z-far:  100.000
  Matrix:
    |  1.608 |  0.000 |  0.000 |  0.000 |
    |  0.000 |  2.145 |  0.000 |  0.000 |
    |  0.000 |  0.000 | -1.000 | -1.000 |
    |  0.000 |  0.000 | -1.000 |  0.000 |
Reading "./images/splash.obj" with
  0 Triangles without uv
  0 Triangles with uv
  0 Quads without uv
  20 Quads with uv
  0 Edges
  61 uv Edges
Reading "./images/splash.obj" with
  0 Triangles without uv
  0 Triangles with uv
  0 Quads without uv
  20 Quads with uv
  0 Edges
  61 uv Edges
Support for ogg: Yes
Support for mp3: No (Mixer not built with MP3 support)
Support for flac: No (Mixer not built with MP3 support)
Support for mod: Yes
Try to open Sound: Success
  8 channels are avaible as default
Points score 0 already at server
Points score 0 already at server
Points score 0 already at server
Survival score 0 already at server
Survival score 0 already at server
Survival score 0 already at server
Race score 10000 already at server
Race score 10000 already at server
Race score 10000 already at server

I'll try to GDB, never done that yet but I should manage...
The Puzzletube highscore is local. Sparrow3d loads the highscore, but only to determine, whether your score with your name is in the highscore already. So the highscore menu point in Puzzletube shows "only" your local highscores.

However no score of you is submitted, which is strange. You should start the manager via gdb with the following commando:
Code: [Select]
LD_LIBRARY_PATH=. gdb ./Sparrow-C4A-MananagerOtherwise it will not find the libraries libsparrowNet and libsparrow3d. ;)

And please redownload this file:
http://ziz.gp2x.de/downloads/Sparrow-C4A-Manager/Sparrow-C4A-Manager-gcw-1.0.2.0.opk

I recompiled even the libraries with debug symbols. ;)

greetings and thx,
Ziz
Title: Re: Sparrow Compo4All Manager
Post by: elwing on September 15, 2013, 09:44:42 am
hum, that gets a bit complicated... here is what I tried from telnet:

Code: [Select]
opendingux:/media/data/apps # mount Sparrow-C4A-Manager-gcw-1.0.2.0.opk /mnt/Sparrow-C4A-Manager-gcw-1.0.2.0/

opendingux:/media/data/apps # cd /mnt/Sparrow-C4A-Manager-gcw-1.0.2.0/

opendingux:/mnt/Sparrow-C4A-Manager-gcw-1.0.2.0 # ls
Sparrow-C4A-Manager      Sparrow-C4A-Manager.sh
Sparrow-C4A-Manager.png  default.gcw0.desktop

opendingux:/boot/local/home/Sparrow-C4A-Manager-gcw-1.0.2.0/Sparrow-C4A-Manager # LD_LIBRARY_PATH=. gdb ./Sparrow-C4A-Manager
GNU gdb (GDB) 7.5
Copyright (C) 2012 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "mipsel-gcw0-linux-uclibc".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /boot/local/home/Sparrow-C4A-Manager-gcw-1.0.2.0/Sparrow-C4A-Manager/Sparrow-C4A-Manager...done.
(gdb) run
Starting program: /boot/local/home/Sparrow-C4A-Manager-gcw-1.0.2.0/Sparrow-C4A-Manager/Sparrow-C4A-Manager
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/libthread_db.so.1".
Found 1 Joysticks
  Opened Joystick 0 (analog joystick)


edit: forget my previous version, here is what I got, I don't receive anything after the "Opened Joystick 0" message, nothing appear on the console screen either...


edit2: ok, progressed further ignore my previous rambling...
Title: Re: Sparrow Compo4All Manager
Post by: elwing on September 15, 2013, 10:06:17 am
hum, nothing really interesting I guess, how can I get a more verboos information?

here is the log
Code: [Select]
(gdb) run
Starting program: /boot/local/home/Sparrow-C4A-Manager-gcw-1.0.2.0/Sparrow-C4A-Manager/Sparrow-C4A-Manager
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/libthread_db.so.1".
Found 1 Joysticks
  Opened Joystick 0 (analog joystick)

Program received signal SIGSEGV, Segmentation fault.
0x00000000 in ?? ()

basically the application run fine, when I select the get online score the timeout start counting and after a little while (it's currently blocked displaying "Getting game list... Timeout in 14.0"

edit:
ignore once more my ignorance of GDB... here is a part of the rest:
Code: [Select]
(gdb) bt
#0  0x00000000 in ?? ()
#1  0x00407110 in spDeleteTextBlock () at sparrowFont.c:930
Backtrace stopped: frame did not save the PC
(gdb)
Title: Re: Sparrow Compo4All Manager
Post by: elwing on September 15, 2013, 11:10:08 am
I can't seems to get much more interesting info from GDB...
Code: [Select]
(gdb) backtrace full
#0  0x00000000 in ?? ()
No symbol table info available.
#1  0x00407110 in spDeleteTextBlock () at sparrowFont.c:930
No symbol table info available.
Backtrace stopped: frame did not save the PC
(gdb)

and the mandatory registry contents:
Code: [Select]
(gdb) info registers
          zero       at       v0       v1       a0       a1       a2       a3
 R0   00000000 77279e2c 7fed13c8 00000000 7fed13c8 00442e08 00000001 005041f9
            t0       t1       t2       t3       t4       t5       t6       t7
 R8   00000000 00000000 00000002 7727e538 0000026c 00000000 ffffffff 0040521c
            s0       s1       s2       s3       s4       s5       s6       s7
 R16  00442e08 7fed13c8 005041e8 00000000 000000a0 000000a0 2aaaaaab 770b79e0
            t8       t9       k0       k1       gp       sp       s8       ra
 R24  00000077 00000000 00000001 00000000 00420800 7fed13a8 7fed13b8 00407110
        status       lo       hi badvaddr    cause       pc
      00000413 000000a0 00000050 00000000 00800308 00000000
          fcsr      fir  restart
      01001004 00330000 00000000
is that even useful when not programming in assembly??
Title: Re: Sparrow Compo4All Manager
Post by: Ziz on September 15, 2013, 06:18:18 pm
That helps a lot. I will have a look in that function and line, if I have a bit more time. :)
Title: Re: Sparrow Compo4All Manager
Post by: elwing on September 15, 2013, 06:33:00 pm
Ignoring that problem, I'm now facing the question as to whether I'll link directly to your lib or I'll use a simple SC client. using a SC client would let me use the same source as the pandora version. but I'm not sure writing myself a SC client would be a good idea as, as I get it, all pandora software ported over would also need that. do you plan to provide such client with your lib?

If I have to write some code specific for my platform it would be some code to directly link with the lib rather than a SC client that I wouldn't really know how to distribute for all other developers...
Title: Re: Sparrow Compo4All Manager
Post by: Ziz on September 15, 2013, 10:31:04 pm
Ignoring that problem, I'm now facing the question as to whether I'll link directly to your lib or I'll use a simple SC client. using a SC client would let me use the same source as the pandora version. but I'm not sure writing myself a SC client would be a good idea as, as I get it, all pandora software ported over would also need that. do you plan to provide such client with your lib?

If I have to write some code specific for my platform it would be some code to directly link with the lib rather than a SC client that I wouldn't really know how to distribute for all other developers...
I don't think, that I will clone SC on my own. However: you saw, that it should be quite easy to write it on your own. So feel free to share your work. Or just use my library. I had reasons to avoid another spaghetti client port. Personally I don't like the idea of calling an application inside my application... I like libraries more. Easier to return stuff. ;)

However, I took a look at your output and I have NO idea, what goes wrong. Really... It crashs at spDeleteTextBlock... That doesn't even make sense! I only call this at program end... Have to take a deeper look at the code and maybe try it on my gp2x...
Title: Re: Sparrow Compo4All Manager
Post by: elwing on September 16, 2013, 04:56:53 am
I completely agree concerning SC, but on other hand, having a SC client would mean less change in all game supporting C4All ported from the pandora... writing a tiny client would be trivial, but distributing it wouldn't be so quick... hosting a new project supporting it. In my opinion a SC client should either be part of your sparrow project or should not exist at all... guess I'll go to "linking your binary directly" way, that's good I don't like the idea of calling an external executable either...

edit: noticed I was able to publish a score from puzzletube... strange, I've tryed to publish two scores.. and only one worked, but well at least I can start working on opentyrian-c4all... tell me if you want me to run some test, now I've understood how to do some (basic) gdb I can test things for you...

offtopic: wooot gold medal: http://c4a.openpandora.org/#/puzzletube_race

edit: just build opentyrian with c4all, I hadn't really the time to test, but unlike what you wrote it seems it require libsparrow3d.so too...
Title: Re: Sparrow Compo4All Manager
Post by: elwing on September 17, 2013, 08:17:16 pm
your tiny "sc" untested code gives a SIGSEGV the commit call accept a pointer to a NULL value, not a NULL pointer, but well, once that is fixed I was able to build OpenTyrian with c4all support, and more important I made the first place this month :) http://skeezix.wallednetworks.com:13001/scoreboard_1/opentyrian_ep_1B/ (ok, I guess the lack of competition explain that... well...)

thanks for all, and I'd gladely run some test for sparrow Compo4All manager once you'll get new builds.
Title: Re: Sparrow Compo4All Manager
Post by: Ziz on September 18, 2013, 12:51:01 pm
offtopic: wooot gold medal: http://c4a.openpandora.org/#/puzzletube_race
That's a bug in skeezix script. The race mode should be sorted in the other direction: Smaller scores / times are better (as "race" suggests).

Quote
edit: just build opentyrian with c4all, I hadn't really the time to test, but unlike what you wrote it seems it require libsparrow3d.so too...
Could you please specify, how do you see that? Does is complain about a missing function while linking? If so: Which is it?
Title: Re: Sparrow Compo4All Manager
Post by: Ziz on September 18, 2013, 12:56:18 pm
your tiny "sc" untested code gives a SIGSEGV the commit call accept a pointer to a NULL value, not a NULL pointer, but well, once that is fixed I was able to build OpenTyrian with c4all support, and more important I made the first place this month :) http://skeezix.wallednetworks.com:13001/scoreboard_1/opentyrian_ep_1B/ (ok, I guess the lack of competition explain that... well...)

thanks for all, and I'd gladely run some test for sparrow Compo4All manager once you'll get new builds.
Oh crap, you are right. I didn't check, whether I get a pointer at all. Fixed it in the repository. :D

If I find time, I will test the Sparrow C4A Manager on my gp2x. For now we have to live with the bugs, although I have no idea, why they exist. :\
Title: Re: Sparrow Compo4All Manager
Post by: elwing on September 18, 2013, 01:03:14 pm
Could you please specify, how do you see that? Does is complain about a missing function while linking? If so: Which is it?

at link:
Code: [Select]
../sparrow3d/build/gcw/sparrow3d/libsparrowNet.so: undefined reference to `spReadUntil'
../sparrow3d/build/gcw/sparrow3d/libsparrowNet.so: undefined reference to `spRemoveFile'
../sparrow3d/build/gcw/sparrow3d/libsparrowNet.so: undefined reference to `spSleep'
../sparrow3d/build/gcw/sparrow3d/libsparrowNet.so: undefined reference to `spCreateDirectoryChain'

I can also confirm that if libSparrow3d.so is not bundled with my application I also get error about that during execution...
Title: Re: Sparrow Compo4All Manager
Post by: Ziz on September 18, 2013, 06:46:51 pm
Could you please specify, how do you see that? Does is complain about a missing function while linking? If so: Which is it?

at link:
Code: [Select]
../sparrow3d/build/gcw/sparrow3d/libsparrowNet.so: undefined reference to `spReadUntil'
../sparrow3d/build/gcw/sparrow3d/libsparrowNet.so: undefined reference to `spRemoveFile'
../sparrow3d/build/gcw/sparrow3d/libsparrowNet.so: undefined reference to `spSleep'
../sparrow3d/build/gcw/sparrow3d/libsparrowNet.so: undefined reference to `spCreateDirectoryChain'

I can also confirm that if libSparrow3d.so is not bundled with my application I also get error about that during execution...
Thanks. Buck it, I really forgot about that functions.

I fixed it in the repository - I hope. ;)
Title: Re: Sparrow Compo4All Manager
Post by: elwing on September 18, 2013, 07:45:28 pm
Thanks, will test it later before releasing everything, but I have other things to fix first... including libSparrow3d.so, while not great is not a big deal at the moment.
Title: Re: Sparrow Compo4All Manager
Post by: elwing on September 27, 2013, 08:14:40 am
Ok, sorry for the long delay, I can confirm you that using almost(I just miss the "Virtualbox joysticks are ignored now" changes) the latest sparrow library still raise theses link issue with sparrow3d.
Code: [Select]
../../sparrow3d/build/gcw/sparrow3d/libsparrowNet.so: undefined reference to `spReadUntil'
../../sparrow3d/build/gcw/sparrow3d/libsparrowNet.so: undefined reference to `spRemoveFile'
../../sparrow3d/build/gcw/sparrow3d/libsparrowNet.so: undefined reference to `spSleep'
../../sparrow3d/build/gcw/sparrow3d/libsparrowNet.so: undefined reference to `spCreateDirectoryChain'
Title: Re: Sparrow Compo4All Manager
Post by: Ziz on September 27, 2013, 02:42:10 pm
Ok, sorry for the long delay, I can confirm you that using almost(I just miss the "Virtualbox joysticks are ignored now" changes) the latest sparrow library still raise theses link issue with sparrow3d.
Code: [Select]
../../sparrow3d/build/gcw/sparrow3d/libsparrowNet.so: undefined reference to `spReadUntil'
../../sparrow3d/build/gcw/sparrow3d/libsparrowNet.so: undefined reference to `spRemoveFile'
../../sparrow3d/build/gcw/sparrow3d/libsparrowNet.so: undefined reference to `spSleep'
../../sparrow3d/build/gcw/sparrow3d/libsparrowNet.so: undefined reference to `spCreateDirectoryChain'

Hi elwing. Don't worry, I don't do much these days, too. :) I am still quite glad, that someone is really interested in the stuff I do. :D

I made two new examples programs for sparrowNet, which work in the terminal and don't use any part of sparrow3d itself, just libsparrowNet and they work like a charme. In fact they do the same as "testnet". The server reads some HTTP stuff (as example) and then waits for a client. The client tests some C4A stuff (loading a profile file and receiving scores) and afterwards just sends messages to the server.

Maybe I forgot to push my changes? Could you please test, whether it works for you now?

Greetings,
Ziz
Title: Re: Sparrow Compo4All Manager
Post by: elwing on September 27, 2013, 08:26:24 pm
Ok, I tested with the latest git and it's worst. at first it looks well, it link with only libSparrowNet.
but during execution I get this:
Code: [Select]
_________________________
< Welcome to OpenDingux ! >
 -------------------------
        \   ^__^
         \  (oo)\_______
            (__)\       )\/\
                ||----w |
                ||     ||

opendingux:/boot/local/home # LD_LIBRARY_PATH=. gdb ./powermanga.dge
GNU gdb (GDB) 7.5
Copyright (C) 2012 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "mipsel-gcw0-linux-uclibc".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
./powermanga.dge: No such file or directory.
(gdb) q
opendingux:/boot/local/home # cd PowerManga/
opendingux:/boot/local/home/PowerManga # LD_LIBRARY_PATH=. gdb ./powermanga.dge
GNU gdb (GDB) 7.5
Copyright (C) 2012 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "mipsel-gcw0-linux-uclibc".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /boot/local/home/PowerManga/powermanga.dge...done.
(gdb) run
Starting program: /boot/local/home/PowerManga/powermanga.dge
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/libthread_db.so.1".
(II) configuration filename: /usr/local/home/.config/tlk-games/powermanga.conf [config_file.c:231, configfile_load]
/boot/local/home/PowerManga/powermanga.dge: can't resolve symbol 'spCreateDirectoryChain'
[Thread 0x779be380 (LWP 217) exited]

This result in a completely frozen GCW...
Title: Re: Sparrow Compo4All Manager
Post by: Ziz on September 28, 2013, 11:13:29 am
I can find any occurrence of spCreateDirectoryChain in the whole sparrowNet.c code.  ???

Do YOU use this in your code somewhere? Did you really recompile everything?

I will try this later on my gp2x. What exactly does powermanga do?
Title: Re: Sparrow Compo4All Manager
Post by: elwing on September 28, 2013, 07:05:25 pm
I don't use this code anywhere, I just keep it at the basic init/quit and getprofile something + commit score... not sure of the exact name but you get the idea...

I'm not sure if I had something old still lingering, but I'm sure I did at least a "make clean" before a "make TARGET=gcw".

I'll delete completely your library from my disk and take it again...

edit: by the way the HEAD do not compile successfully, I don't think it pose problem for me as the lib compile successfully, it's only some exemples:
(not the full log the boards don't let me put over 20000 characters...
Code: [Select]
[email protected]:~/Documents/GCW_PROJ/sparrow3d$ make TARGET=gcw

....

/opt/gcw0-toolchain/usr/bin/mipsel-linux-gcc -DMOBILE_DEVICE -DGCW -ffast-math  -DFAST_MULTIPLICATION -DFAST_DIVISION  -O2 -fsingle-precision-constant -fPIC -shared -Wl,-soname,libsparrow3d.so -rdynamic -o ./build/gcw/sparrow3d/libsparrow3d.so sparrowFont.o sparrowCore.o sparrowMath.o sparrowPrimitives.o sparrowMesh.o sparrowSprite.o sparrowFile.o sparrowGUI.o sparrowPrimitivesAsm.o sparrowRenderer.o sparrowText.o -I/opt/gcw0-toolchain/usr/mipsel-gcw0-linux-uclibc/sysroot/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -I/opt/gcw0-toolchain/usr/mipsel-gcw0-linux-uclibc/sysroot/usr/include  -I. -L/opt/gcw0-toolchain/usr/mipsel-gcw0-linux-uclibc/sysroot/usr/lib -Wl,-rpath=/opt/gcw0-toolchain/usr/mipsel-gcw0-linux-uclibc/sysroot/usr/lib -L./build/gcw/sparrow3d  -lSDL_mixer -lSDL_ttf -lSDL_image -lSDL -lm -lSDL_net
/opt/gcw0-toolchain/usr/bin/mipsel-linux-gcc -DMOBILE_DEVICE -DGCW -ffast-math  -DFAST_MULTIPLICATION -DFAST_DIVISION  -O2 -fsingle-precision-constant -fPIC -fPIC -c sparrowSound.c -I/opt/gcw0-toolchain/usr/mipsel-gcw0-linux-uclibc/sysroot/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -I/opt/gcw0-toolchain/usr/mipsel-gcw0-linux-uclibc/sysroot/usr/include  -I.
/opt/gcw0-toolchain/usr/bin/mipsel-linux-gcc -DMOBILE_DEVICE -DGCW -ffast-math  -DFAST_MULTIPLICATION -DFAST_DIVISION  -O2 -fsingle-precision-constant -fPIC -shared -Wl,-soname,libsparrowSound.so -rdynamic -o ./build/gcw/sparrow3d/libsparrowSound.so sparrowSound.o -I/opt/gcw0-toolchain/usr/mipsel-gcw0-linux-uclibc/sysroot/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -I/opt/gcw0-toolchain/usr/mipsel-gcw0-linux-uclibc/sysroot/usr/include  -I. -L/opt/gcw0-toolchain/usr/mipsel-gcw0-linux-uclibc/sysroot/usr/lib -Wl,-rpath=/opt/gcw0-toolchain/usr/mipsel-gcw0-linux-uclibc/sysroot/usr/lib -L./build/gcw/sparrow3d  -lSDL_mixer -lSDL_ttf -lSDL_image -lSDL -lm -lSDL_net
/opt/gcw0-toolchain/usr/bin/mipsel-linux-gcc -DMOBILE_DEVICE -DGCW -ffast-math  -DFAST_MULTIPLICATION -DFAST_DIVISION  -O2 -fsingle-precision-constant -fPIC -fPIC -c sparrowNet.c -I/opt/gcw0-toolchain/usr/mipsel-gcw0-linux-uclibc/sysroot/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -I/opt/gcw0-toolchain/usr/mipsel-gcw0-linux-uclibc/sysroot/usr/include  -I.
sparrowNet.c: In function 'spNetC4AGetGame':
sparrowNet.c:716:4: warning: passing argument 1 of 'SDL_CreateThread' from incompatible pointer type [enabled by default]
    spNetC4AThread = SDL_CreateThread(spNetC4AUberThread,c4a_getgame_thread);
    ^
In file included from /opt/gcw0-toolchain/usr/mipsel-gcw0-linux-uclibc/sysroot/usr/include/SDL/SDL_audio.h:35:0,
                 from /opt/gcw0-toolchain/usr/mipsel-gcw0-linux-uclibc/sysroot/usr/include/SDL/SDL.h:32,
                 from /opt/gcw0-toolchain/usr/mipsel-gcw0-linux-uclibc/sysroot/usr/include/SDL/SDL_net.h:27,
                 from sparrowNet.h:22,
                 from sparrowNet.c:18:
/opt/gcw0-toolchain/usr/mipsel-gcw0-linux-uclibc/sysroot/usr/include/SDL/SDL_thread.h:88:38: note: expected 'int (*)(void *)' but argument is of type 'int (*)(int (*)(void *))'
 extern DECLSPEC SDL_Thread * SDLCALL SDL_CreateThread(int (SDLCALL *fn)(void *), void *data);
                                      ^
sparrowNet.c: In function 'spNetC4AGetScore':
sparrowNet.c:897:4: warning: passing argument 1 of 'SDL_CreateThread' from incompatible pointer type [enabled by default]
    spNetC4AThread = SDL_CreateThread(spNetC4AUberThread,c4a_getscore_thread);
    ^
In file included from /opt/gcw0-toolchain/usr/mipsel-gcw0-linux-uclibc/sysroot/usr/include/SDL/SDL_audio.h:35:0,
                 from /opt/gcw0-toolchain/usr/mipsel-gcw0-linux-uclibc/sysroot/usr/include/SDL/SDL.h:32,
                 from /opt/gcw0-toolchain/usr/mipsel-gcw0-linux-uclibc/sysroot/usr/include/SDL/SDL_net.h:27,
                 from sparrowNet.h:22,
                 from sparrowNet.c:18:
/opt/gcw0-toolchain/usr/mipsel-gcw0-linux-uclibc/sysroot/usr/include/SDL/SDL_thread.h:88:38: note: expected 'int (*)(void *)' but argument is of type 'int (*)(int (*)(void *))'
 extern DECLSPEC SDL_Thread * SDLCALL SDL_CreateThread(int (SDLCALL *fn)(void *), void *data);
                                      ^
sparrowNet.c: In function 'spNetC4AGetScoreOfMonth':
sparrowNet.c:928:4: warning: passing argument 1 of 'SDL_CreateThread' from incompatible pointer type [enabled by default]
    spNetC4AThread = SDL_CreateThread(spNetC4AUberThread,c4a_getscore_thread);
    ^
In file included from /opt/gcw0-toolchain/usr/mipsel-gcw0-linux-uclibc/sysroot/usr/include/SDL/SDL_audio.h:35:0,
                 from /opt/gcw0-toolchain/usr/mipsel-gcw0-linux-uclibc/sysroot/usr/include/SDL/SDL.h:32,
                 from /opt/gcw0-toolchain/usr/mipsel-gcw0-linux-uclibc/sysroot/usr/include/SDL/SDL_net.h:27,
                 from sparrowNet.h:22,
                 from sparrowNet.c:18:
/opt/gcw0-toolchain/usr/mipsel-gcw0-linux-uclibc/sysroot/usr/include/SDL/SDL_thread.h:88:38: note: expected 'int (*)(void *)' but argument is of type 'int (*)(int (*)(void *))'
 extern DECLSPEC SDL_Thread * SDLCALL SDL_CreateThread(int (SDLCALL *fn)(void *), void *data);
                                      ^
sparrowNet.c: In function 'spNetC4ACommitScore':
sparrowNet.c:1050:4: warning: passing argument 1 of 'SDL_CreateThread' from incompatible pointer type [enabled by default]
    spNetC4AThread = SDL_CreateThread(spNetC4AUberThread,c4a_commit_thread);
    ^
In file included from /opt/gcw0-toolchain/usr/mipsel-gcw0-linux-uclibc/sysroot/usr/include/SDL/SDL_audio.h:35:0,
                 from /opt/gcw0-toolchain/usr/mipsel-gcw0-linux-uclibc/sysroot/usr/include/SDL/SDL.h:32,
                 from /opt/gcw0-toolchain/usr/mipsel-gcw0-linux-uclibc/sysroot/usr/include/SDL/SDL_net.h:27,
                 from sparrowNet.h:22,
                 from sparrowNet.c:18:
/opt/gcw0-toolchain/usr/mipsel-gcw0-linux-uclibc/sysroot/usr/include/SDL/SDL_thread.h:88:38: note: expected 'int (*)(void *)' but argument is of type 'int (*)(int (*)(void *))'
 extern DECLSPEC SDL_Thread * SDLCALL SDL_CreateThread(int (SDLCALL *fn)(void *), void *data);
                                      ^
sparrowNet.c: In function 'spNetC4ACreateProfile':
sparrowNet.c:1198:4: warning: passing argument 1 of 'SDL_CreateThread' from incompatible pointer type [enabled by default]
    spNetC4AThread = SDL_CreateThread(spNetC4AUberThread,c4a_create_thread);
    ^
In file included from /opt/gcw0-toolchain/usr/mipsel-gcw0-linux-uclibc/sysroot/usr/include/SDL/SDL_audio.h:35:0,
                 from /opt/gcw0-toolchain/usr/mipsel-gcw0-linux-uclibc/sysroot/usr/include/SDL/SDL.h:32,
                 from /opt/gcw0-toolchain/usr/mipsel-gcw0-linux-uclibc/sysroot/usr/include/SDL/SDL_net.h:27,
                 from sparrowNet.h:22,
                 from sparrowNet.c:18:
/opt/gcw0-toolchain/usr/mipsel-gcw0-linux-uclibc/sysroot/usr/include/SDL/SDL_thread.h:88:38: note: expected 'int (*)(void *)' but argument is of type 'int (*)(int (*)(void *))'
 extern DECLSPEC SDL_Thread * SDLCALL SDL_CreateThread(int (SDLCALL *fn)(void *), void *data);
                                      ^
sparrowNet.c: In function 'spNetC4ADeleteAccount':
sparrowNet.c:1284:4: warning: passing argument 1 of 'SDL_CreateThread' from incompatible pointer type [enabled by default]
    spNetC4AThread = SDL_CreateThread(spNetC4AUberThread,c4a_delete_thread);
    ^
In file included from /opt/gcw0-toolchain/usr/mipsel-gcw0-linux-uclibc/sysroot/usr/include/SDL/SDL_audio.h:35:0,
                 from /opt/gcw0-toolchain/usr/mipsel-gcw0-linux-uclibc/sysroot/usr/include/SDL/SDL.h:32,
                 from /opt/gcw0-toolchain/usr/mipsel-gcw0-linux-uclibc/sysroot/usr/include/SDL/SDL_net.h:27,
                 from sparrowNet.h:22,
                 from sparrowNet.c:18:
/opt/gcw0-toolchain/usr/mipsel-gcw0-linux-uclibc/sysroot/usr/include/SDL/SDL_thread.h:88:38: note: expected 'int (*)(void *)' but argument is of type 'int (*)(int (*)(void *))'
 extern DECLSPEC SDL_Thread * SDLCALL SDL_CreateThread(int (SDLCALL *fn)(void *), void *data);
                                      ^
sparrowNet.c: In function 'spNetC4AEditProfile':
sparrowNet.c:1392:4: warning: passing argument 1 of 'SDL_CreateThread' from incompatible pointer type [enabled by default]
    spNetC4AThread = SDL_CreateThread(spNetC4AUberThread,c4a_edit_thread);
    ^
In file included from /opt/gcw0-toolchain/usr/mipsel-gcw0-linux-uclibc/sysroot/usr/include/SDL/SDL_audio.h:35:0,
                 from /opt/gcw0-toolchain/usr/mipsel-gcw0-linux-uclibc/sysroot/usr/include/SDL/SDL.h:32,
                 from /opt/gcw0-toolchain/usr/mipsel-gcw0-linux-uclibc/sysroot/usr/include/SDL/SDL_net.h:27,
                 from sparrowNet.h:22,
                 from sparrowNet.c:18:
/opt/gcw0-toolchain/usr/mipsel-gcw0-linux-uclibc/sysroot/usr/include/SDL/SDL_thread.h:88:38: note: expected 'int (*)(void *)' but argument is of type 'int (*)(int (*)(void *))'
 extern DECLSPEC SDL_Thread * SDLCALL SDL_CreateThread(int (SDLCALL *fn)(void *), void *data);
                                      ^
/opt/gcw0-toolchain/usr/bin/mipsel-linux-gcc -DMOBILE_DEVICE -DGCW -ffast-math  -DFAST_MULTIPLICATION -DFAST_DIVISION  -O2 -fsingle-precision-constant -fPIC -shared -Wl,-soname,libsparrowNet.so -rdynamic -o ./build/gcw/sparrow3d/libsparrowNet.so sparrowNet.o -I/opt/gcw0-toolchain/usr/mipsel-gcw0-linux-uclibc/sysroot/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -I/opt/gcw0-toolchain/usr/mipsel-gcw0-linux-uclibc/sysroot/usr/include  -I. -L/opt/gcw0-toolchain/usr/mipsel-gcw0-linux-uclibc/sysroot/usr/lib -Wl,-rpath=/opt/gcw0-toolchain/usr/mipsel-gcw0-linux-uclibc/sysroot/usr/lib -L./build/gcw/sparrow3d  -lSDL_mixer -lSDL_ttf -lSDL_image -lSDL -lm -lSDL_net
/opt/gcw0-toolchain/usr/bin/mipsel-linux-gcc -DMOBILE_DEVICE -DGCW -ffast-math  -DFAST_MULTIPLICATION -DFAST_DIVISION  -O2 -fsingle-precision-constant -fPIC -fPIC -c test_cube.c -I/opt/gcw0-toolchain/usr/mipsel-gcw0-linux-uclibc/sysroot/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -I/opt/gcw0-toolchain/usr/mipsel-gcw0-linux-uclibc/sysroot/usr/include  -I.
/opt/gcw0-toolchain/usr/bin/mipsel-linux-gcc -DMOBILE_DEVICE -DGCW -ffast-math  -DFAST_MULTIPLICATION -DFAST_DIVISION  -O2 -fsingle-precision-constant -fPIC -fPIC -c test_fill.c -I/opt/gcw0-toolchain/usr/mipsel-gcw0-linux-uclibc/sysroot/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -I/opt/gcw0-toolchain/usr/mipsel-gcw0-linux-uclibc/sysroot/usr/include  -I.
/opt/gcw0-toolchain/usr/bin/mipsel-linux-gcc -DMOBILE_DEVICE -DGCW -ffast-math  -DFAST_MULTIPLICATION -DFAST_DIVISION  -O2 -fsingle-precision-constant -fPIC -fPIC -c test_gears.c -I/opt/gcw0-toolchain/usr/mipsel-gcw0-linux-uclibc/sysroot/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -I/opt/gcw0-toolchain/usr/mipsel-gcw0-linux-uclibc/sysroot/usr/include  -I.
/opt/gcw0-toolchain/usr/bin/mipsel-linux-gcc -DMOBILE_DEVICE -DGCW -ffast-math  -DFAST_MULTIPLICATION -DFAST_DIVISION  -O2 -fsingle-precision-constant -fPIC -fPIC -c test_mesh.c -I/opt/gcw0-toolchain/usr/mipsel-gcw0-linux-uclibc/sysroot/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -I/opt/gcw0-toolchain/usr/mipsel-gcw0-linux-uclibc/sysroot/usr/include  -I.
/opt/gcw0-toolchain/usr/bin/mipsel-linux-gcc -DMOBILE_DEVICE -DGCW -ffast-math  -DFAST_MULTIPLICATION -DFAST_DIVISION  -O2 -fsingle-precision-constant -fPIC -fPIC -c test_primitives.c -I/opt/gcw0-toolchain/usr/mipsel-gcw0-linux-uclibc/sysroot/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -I/opt/gcw0-toolchain/usr/mipsel-gcw0-linux-uclibc/sysroot/usr/include  -I.
/opt/gcw0-toolchain/usr/bin/mipsel-linux-gcc -DMOBILE_DEVICE -DGCW -ffast-math  -DFAST_MULTIPLICATION -DFAST_DIVISION  -O2 -fsingle-precision-constant -fPIC -fPIC -c test_sprites.c -I/opt/gcw0-toolchain/usr/mipsel-gcw0-linux-uclibc/sysroot/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -I/opt/gcw0-toolchain/usr/mipsel-gcw0-linux-uclibc/sysroot/usr/include  -I.
/opt/gcw0-toolchain/usr/bin/mipsel-linux-gcc -DMOBILE_DEVICE -DGCW -ffast-math  -DFAST_MULTIPLICATION -DFAST_DIVISION  -O2 -fsingle-precision-constant -fPIC -fPIC -c test_tube.c -I/opt/gcw0-toolchain/usr/mipsel-gcw0-linux-uclibc/sysroot/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -I/opt/gcw0-toolchain/usr/mipsel-gcw0-linux-uclibc/sysroot/usr/include  -I.
/opt/gcw0-toolchain/usr/bin/mipsel-linux-gcc -DMOBILE_DEVICE -DGCW -ffast-math  -DFAST_MULTIPLICATION -DFAST_DIVISION  -O2 -fsingle-precision-constant -fPIC -fPIC -c test_yinyang.c -I/opt/gcw0-toolchain/usr/mipsel-gcw0-linux-uclibc/sysroot/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -I/opt/gcw0-toolchain/usr/mipsel-gcw0-linux-uclibc/sysroot/usr/include  -I.
/opt/gcw0-toolchain/usr/bin/mipsel-linux-gcc -DMOBILE_DEVICE -DGCW -ffast-math  -DFAST_MULTIPLICATION -DFAST_DIVISION  -O2 -fsingle-precision-constant -fPIC -fPIC -c test_text.c -I/opt/gcw0-toolchain/usr/mipsel-gcw0-linux-uclibc/sysroot/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -I/opt/gcw0-toolchain/usr/mipsel-gcw0-linux-uclibc/sysroot/usr/include  -I.
/opt/gcw0-toolchain/usr/bin/mipsel-linux-gcc -DMOBILE_DEVICE -DGCW -ffast-math  -DFAST_MULTIPLICATION -DFAST_DIVISION  -O2 -fsingle-precision-constant -fPIC -fPIC -c test_target.c -I/opt/gcw0-toolchain/usr/mipsel-gcw0-linux-uclibc/sysroot/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -I/opt/gcw0-toolchain/usr/mipsel-gcw0-linux-uclibc/sysroot/usr/include  -I.
/opt/gcw0-toolchain/usr/bin/mipsel-linux-gcc -DMOBILE_DEVICE -DGCW -ffast-math  -DFAST_MULTIPLICATION -DFAST_DIVISION  -O2 -fsingle-precision-constant -fPIC testsparrow.c test_cube.o test_fill.o test_gears.o test_mesh.o test_primitives.o test_sprites.o test_tube.o test_yinyang.o test_text.o test_target.o -I/opt/gcw0-toolchain/usr/mipsel-gcw0-linux-uclibc/sysroot/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -I/opt/gcw0-toolchain/usr/mipsel-gcw0-linux-uclibc/sysroot/usr/include  -I. -L/opt/gcw0-toolchain/usr/mipsel-gcw0-linux-uclibc/sysroot/usr/lib -Wl,-rpath=/opt/gcw0-toolchain/usr/mipsel-gcw0-linux-uclibc/sysroot/usr/lib -L./build/gcw/sparrow3d -L.  -lSDL_mixer -lSDL_ttf -lSDL_image -lSDL -lm -lSDL_net -lsparrow3d -o ./build/gcw/sparrow3d/testsparrow
/opt/gcw0-toolchain/usr/bin/mipsel-linux-gcc -DMOBILE_DEVICE -DGCW -ffast-math  -DFAST_MULTIPLICATION -DFAST_DIVISION  -O2 -fsingle-precision-constant -fPIC testfile.c -I/opt/gcw0-toolchain/usr/mipsel-gcw0-linux-uclibc/sysroot/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -I/opt/gcw0-toolchain/usr/mipsel-gcw0-linux-uclibc/sysroot/usr/include  -I. -L/opt/gcw0-toolchain/usr/mipsel-gcw0-linux-uclibc/sysroot/usr/lib -Wl,-rpath=/opt/gcw0-toolchain/usr/mipsel-gcw0-linux-uclibc/sysroot/usr/lib -L./build/gcw/sparrow3d -L.  -lSDL_mixer -lSDL_ttf -lSDL_image -lSDL -lm -lSDL_net -lsparrow3d -o ./build/gcw/sparrow3d/testfile
/opt/gcw0-toolchain/usr/bin/mipsel-linux-gcc -DMOBILE_DEVICE -DGCW -ffast-math  -DFAST_MULTIPLICATION -DFAST_DIVISION  -O2 -fsingle-precision-constant -fPIC testnet.c -I/opt/gcw0-toolchain/usr/mipsel-gcw0-linux-uclibc/sysroot/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -I/opt/gcw0-toolchain/usr/mipsel-gcw0-linux-uclibc/sysroot/usr/include  -I. -L/opt/gcw0-toolchain/usr/mipsel-gcw0-linux-uclibc/sysroot/usr/lib -Wl,-rpath=/opt/gcw0-toolchain/usr/mipsel-gcw0-linux-uclibc/sysroot/usr/lib -L./build/gcw/sparrow3d -L.  -lSDL_mixer -lSDL_ttf -lSDL_image -lSDL -lm -lSDL_net -lsparrow3d -lsparrowNet -o ./build/gcw/sparrow3d/testnet
/opt/gcw0-toolchain/usr/bin/mipsel-linux-gcc -DMOBILE_DEVICE -DGCW -ffast-math  -DFAST_MULTIPLICATION -DFAST_DIVISION  -O2 -fsingle-precision-constant -fPIC testreal3d.c -I/opt/gcw0-toolchain/usr/mipsel-gcw0-linux-uclibc/sysroot/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -I/opt/gcw0-toolchain/usr/mipsel-gcw0-linux-uclibc/sysroot/usr/include  -I. -L/opt/gcw0-toolchain/usr/mipsel-gcw0-linux-uclibc/sysroot/usr/lib -Wl,-rpath=/opt/gcw0-toolchain/usr/mipsel-gcw0-linux-uclibc/sysroot/usr/lib -L./build/gcw/sparrow3d -L.  -lSDL_mixer -lSDL_ttf -lSDL_image -lSDL -lm -lSDL_net -lsparrow3d -o ./build/gcw/sparrow3d/testreal3d
/opt/gcw0-toolchain/usr/bin/mipsel-linux-gcc -DMOBILE_DEVICE -DGCW -ffast-math  -DFAST_MULTIPLICATION -DFAST_DIVISION  -O2 -fsingle-precision-constant -fPIC testnet_terminal_server.c -I/opt/gcw0-toolchain/usr/mipsel-gcw0-linux-uclibc/sysroot/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -I/opt/gcw0-toolchain/usr/mipsel-gcw0-linux-uclibc/sysroot/usr/include  -I. -L. -lSDL_net -lsparrowNet -o ./build/gcw/sparrow3d/testnet_terminal_server
/opt/gcw0-toolchain/usr/lib/gcc/mipsel-gcw0-linux-uclibc/4.8.1/../../../../mipsel-gcw0-linux-uclibc/bin/ld: cannot find -lsparrowNet
collect2: error: ld returned 1 exit status
make: *** [testnet_terminal_server] Error 1
Title: Re: Sparrow Compo4All Manager
Post by: elwing on September 29, 2013, 05:21:26 pm
Ok, apart from the example not compiling it seems ok now... guess I had something old lingering... but I'm pretty sure I was doing a make clean... not sure what happened...

Thanks for the fix
Title: Re: Sparrow Compo4All Manager
Post by: Ziz on September 29, 2013, 10:43:04 pm
Ok, apart from the example not compiling it seems ok now... guess I had something old lingering... but I'm pretty sure I was doing a make clean... not sure what happened...

Thanks for the fix
I know this. Most of the time I fail at syncing / unmounting the sd card. So the old version is still on my gp2x and I wonder, why my change doesn't have any effect. XD

However, I (hopefully) fixed the issue about the fail of compilation of the new examples. Forget a $(LIB). ;)
Title: Re: Sparrow Compo4All Manager
Post by: mth on October 05, 2013, 06:15:17 am
There is a small bug in the editing:
At this point, the cursor is shown on the second row, but the letter appears on the first row. So the edit focus and the cursor got out of sync somehow. I'd prefer the edit focus to stay where it was, so on the second row in this example.

Also note that the ziz.gp2x.de serves OPK files as text/plain; that is probably not a good idea. Plus it makes my browser attempt to display it instead of saving it to disk. The proper mimetype for OPK files is "application/x-opk+squashfs".

Edit: And it would be useful to have "@" in a non-shift position on the virtual keyboard, since you ask people to fill in their email address.

Edit 2: When trying to view online highscores, the application crashes:
Code: [Select]
Program received signal SIGSEGV, Segmentation fault.
0x00000000 in ?? ()
(gdb) bt
#0  0x00000000 in ?? ()
#1  0x00407110 in spDeleteTextBlock () at sparrowFont.c:930
Backtrace stopped: frame did not save the PC
I haven't submitted any scores yet, maybe it cannot deal with an empty list?

Edit 3: I have submitted some scores now and the highscore view still crashes the manager application.
Title: Re: Sparrow Compo4All Manager
Post by: elwing on October 05, 2013, 08:25:19 am
Edit 3: I have submitted some scores now and the highscore view still crashes the manager application.

Woot some other PowerManga score... but meh, I'm beaten... got to make better... :)


edit: now beat that!
Title: Re: Sparrow Compo4All Manager
Post by: Ziz on October 07, 2013, 01:54:14 pm
There is a small bug in the editing:
  • choose "Account Management" (A)
  • move edit focus to the second line (R)
  • go back (B)
  • choose "Account Management" (A)
  • enter a letter (A)
At this point, the cursor is shown on the second row, but the letter appears on the first row. So the edit focus and the cursor got out of sync somehow. I'd prefer the edit focus to stay where it was, so on the second row in this example.
I can reproduce it. Thanks for the report, I will fix it, when I find time. (Most of the time will be spend for updating the package and uploading it. ^^)

Quote
Also note that the ziz.gp2x.de serves OPK files as text/plain; that is probably not a good idea. Plus it makes my browser attempt to display it instead of saving it to disk. The proper mimetype for OPK files is "application/x-opk+squashfs".
I don't own the server. Can I add the mime type to the <a href="?" >?[/url] HTML URL tag somehow?

Quote
Edit: And it would be useful to have "@" in a non-shift position on the virtual keyboard, since you ask people to fill in their email address.
Good point. I will think about it and probably change it.

Quote
Edit 2: When trying to view online highscores, the application crashes:
Code: [Select]
Program received signal SIGSEGV, Segmentation fault.
0x00000000 in ?? ()
(gdb) bt
#0  0x00000000 in ?? ()
#1  0x00407110 in spDeleteTextBlock () at sparrowFont.c:930
Backtrace stopped: frame did not save the PC
I haven't submitted any scores yet, maybe it cannot deal with an empty list?
Edit 3: I have submitted some scores now and the highscore view still crashes the manager application.
Thanks for the bug report, but this bug is known and not solved yet. If you look a bit earlier in this thread, you will see, that elwing already posted this bug. Even with the same crash report, but however, it still doesn't make sense. Until now I didn't have time to have a look at it, sorry. It doesn't matter, whether you have a score submitted in a game or not. It always shows you all scores, not just yours. You can have a look at scores of games, that even didn't exist for the GCW. ;)
Title: Re: Sparrow Compo4All Manager
Post by: Ziz on October 07, 2013, 01:56:03 pm
Edit 3: I have submitted some scores now and the highscore view still crashes the manager application.

Woot some other PowerManga score... but meh, I'm beaten... got to make better... :)


edit: now beat that!
Did you build and release a game, which uses my library on the GCW zero for committing scores? :D And did you write to skeezix to get your game added to the server's games list?
Title: Re: Sparrow Compo4All Manager
Post by: elwing on October 07, 2013, 02:13:14 pm
Did you build and release a game, which uses my library on the GCW zero for committing scores? :D And did you write to skeezix to get your game added to the server's games list?

only PowerManga was released yet:
http://boards.dingoonity.org/gcw-releases/powermanga-port-with-compo4all-support-rc1/
I did contact skeezix to ask him to add the game and I did contact Milkshake for an artwork for his fancy c4a frontend

I have a working OpenTyrian with c4all integrated but I'm still trying to find out how to make the game shorter and well balanced for c4all, I'm waiting from return from TrashyMG on what I did yet... actually one c4all game is a full episode which should takes not far from 1hour to do... it's too long, it's also still possible to save between all levels. I'm not sure how to make that better.
Title: Re: Sparrow Compo4All Manager
Post by: Ziz on October 11, 2013, 04:39:01 pm
There is a small bug in the editing:[?]
Fixed.

Quote
Also note that the ziz.gp2x.de serves OPK files as text/plain; that is probably not a good idea. Plus it makes my browser attempt to display it instead of saving it to disk. The proper mimetype for OPK files is "application/x-opk+squashfs".
Fixed.

Quote
Edit: And it would be useful to have "@" in a non-shift position on the virtual keyboard, since you ask people to fill in their email address.
Fixed.

Here is the new version: http://ziz.gp2x.de/downloads/Sparrow-C4A-Manager/Sparrow-C4A-Manager-gcw-1.0.3.0.opk
Title: Re: Sparrow Compo4All Manager
Post by: Ziz on December 15, 2013, 05:13:49 pm
After getting my gcw and only one week printf debugging I found the error!

It was in memcpy. I copied one byte to much. One byte in a memory area, which wasn't part of the destination field. So a random byte set to a random value.
Sometimes it crashed.
Sometimes the screen went lila.
Was VERY hard to find. -_-

However, here is the hopefully working version:
http://ziz.gp2x.de/downloads/Sparrow-C4A-Manager/Sparrow-C4A-Manager-gcw-1.0.3.2.opk