Commit graph

87 commits

Author SHA1 Message Date
Rafaël Carré
7014faee69 Remove build conditions inside .c plugin files
Rather use the Makefile to specify which files must be built
Fix color builds with test plugins enabled (test_scanrate gave an empty
.o file)

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27886 a1c6a512-1295-4272-9138-f99709370657
2010-08-25 19:00:58 +00:00
Thomas Martitz
cae4ae2c71 Second try: Introduce plugin_crt0.c that every plugin links.
It handles exit() properly, calling the handler also when the plugin returns
normally (also make exit() more standard compliant while at it).
It also holds PLUGIN_HEADER, so that it doesn't need to be in each plugin anymore.

To work better together with callbacks passed to rb->default_event_handler_ex() introduce exit_on_usb() which will call the exit handler before showing the usb screen and exit() after it.
In most cases rb->default_event_handler_ex() was passed a callback which was manually called at all other return points. This can now be done via atexit().

In future plugin_crt0.c could also handle clearing bss, initializing iram and more.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27873 a1c6a512-1295-4272-9138-f99709370657
2010-08-24 14:30:46 +00:00
Thomas Martitz
93cb949372 Revert "Introduce plugin_crt0.c that every plugin links."
Too much errors and no time to fix them now.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27863 a1c6a512-1295-4272-9138-f99709370657
2010-08-23 17:12:26 +00:00
Thomas Martitz
abdc5935be Introduce plugin_crt0.c that every plugin links.
It handles exit() properly, calling the handler also when the plugin returns
normally (also it makes exit() more standard compliant while at it).
It also holds PLUGIN_HEADER, so that it doesn't need to be in each plugin anymore.

To work better together with callbacks passed to rb->default_event_handler_ex introduce exit_on_usb() which will call the exit handler before showing the usb screen and exit() after it.
In most cases it was passed a callback which was manually called at all other return points. This can now be done via atexit().

