Release Sky Supreme


pmprog

DNF (Did Not Finish)
Joined
Apr 25, 2011
Messages
4,150
I've finally got around to releasing a version of Sky Supreme, there's still a fair bit missing (network play, settings), but it's playable

http://repo.openpandora.org/?page=detail&app=skysupreme.marqwatkin

screen1.png


Thanks to Foxblock for the graphics.
 

Controls:
D-Pad - Steer and increase/decrease throttle
[X] / [Y] - Fire
[A] / - Flip (Flying upside down causes you to lose speed)

[L] - Decrease throttle


[R] - Increase throttle



Highscore entry needs making more obviously, using up and down to change the letter, and press [X] to advance



 


Source code is also available from my GitHub page
 
Last edited by a moderator:
Doesn't work for me :

=======================================================================================
PND             : /media/SD2/pandora/menu/jeux/skysupreme.pnd
PND_FSTYPE      : Squashfs
APPDATADIR      : /media/SD2/pandora/appdata/skysupreme.marqwatkin
APPDD_FSTYPE    : vfat
PND_CPUSPEED    : <unset>
EXENAME         : ./SkySupreme
ARGUMENTS       : <unset>
=======================================================================================
[ START ]--- Mount the PND ----------
Mounting : mount -t squashfs -o ro "/dev/loop0" "/mnt/utmp/skysupreme.marqwatkin"
Mounting the Union FS : mount -t aufs -o exec,noplink,dirs="/media/SD2/pandora/appdata/skysupreme.marqwatkin=rw+nolwh":"/mnt/pnd/skysupreme.marqwatkin=rr" none "/mnt/utmp/skysupreme.marqwatkin"
[sUCCESS]--- Mount the PND ----------
[ START ]--- Starting the application ( ./SkySupreme  ) ----------
/usr/pandora/scripts/pnd_run.sh: line 522:  2224 Segmentation fault      "$EXENAME" $ARGUMENTS "$@"
[ FAILED]--- Starting the application ( ./SkySupreme  ) ----------
[ START ]--- Restoring the frame buffer status ----------
[sUCCESS]--- Restoring the frame buffer status ----------
[ START ]--- uMount the PND ----------
[ START ]--- Waiting the Union to be available ----------
[sUCCESS]--- Waiting the Union to be available ----------
auplink:plink.c:223: AUFS_CTL_PLINK_MAINT: Inappropriate ioctl for device
rmdir: failed to remove `/mnt/utmp/skysupreme.marqwatkin': Device or resource busy
[ START ]--- Waiting the PND mount dir to be free ----------
[sUCCESS]--- Waiting the PND mount dir to be free ----------
cleanup done
[sUCCESS]--- uMount the PND ----------
=======================================================================================
Return code is : 2
 
 
Yep, launched Upgrade OS to be sure.

New pnd.out

=======================================================================================
PND             : /media/SD2/pandora/menu/jeux/skysupreme.pnd
PND_FSTYPE      : Squashfs
APPDATADIR      : /media/SD2/pandora/appdata/skysupreme.marqwatkin
APPDD_FSTYPE    : vfat
PND_CPUSPEED    : <unset>
EXENAME         : ./SkySupreme
ARGUMENTS       : <unset>
=======================================================================================
[ START ]--- Mount the PND ----------
Mounting : mount -t squashfs -o ro "/dev/loop0" "/mnt/utmp/skysupreme.marqwatkin"
Mounting the Union FS : mount -t aufs -o exec,noplink,dirs="/media/SD2/pandora/appdata/skysupreme.marqwatkin=rw+nolwh":"/mnt/pnd/skysupreme.marqwatkin=rr" none "/mnt/utmp/skysupreme.marqwatkin"
[sUCCESS]--- Mount the PND ----------
[ START ]--- Starting the application ( ./SkySupreme  ) ----------
/usr/pandora/scripts/pnd_run.sh: line 522:  2616 Segmentation fault      "$EXENAME" $ARGUMENTS "$@"
[ FAILED]--- Starting the application ( ./SkySupreme  ) ----------
[ START ]--- Restoring the frame buffer status ----------
[sUCCESS]--- Restoring the frame buffer status ----------
[ START ]--- uMount the PND ----------
[ START ]--- Waiting the Union to be available ----------
[sUCCESS]--- Waiting the Union to be available ----------
auplink:plink.c:223: AUFS_CTL_PLINK_MAINT: Inappropriate ioctl for device
rmdir: failed to remove `/mnt/utmp/skysupreme.marqwatkin': Device or resource busy
[ START ]--- Waiting the PND mount dir to be free ----------
[sUCCESS]--- Waiting the PND mount dir to be free ----------
cleanup done
[sUCCESS]--- uMount the PND ----------
=======================================================================================
Return code is : 2
 
 
Are either of you au-fait with using GDB? ie, would you be able to run it through a debugger and tell me what it's telling you is wrong?
 
Hmm, where's your PXML?  I'm trying to launch it through gdb using a modified pnd_run.sh, but for that I need the exename, which I was hoping to get from your PXML appended to your PND's filesystem image, but it's not there.
 
If there was no PXML, the repo would've rejected it; perhaps you mean he didn't include it inside the mounted image itself? If so, you could pull it off the end of the pnd file (but before the icon artwork; the PXML is usually not right at the very end, but a few K up.)

