This is the bug/patch tracker for Rockbox. Click here for more information.
Quick links: Bugs · Patches · Rockbox frontpage
FS#10193 - unified the game menus and some improvements
Attached to Project:
Rockbox
Opened by Johannes Schwarz (Ubuntuxer) - Saturday, 09 May 2009, 16:45 GMT+2
Last edited by Johannes Schwarz (Ubuntuxer) - Tuesday, 17 November 2009, 07:58 GMT+2
Opened by Johannes Schwarz (Ubuntuxer) - Saturday, 09 May 2009, 16:45 GMT+2
Last edited by Johannes Schwarz (Ubuntuxer) - Tuesday, 17 November 2009, 07:58 GMT+2
|
DetailsThe aim of this patch is to improve the usability of the games.
Changes: - add a standart menu to brickmania, pegbox, spacerocks, jewels, rockblox (including Playback Control) - add change of difficult to brickmania (if you select easy and have less than two lifes, you'll get a extra life. - add highscore list to the games - add help text to the games (expandable) - clean the code and delete unnecessary variables - change the keymap of FUZE in pegbox - fixed a bug in pegbox, which prevent to save a game - you can save a game in brickmania now, but just the |
This task depends upon
Closed by Johannes Schwarz (Ubuntuxer)
Tuesday, 17 November 2009, 07:58 GMT+2
Reason for closing: Accepted
Additional comments about closing: last commit r23653
Tuesday, 17 November 2009, 07:58 GMT+2
Reason for closing: Accepted
Additional comments about closing: last commit r23653
FS#10099, which I have attached.Please test the patch and let me know your opinion.
The attached patch change the game pegbox.
- add standart menu to pegbox
- saves your current level and the highest level
- remove save game, because it didn't work and isn't really necessary
- rename functions, so it begins with pegbox_...
- remove level up and down from Fuze, because often by accident you select the button
- clean up the code
The bitmaps pegbox_menu_items.bmp are now useless and should be removed.
PS: The patch is based on "lib_highscore.diff" and "lib_display_text.diff".
I know in the patch still features and non-functional changes are mixed, but it's really difficult to diffide it rigorous.
it would be better to separate some parts.
* displaying help
* score related stuff.
* adding standard menu.
* maybe the others? i'm not sure.
and there seems to be sooo many tabs.
If you help me to fix the remaining bugs, I would like to commit the patch and next time I'll do it better. :-)
replaced all tabs with spaces
minor fixes
i.e. commit only displaying help part, then commit adding standard menu part, and so on.
how about complete
FS#10099first?But yea, try to divide the patch into smaller pieces.
surrounding only content of plugin_start by #ifdef HAVE_LCD_BITMAP doesn't make sense for me.
you use MENUITEM_STRINGLIST and rb->do_menu to set option like difficulty and level.
i think rb->set_option and rb->set_int are usually used.
is it allowed to use float?
chages of jewel seems overkill for me.
current system works find and i dislike auto saveing...
i don't see the reason of the cahnges.
according to docs/CONTRIBUTING, enum names should be all lower case.
i mean,
1693: +enum Difficulty{
should be
1693: +enum difficulty{
or something like in your patch.
i think it would be better to avoid to use same variable for arguments and to set return value like follows.
choice = rb->do_menu(&main_menu, &choice, NULL, false);
because pressing left reset selection.
adding preffix such as pegbox_ to function names seems to only make patch complicated...
it's not necessary after all, right?
i'm thinking it's nice feature so-called attract mode is shown when start spacerocks game.
and it would be bit strange that selecting start in menu starts attract mode.
so, can it be change to show attract mode first and then, pressing start will start game and pressing menu (or somthing simmiler) will open the menu?
btw, i wonder why no one seems to consider adding menu to balckjack.
why not ?
"chages of jewel seems overkill for me.
current system works find and i dislike auto saveing...
i don't see the reason of the cahnges."
It takes a long time to finish a game in jewels, so often you must pause it and exit the player. I think, it's very annoying if you quit by accident a game without saving.
Why do you dislike auto saving?
The main disadvantage of your commit is that if you start jewels and without playing you have to save the game still.
Our targets don't have hardware units to do floating point calculation, hence GCC has to emulate this routines. And this is *horribly* slow.
Because it causes disk access which takes ~2 secconds to finish and i rarely want to save game.
I suggest to prevent to save a unchanged highscore direct in the lib. Besides I would move the function ..._show_highscores to the lib, too.