Release Xrick For Pandora


MarkoeZ

arr matey?
Joined
May 21, 2008
Messages
1,183
Age
44
Website
projectinfinity.org.uk
Hello,

Did a quick port of XRick. For those that do not know it, it's a clone of Rick Dangerous

Now with quick and dirty i mean fully playable, but action is mapped to enter (i'd prefer an actionbutton, but simply mapping to HOME or END does not work, so gotta find another way)
Also Scores are not saved on exit, but it does not seem to save on pc either so im going to look into that.

So if you want to play it: Here it is

Controls:

Movement - D-Pad left/right
Jump - D-Pad Up
Shoot - Enter + D-Pad Up
Bomb - Enter + D-Pad Down

Pause - P
Esc - Exit

Enjoy!

Edit: i uploaded a windowed version to the archive first, and just now a boxed fullscreen version. Might not be updated yet, apparently it's not instant, dunno.
 
Oooh, nice, totally forgot about xrick :)

If you're stuck, just link against libpnd and use the pnd_io_evdev code; the API is literally a couple functions -- open, close, catch up events, and check status; its _trivial_ to use for button checks, etc.

Home and End should work okay; try just printfing the keysym or whatever, and seeing what you're getting when those buttons are pressed; but if not, just the libpnd, take you all of 5 minutes to get things sorted.

jeff

appstore and dl.openhandhelds both need someone to sign off on the upload, takes a bit.

If you like, post up the source somewhere, and if its an easy build, I can take a look.
 
skeezix said:
Oooh, nice, totally forgot about xrick :)

If you're stuck, just link against libpnd and use the pnd_io_evdev code; the API is literally a couple functions -- open, close, catch up events, and check status; its _trivial_ to use for button checks, etc.

Home and End should work okay; try just printfing the keysym or whatever, and seeing what you're getting when those buttons are pressed; but if not, just the libpnd, take you all of 5 minutes to get things sorted.

jeff

appstore and dl.openhandhelds both need someone to sign off on the upload, takes a bit.

If you like, post up the source somewhere, and if its an easy build, I can take a look.

Ah thanks for the tip! And i'd like to try it myself first, this is also a learning experience for me. But if i get stuck i know where to find you :)

Cheers!
 
Last edited by a moderator:
skeezix said:
appstore and dl.openhandhelds both need someone to sign off on the upload, takes a bit.

The appstore is instant (until someone abuses it probably).
 
Last edited by a moderator:
craigix said:
skeezix said:
appstore and dl.openhandhelds both need someone to sign off on the upload, takes a bit.

The appstore is instant (until someone abuses it probably).

yes it's instant (just tried it for ti99 and ti works fine). One remark, it might be fine to have apps sorted by name (when the list will grow up, it won't be easy to find a title in this unsorted list).
 
Last edited by a moderator:
craigix said:
skeezix said:
appstore and dl.openhandhelds both need someone to sign off on the upload, takes a bit.

The appstore is instant (until someone abuses it probably).

Wellll, i applied for upload rights there about 25 times already :p
 
Last edited by a moderator:
craigix said:
MarkoeZ said:
Wellll, i applied for upload rights there about 25 times already :p

It's approved.

Ah thanks! I planned a up/download session at our local library tomorrow. Ill upload everything that's playable and bug free to the appstore as well then.

Cheers!
 
Last edited by a moderator:
ok the boxed fullscreen version is up on the appstore. Im not at home currently but i'll try the libpnd actionbutton fix tomorrow.

Cheers

Edit: Archive version now updated as well
 
IF you don't have git set up, grab the headers and such from here in a pinch: http://git.openpandora.org/cgi-bin/gitweb.cgi?p=pandora-libraries.git;a=summary

All you really need is pnd_io_evdev.h and anything it needs; then link against libpnd.* from /usr/lib, and you'll be gold :)

jeff
 
zx-81 said:
craigix said:
skeezix said:
appstore and dl.openhandhelds both need someone to sign off on the upload, takes a bit.

The appstore is instant (until someone abuses it probably).

yes it's instant (just tried it for ti99 and ti works fine). One remark, it might be fine to have apps sorted by name (when the list will grow up, it won't be easy to find a title in this unsorted list).
You can do that already. See on the left where it says "sorted by date - click to change"?

xRick was very fun on the GP32, but frustrating because you couldn't save.
 
Last edited by a moderator:
<hijack>
skeezix said:
IF you don't have git set up, grab the headers and such from here in a pinch: http://git.openpandora.org/cgi-bin/gitweb.cgi?p=pandora-libraries.git;a=summary

All you really need is pnd_io_evdev.h and anything it needs; then link against libpnd.* from /usr/lib, and you'll be gold :)