I forget if we include it in the firmware, but there may be pnd_info which can dump some findings out to save you looking up the PXML.

jeff
 
Okay, I must've had a truncated pnd.  According to less the string 'PXML' wasn't in the file, but now I've removed and redownloaded it, it's there.

pnd_info is included in the firmware I'm on.  Good to know, cheers.

Right.  Hopefully it's just being slow running under gdb, and hasn't hung/redirected my gdb prompt somewhere. If I can't get my pnd_run hack to work I'll just have to unpack it and run it manually.
 
Okay, killed the redirection to pndrun_... and I get:

al_create_display(800, 480)
al_get_system_driver()
system->vt->get_display_driver()
driver->create_display(800, 480)
EGL Opening EGL display
Error while reading shared library symbols:
Dwarf Error: wrong version in compilation unit header (is 4, should be 2) [in module /mnt/utmp/skysupreme/libdumb-0.9.3.so]
Error while reading shared library symbols:
Dwarf Error: wrong version in compilation unit header (is 4, should be 2) [in module /mnt/utmp/skysupreme/libdumb-0.9.3.so]
warning: Unable to find libthread_db matching inferior's thread library, thread debugging will not be available.
warning: Unable to find libthread_db matching inferior's thread library, thread debugging will not be available.
EGL Initializing
EGL Implementation Version: Major 1 Minor 4
EGL_VENDOR: Imagination Technologies
EGL_VERSION: 1.4 build 1.6.16.3977
EGL_EXTENSIONS: EGL_KHR_image EGL_KHR_image_base EGL_KHR_gl_texture_2D_image EGL_KHR_gl_texture_cubemap_image EGL_KHR_gl_renderbuffer_image EGL_KHR_vg_parent_image EGL_KHR_fence_sync EGL_KHR_reusable_sync EGL_IMG_context_priority
EGL Found 2 available configs
EGL Using Config 0
EGL Binding API
EGL Creating Context
Error while reading shared library symbols:
Dwarf Error: wrong version in compilation unit header (is 4, should be 2) [in module /mnt/utmp/skysupreme/libdumb-0.9.3.so]
ERROR: EGL Error detected in file /media/SEBEXT/sources/git/allegro5/src/pandora/eglport.c at line 237: EGL_NOT_INITIALIZED (0x3001)
EGL ERROR: Unable to create GLES context!
EGL ERROR: Unable to configure EGL. See previous error.
display = 0
locking bitmap...
2
4

Program received signal SIGSEGV, Segmentation fault.
0x40066134 in al_get_display_width ()
   from /mnt/utmp/skysupreme/liballegro.so.5.1

I'm unable to debug from there easily, as the stack trace seems to be corrupted, but hopefully those EGL init errors tell you something. If there's anything more I can do to debug it, let me know.
 
Hum, Failed to create the EGL Context... Are you using an update version of the SGX Driver?

(I'll grab the game and try it on my Pandora too).

*EDIT*: same behavor on my side, on a Gigahertz Pandora with 4.03.002 driver (but DuneDynasty, also using Allegro 5.1, works). Strange.
 
Last edited by a moderator:
I have analysed your PND.

There is a couple of .so that you should remove from the PND, and I think that will solve the problems (sory, maybe you used my copy_lib.sh script, I know it copies to much libs)

here they are:

libdl.so.s2

libEGL.so

libGLES_CM.so

libpthread-stubs.so.0

libpthread.so.0

librt.so
 
Yeah, never include libEGL.so and libGLES_CM.so, those are part of SGX driver and will only work for people with the same driver version. In addition to those listed above libasound.so.2 is also a bad idea. You should only include the very minimum of libs, otherwise you almost surely will be incompatible with newer firmwares.
 
There is a couple of .so that you should remove from the PND
I just used the copy_libs script from your Dev Tools, thought they were only supposed to copy non-internal libs?
My SD card is now knackered because of Android, so it'll have to wait before I can upload a rebuilt version.

Cheers for the feedback
 
I'll modify the copy_libs scipt. The problem is, many libs in codeblocks are symlink to the one in /lib or usr/lib, and the script copy it anyway. I have to find a way to avoid copying symlink. Does someone knows a bash magic command to identify a file is a symlink?
 
Thanks, I'm wondering if that what half the problem was with Tournament Hub... If so, you never know, I might actually resume work on it
 
I'll modify the copy_libs scipt. The problem is, many libs in codeblocks are symlink to the one in /lib or usr/lib, and the script copy it anyway. I have to find a way to avoid copying symlink. Does someone knows a bash magic command to identify a file is a symlink?
Try:

[ -L from ] || cp from to
 
I'll modify the copy_libs scipt. The problem is, many libs in codeblocks are symlink to the one in /lib or usr/lib, and the script copy it anyway. I have to find a way to avoid copying symlink. Does someone knows a bash magic command to identify a file is a symlink?
Try:

[ -L from ] || cp from to
Thanks :) .But that's not that simple :(

Most libraries are simlink, for example liballegro.so -> liballegro.so.5.1

I want to avoid thoses that are simlinked to /lib or /usr/lib only.

*EDIT* I will use "readlink -f " to grab the real file and filter with that, instead of filtering with unresolved, that will work...
 
Last edited by a moderator:
Back
Top