Commit graph

28 commits

Author SHA1 Message Date
Christian Soffke
faa2cb9942 plugins: Improve usability of iPod keymaps
- Reduce need to press multiple buttons at
the same time to quit a plugin

- Have "Menu" be default way to quit plugins or
to access plugin menu

- Fall back to (Long) "Select" or Long "Menu"
in cases where Menu button isn't available
(e.g. in ImageViewer and many games)

out of scope:
boomshine, lua_scripts, Rockpaint,
Doom, Duke3D, Pacbox, Quake,
Sgt-Puzzles, Wolf3D, XWorld,
Minesweeper, Pixel Painter, Spacerocks

Change-Id: I6d4dc7174695fe4b8ee9cbaccb21bdbfe6af5c48
2022-12-29 04:39:22 +01:00
William Wilgus
97a82ee3ec plugins HAVE_BACKLIGHT helper remove ifdefs in favor of dummy functions
lessen the ifdef hell

Change-Id: I52f830284e4599f3fc3a75c27dda27058b8de1a3
2022-11-23 23:00:29 -05:00
Aidan MacDonald
005c414e5f Document intentional fallthroughs + fix harmless unintended ones
Change-Id: I1ca5b1027ec30cbf61093bab35b980196ed14e6b
2021-08-04 18:59:46 +00:00
Solomon Peachy
9be5bc4cf0 plugins: More HAVE_BACKLIGHT cleanup
Change-Id: I70cf700f5bc3d4375c025efa62ef40fd2bd70293
2020-07-24 19:20:15 -04:00
Bertrik Sikken
fe67a87885 plugins: another round of making local functions static
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30758 a1c6a512-1295-4272-9138-f99709370657
2011-10-15 20:38:08 +00:00
Teruaki Kawashima
01313d5039 * Rename backlight_force_on to backlight_ignore_timeout to make it clear what the function does.
* Add backlight_force_on() which forces to turn on backlight even when the setting is set to Off. use this in lamp.
No functional change except lamp.
See aslo FS#9883.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29128 a1c6a512-1295-4272-9138-f99709370657
2011-01-24 12:29:16 +00:00
Rafaël Carré
ab9fd1840b plugins: use lcd_putsf/lcd_putsxyf
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27926 a1c6a512-1295-4272-9138-f99709370657
2010-08-28 21:46:45 +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
Teruaki Kawashima
dc010201a5 make sure plugin reset backlight setting before exit. do code polish.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24076 a1c6a512-1295-4272-9138-f99709370657
2009-12-18 14:17:28 +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
Michael Giacomelli
9e21a42509 Commit next part of FS#10138 by Teruaki Kawashima. Fixes check for open error in rocklife.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21100 a1c6a512-1295-4272-9138-f99709370657
2009-05-27 19:21:05 +00:00
Alexander Levin
d55ebceed7 Fix red introduced with r20610.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20612 a1c6a512-1295-4272-9138-f99709370657
2009-04-03 20:48:19 +00:00
Alexander Levin
ed0ac675b0 Rocklife: allow the cells file to have comment (everything on a line starting with a '!' is a comment). FS#10081, thanks to Justin Hannigan.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20611 a1c6a512-1295-4272-9138-f99709370657
2009-04-03 20:35:24 +00:00
Alexander Levin
b549ce9193 Some improvements to rocklife (FS#10087, but slightly less paranoid). Main improvement is that the file loading will not lead to stack overflow or illegal memory access.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20610 a1c6a512-1295-4272-9138-f99709370657
2009-04-03 20:25:12 +00:00
Tom Ross
8a36b1c323 Fix yellow in rocklife. j=j++ was most likely meant to be j++. Seems to be no change in behavior of my test file.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20605 a1c6a512-1295-4272-9138-f99709370657
2009-04-02 06:26:21 +00:00
Robert Menes
843498feca FS#10079 by Justin Hannigan: Support for opening and viewing .cells files in rocklife. To use, simply select a .cells file in the file browser, and rocklife will launch and load it.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20591 a1c6a512-1295-4272-9138-f99709370657
2009-03-31 14:38:01 +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
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
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
Marianne Arnold
8d8576a54f Fix maze and rocklife on greyscale targets which were broken by r17382. Maybe the colours or the code can be improved a bit, just get it working again for now.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17390 a1c6a512-1295-4272-9138-f99709370657
2008-05-05 17:14:45 +00:00
Barry Wardell
80ad31c5e3 Keep the old colours for maze and rocklife.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17382 a1c6a512-1295-4272-9138-f99709370657
2008-05-05 13:42:05 +00:00
Jens Arnold
bf2a33485f Fix some plugins not using the helper functions for the new backlight timeout handling.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15849 a1c6a512-1295-4272-9138-f99709370657
2007-11-29 23:55:58 +00:00
Antoine Cellerier
4e7b760740 propset svn:keywords Id
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13737 a1c6a512-1295-4272-9138-f99709370657
2007-06-29 19:45:00 +00:00
Antoine Cellerier
b046b79f7e FS #6616 - "rocklife: Conway's Game of Life" by Matthias Wientapper.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13736 a1c6a512-1295-4272-9138-f99709370657
2007-06-29 19:40:03 +00:00