Damn, there is some groovy stuff in there I could use. I looked on the wiki but didn't see anything about this on the libpnd page - shame on you! ;-P Are there any guidelines as to what should and shouldn't be part of libpnd? I'm thinking it would be nice to get some basic frame buffer stuff in there (wait for vsync would be very easily added, for example).​
</hijack>
 
Last edited by a moderator:
skeezix said:
IF you don't have git set up, grab the headers and such from here in a pinch: http://git.openpandora.org/cgi-bin/gitweb.cgi?p=pandora-libraries.git;a=summary

All you really need is pnd_io_evdev.h and anything it needs; then link against libpnd.* from /usr/lib, and you'll be gold :)

jeff

Well since i was travelling between loactions yesterday, xrick was actually entirely edited and built on the pandora itself. Only used my girlfriends pc to do some code searching. I'm guessing those libraries are already included on the pandora?

Cheers!
 
Last edited by a moderator:
libpnd is included in the pandora of course (all the .pnd magic, lcd on/off and stuff like that comes from it.) (libpnd being the libpnd.so*, plus various scripts and configs and daemons.)

Once our repository is more stable, we'll make a libpnd-dev package to suck down the headers onto the pandora; for now, pull them from git :) ie: only the lib bins/configs/daemons are on pandora, not the headers.

libpnd includes a bunch of stuff (the wiki mentions it, without much docs :( -- the headers shoudl be relatively clear; stuff for .pnd locating, notification for eject/insert of SD cards, config file loading, various handy IO routines (read keyboard, dpads, nubs), setting cpu speed etc; lots of good stuff, some of it may not be of use, but lots of it shoudl prove handy examples. Some good header bits provide #defines so that they can be in one place -- name of the devices, etc. It needs to be grown, so any patches and additions are welcome.

ie: I've thoguht about ading fbdev stuff, but really, most of that is standard linux; waiting for vsync is also more or less linux standard. But if we make a really easy to use wrapper for fbdev, coudl slap it in there.

In practice, most apps are SDL or x11, so don't need any or much of libpnd; the pnd_io_evdev and pnd_Device bits are handy though. If you want fbdev, you'll probably want to use pnd_io_Evdev.

jeff
 
Bah, that's another game I was gonna port but is pointless to do now :(

Fucking hell, where the hell is my Pandora? I want to get working on things!

Oh, and good Job Markoez :)
 
Ooook, i'm at home and checking this stuff out. Believe me, 5 minutes maybe possible for an advanced programmer, but as a linux and dev environment noob i will be happy if i get it working before the end of the day :p
Really, the first 5 minutes was spent figuring out what you actually said, and the second 5 trying to download a file from the git. I still don't know how to get more than one at a time, but got the ones needed now so does not really matter.

Example:
All you really need is pnd_io_evdev.h and anything it needs; then link against libpnd.* from /usr/lib, and you'll be gold :)
The second part, no clue how to do that on the pandora. I know how to link libraries in code::blocks on my windows machine. But with xrick i just used the makefile supplied and messed around in the (c, not c++) source to get SDL to render fullscreen and change the action button at least to RETURN (still no clue why RETURN and ESCAPE work, but HOME/END/PAGEUP,DOWN won't)

I already did #include "pnd_io_evdev.h" and that compiled fine after i removed the comment code (c did not like it). I also downloaded pnd_device.h and .c since that is included in pnd_io_evdev, but i guess some more needs to be done to use the button code.

MarkoeZ

ps, i know that an experienced dev would probably port this in those exact 5 minutes, but we all gotta learn, right? ;)
 
MarkoeZ said:
All you really need is pnd_io_evdev.h and anything it needs; then link against libpnd.* from /usr/lib, and you'll be gold :)
The second part, no clue how to do that on the pandora.

As you are the second to ask this question in 2 days I opened a bug on the tracker for that (ED if you read me, please include in next HF as this cost nearly nothing).

for now use "-L/usr/lib -lpnd" when linking xrick
 
Last edited by a moderator:
MarkoeZ said:
still no clue why RETURN and ESCAPE work, but HOME/END/PAGEUP,DOWN won't
Return and escape are handled by the keypad device, the game controls by gpio-keys. Chances are you need to get home/end/pgup/pgdown events from that device. More details on the wiki (although if I understand correctly you shouldn't have to worry about this if you use libpnd for I/O). Then again, if it's SDL, how come it's not just using the SDL event API?
 
Last edited by a moderator:
Doh, missed a piece of code somewhere else. Controls working perfect now, and updated PND coming!

But still thanks a lot for all the other info, i plan to continue porting stuff since i kinda like it, and every piece of information is welcome :)

Edit: And before i upload, has there already been decided on a standard action button? every game seems to be using something else :S

Edit2: Uploaded to the appstore, and waiting for confirmation on the archive
 
Back
Top