In future plugin_crt0.c could also handle clearing bss, initializing iram and more.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27862 a1c6a512-1295-4272-9138-f99709370657
2010-08-23 16:56:49 +00:00
Thomas Martitz
20e9d56ba5 S#10387 - Rework pluginlib actions
It changes pluginlib actions to contain only a single and simple context (and
other one for remote directional buttons),
consisting of 7(9) buttons: up/down/left/right, select OR short select and long
select, exit and cancel (plus 2 for scrollwheel targets).
This ensures contexts don't clash with other contexts and simplifies them, at
the expense of reduced versatility. However, the versatility made it largely unusable
due to the great number of targets.
This should allow for using pluginlib actions safely for the most simple plugins (e.g. almost all demos).

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26202 a1c6a512-1295-4272-9138-f99709370657
2010-05-20 17:41:28 +00:00
Thomas Martitz
0a1d7c28b7 Make open() posix compliant api-wise. A few calls (those with O_CREAT) need the additional optional mode parameter so add it. Impact for the core is almost zero, as open() is a wrapper macro for the real open function which doesn't take the variable parameter.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25844 a1c6a512-1295-4272-9138-f99709370657
2010-05-06 17:35:13 +00:00
Teruaki Kawashima
f79b45d8bb bubbles: fix FS#11070
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25044 a1c6a512-1295-4272-9138-f99709370657
2010-03-06 12:29:17 +00:00
Teruaki Kawashima
3f8d4a5a0f use same variable/macro name for highscore among plugins.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24941 a1c6a512-1295-4272-9138-f99709370657
2010-02-27 14:45:37 +00:00
Thomas Martitz
fa4ab10bbb Bubbles: Don't save scores when quit without saving is selected and reduce splash duration
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24586 a1c6a512-1295-4272-9138-f99709370657
2010-02-10 18:55:07 +00:00
Johannes Schwarz
c50209ef7f Hide menu entries "Resume Game" and "Quit without Saving" if not available and clean up the code
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24046 a1c6a512-1295-4272-9138-f99709370657
2009-12-17 15:37:52 +00:00
Tomer Shalev
f5e996532d Bubbles: Rename defines
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23980 a1c6a512-1295-4272-9138-f99709370657
2009-12-13 21:04:16 +00:00
Tomer Shalev
1737a401e4 Bubbles: Remove unused keymaps
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23979 a1c6a512-1295-4272-9138-f99709370657
2009-12-13 20:57:45 +00:00
Tomer Shalev
17e054a9fe Use positive logic in #ifdef hell
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23939 a1c6a512-1295-4272-9138-f99709370657
2009-12-12 07:27:36 +00:00
Robert Menes
ed64d91bc2 Yet more GoGear SA9200 plugin keymaps. Almost done!
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23893 a1c6a512-1295-4272-9138-f99709370657
2009-12-07 18:23:25 +00:00
Johannes Schwarz
2dbdfac86a FS#10620 - fix a bug in bubbles on c200 thanks to Sascha Wilde
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23449 a1c6a512-1295-4272-9138-f99709370657
2009-10-31 20:08:00 +00:00
Teruaki Kawashima
d41e698ea0 brickmania, blackjack, jewels, bubbles: Remove save file only if player resumed the game loaded from the file.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22639 a1c6a512-1295-4272-9138-f99709370657
2009-09-06 14:14:22 +00:00
Karl Kurbjun
25123570c7 Fix STRIDE macro for multiscreen and add stride support for picture lib.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22615 a1c6a512-1295-4272-9138-f99709370657
2009-09-04 00:46:24 +00:00
Karl Kurbjun
fe608c840d Bubbles: Add support for vertical strides.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22568 a1c6a512-1295-4272-9138-f99709370657
2009-08-31 04:00:30 +00:00
Thomas Martitz
32d50c2803 Bubbles: Change the saving message slightly to include saving scores.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22489 a1c6a512-1295-4272-9138-f99709370657
2009-08-24 01:13:59 +00:00
Thomas Martitz
11def4a3b7 Bubbles: Have one quit item that doesn't save anything ("Quit without Saving") and one that saves everything again, partly reverting r22143 and picking up Hilton Shumway's suggestion about naming it "Quit without Saving".
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22488 a1c6a512-1295-4272-9138-f99709370657
2009-08-24 01:11:24 +00:00
Thomas Martitz
22ddbd9ff0 Bubbles: Don't remove the savegame before actually resuming the saved game, as per dev mailing list discussion around the changes in r22143.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22487 a1c6a512-1295-4272-9138-f99709370657
2009-08-24 01:11:20 +00:00
Teruaki Kawashima
2357ec4178 calendar: fix bug when add new event text longer than last entry.
blackjack: fix bug that bet becomes 10 when resume saved game.
bubbles: save high level to sparate file.
clix, spacerocks, jewels, bubbles: correct text of menu item.
wormlet: clean up code: removed unused defines and functions.
pluginlib display_text: insert sleep so that the screen doesn't quit immediately.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22143 a1c6a512-1295-4272-9138-f99709370657
2009-08-03 16:30:08 +00:00
Karl Kurbjun
50d3928901 Blackjack: Use standard menu and add playback menu, use pluginlib high scores.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22126 a1c6a512-1295-4272-9138-f99709370657
2009-08-03 01:07:58 +00:00
Thomas Martitz
bbc9aebae3 Fix highest succeeded level from the highscores really this time, and don't confuse MIN() and MAX().
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22125 a1c6a512-1295-4272-9138-f99709370657
2009-08-02 23:26:02 +00:00
Thomas Martitz
5c09d3741a Cap the level chooser to NUM_LEVELS (100) to avoid accessing level 101, which contains the secret Data Abort Bubble (which looks really funny but is not an Easter Egg). Fix a bug with loading the highest succeeded level from the highscores too.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22124 a1c6a512-1295-4272-9138-f99709370657
2009-08-02 23:06:06 +00:00
Thomas Martitz
5291d09aaa Fix red - overlooked renaming in 1 place.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22122 a1c6a512-1295-4272-9138-f99709370657
2009-08-02 21:38:03 +00:00
Thomas Martitz
4654b3c90b New bubbles background for 176x220 (Sansa e200), heavily based off a mockup provided by Marianne Arnold.
Also implement some custom text positioning which is needed to display the text boxes horizontally.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22120 a1c6a512-1295-4272-9138-f99709370657
2009-08-02 20:26:25 +00:00
Thomas Martitz
374b21ef8a Remove two left-over DEBUGFs
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22118 a1c6a512-1295-4272-9138-f99709370657
2009-08-02 16:47:06 +00:00
Thomas Martitz
322fae4299 A bit of rework in bubbles:
*) Change saving mechanism: always save into RAM on any exit button, and offer an additional quit item in the game menu (so that 1 item doesn't save -> no disk spinup)
*) Change loading mechanism: always load on entering the game, but delete the save file still on actually resuming (that fixes weirdnesses with the level choosing menu item)
*) Remove the highscores from the bubbles struct.
*) Swap the "Start New Game" and  "Resume Game" menu items to help against accidental deletion of progress.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22116 a1c6a512-1295-4272-9138-f99709370657
2009-08-02 16:41:30 +00:00
Johannes Schwarz
99f5299996 Commit FS#10350, prevents to save an unchanged highscore and move the function show_highscore to the lib
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21960 a1c6a512-1295-4272-9138-f99709370657
2009-07-18 15:16:24 +00:00
Karl Kurbjun
f2c45dc369 Bubbles: Make new screen support a bit more generic and add support for 640x480 and 480x640 screen sizes
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21945 a1c6a512-1295-4272-9138-f99709370657
2009-07-18 03:47:03 +00:00
Maurus Cuelenaere
802743a061 Take 2 at 'Consolidate all fixed point math routines in one library' (FS#10400) by Jeffrey Goode
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21664 a1c6a512-1295-4272-9138-f99709370657
2009-07-05 18:06:07 +00:00
Johannes Schwarz
cacb47e262 FS#10291: use lib highscore.h and add a new highscore table
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21643 a1c6a512-1295-4272-9138-f99709370657
2009-07-04 23:05:41 +00:00
Maurus Cuelenaere
fef405c328 Enable plugins on the Onda VX747
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20647 a1c6a512-1295-4272-9138-f99709370657
2009-04-07 23:41:44 +00:00
Thomas Martitz
997005ece0 Sansa Fuze: Fix bubbles controls (scrollwheel didn't work).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20338 a1c6a512-1295-4272-9138-f99709370657
2009-03-17 04:49:55 +00:00
Thomas Martitz
15dbde1ab7 Accept the first patch at FS#9953 - Add Playback Control to more plugins, by Joshua Simmons
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20111 a1c6a512-1295-4272-9138-f99709370657
2009-02-26 17:10:27 +00:00
Dominik Wenger
15013562dc revert/fix parts of r19673, as it changed some e200 keymaps and introduces not-needed FIXME comments.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19778 a1c6a512-1295-4272-9138-f99709370657
2009-01-16 15:35:05 +00:00
Andrew Mahone
23d9812273 loader-initialized global plugin API:
struct plugin_api *rb is declared in PLUGIN_HEADER, and pointed to by
__header.api

the loader uses this pointer to initialize rb before calling entry_point

entry_point is no longer passed a pointer to the plugin API

all plugins, and pluginlib functions, are modified to refer to the
global rb

pluginlib functions which only served to copy the API pointer are
removed

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19776 a1c6a512-1295-4272-9138-f99709370657
2009-01-16 10:34:40 +00:00
Michael Giacomelli
6d5823f964 Commit FS#9617 - Keymaps for Plugins fuze by Thomas Martitz.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19673 a1c6a512-1295-4272-9138-f99709370657
2009-01-04 23:33:15 +00:00
Jonathan Gordon
fc9dc0a54a Replace the bubbles start screen with a standard menu to fix FS#8950.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19253 a1c6a512-1295-4272-9138-f99709370657
2008-11-28 02:31:17 +00:00
Rafaël Carré
5656f8245f Sansa Clip: build plugins (FS#9578)
Use unmodified C200 keymap when possible, variation of it when not
Use Archos bitmaps when possible

Current problems:
- Pegbox plugin shows display corruption (corruption is different in the simulator)
- Bubbles plugin misses 1 or 2 bottom lines, but if we gain back these lines it occupies a too small area of the screen
- Splitted screen (yellow/blue) is a bit weird in most plugins

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19252 a1c6a512-1295-4272-9138-f99709370657
2008-11-28 00:37:28 +00:00
Björn Stenberg
c6b3d38a15 New makefile solution: A single invocation of 'make' to build the entire tree. Fully controlled dependencies give faster and more correct recompiles.
Many #include lines adjusted to conform to the new standards.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19146 a1c6a512-1295-4272-9138-f99709370657
2008-11-20 11:27:31 +00:00
Björn Stenberg
ac488f8cb7 Makefile overhaul. All generated bitmaps are now explicitly in OBJDIR/bitmaps and OBJDIR/pluginbitmaps, and plugins properly depend on their respective bitmap files. Fixes #6847.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18987 a1c6a512-1295-4272-9138-f99709370657
2008-11-03 14:37:50 +00:00
Nils Wallménius
01729e7a18 FS#9281 Rename of splash functions.
* Remove gui_splash()
* Rename gui_syncsplash() to splashf() and remove its voice 
capabilities.
* Rename the internal splash() to splash_internal() and introduce an 
externally visible splash() that handles simple splashing  without 
printf functionality e.g. splash(HZ, ID2P(LANG_FOO)); or splash(HZ, 
"foo"); if a LANG_* id is passed it will be voiced.
* Adjust all places that called gui_syncsplash() to use the correct 
variant from above.
* Export both new functions to plugins and adjust places calling 
rb->splash() to use the correct variant so that we now have naming 
consistency between the core and plugins.
* Fix one latent bug that would cause my sim to crash with the above 
changes and correct P2STR and P2ID macros, thanks to pondlife.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18282 a1c6a512-1295-4272-9138-f99709370657
2008-08-15 08:27:39 +00:00
Daniel Stenberg
2acc0ac542 Updated our source code header to explicitly mention that we are GPL v2 or
later. We still need to hunt down snippets used that are not. 1324 modified
files...
http://www.rockbox.org/mail/archive/rockbox-dev-archive-2008-06/0060.shtml


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17847 a1c6a512-1295-4272-9138-f99709370657
2008-06-28 18:10:04 +00:00
Steve Bavin
6526577818 Plugin parameters should be const.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17492 a1c6a512-1295-4272-9138-f99709370657
2008-05-13 09:57:56 +00:00
Linus Nielsen Feltzing
ce08cdb294 Patch FS#8857 by Justin Hannigan - Correct Gigabeat instructions for Bubbles
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17015 a1c6a512-1295-4272-9138-f99709370657
2008-04-07 06:33:21 +00:00
Jens Arnold
00094511f4 Oooops, fix yellow.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16758 a1c6a512-1295-4272-9138-f99709370657
2008-03-23 08:42:32 +00:00
Jens Arnold
8bfefe9ce1 VU_meter: Fix help texts for most targets. * Blackjack: Add help text for M3. * Bubbles: Adjust a text and fix hold behaviour for M3.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16757 a1c6a512-1295-4272-9138-f99709370657
2008-03-23 08:26:42 +00:00
Jens Arnold
29361abf74 Adapt most single-file plugins to the M3 keypad and screen. It's still preliminary, as many plugins now can't be left without the remote. The plugins need to be converted to use the action API (but not pluginlib actions). Plugins are not enabled yet. * Simplify the bitmap handling in the source of some plugins.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16737 a1c6a512-1295-4272-9138-f99709370657
2008-03-22 10:24:28 +00:00