Note: I left behind lcd_bitmap in features.txt, because removing it
would require considerable work in the manual and the translations.
Change-Id: Ia8ca7761f610d9332a0d22a7d189775fb15ec88a
'swcodec' is now always set (and recording_swcodec for recording-capable
units) in feature.txt so the manual and language strings don't need to
all be fixed up.
Change-Id: Ib2c9d5d157af8d33653e2d4b4a12881b9aa6ddb0
HAVE_LCD_BITMAP is now redundant.
lcd_bitmap is always-on in features.txt so manual and lang strings
don't have to change
Change-Id: I08eeb20de48099ffc2dc23782711af368c2ec794
rb core allows you to load custom keyboard layouts
this patch adds the ability to load a keyboard layout in a buffer
the custom layout is temporary and does not overwrite the current layout
use like so:
unsigned short kbd[64];
unsigned short *kbd_p = kbd;
if (!kbd_create_layout("ABCD1234\n", kbd, sizeof(kbd)))
kbd_p = NULL;
rb->kbd_input(buf,sizeof(buf), kbd_p);
Change-Id: I7be2bd4a1b4797a147fa70228a9749dc56ac052a
keep running into the rigid nature of do_menu
it isn't too bad when you don't need voice but once
you do the fun awaits
do_menu likes to talk on menu enter which is in a loop when you use do_menu
I would like to move the processing to the callback
TOO BAD you only get an action and the menu_item_ex struct
you sent it when calling the function
Change-Id: Iaefd0cc133435d675b7dd27a558c504d6ccb327a
We were improperly conditioning the state reset with `do_pausemenu'. We
should reset the input state no matter what.
Change-Id: Iaafc59b95e9f1f053b57a34f0f28f7c672c0e327
First I discovered a bug in the code to display the currently playing
album from the WPS
--on a NULL id3->albumartist field PF would crash
now checks for a match in id3->albumartist and then id3->artist
if neither exists then the search uses <untagged>
ditto for album
The album index feature (recently added) did not check for enough
room in the buffer on restore
--save and restore code cleaned up a bit
moved all buffers to their own struct
tracks with no title now show filename rather than <UNTAGGED>
Reworked album search function
album search was going quadriatic resulting in some outrageous
index build times [40mins+ for 4000 albums]
building now done in stages and duplicates removed at end
*MUCH FASTER*
Album art
empty album art is no longer stored in the art cache
PF will now allow you to cancel building album art without
forcing a rebuild next run,
it will continue searching for album art in the background
album art is now updated in the background on each start as well
tracklist now rolls over at the end
artist_index is now discarded after album_index is created
Cleaned up some of the myriad of global variables
Added quit prompt for index building
Added sanity checking for album_index loaded from disk
Change-Id: I8494cb7abcb1ae8645c223fc3c11dc0ee749883a
This works around an odd issue in Mines involving the zoom feature. The
chain of events leading to it is rather convoluted:
1. No save game is found, so no fonts are loaded from disk.
2. A new game is started.
3. The user selects the "Zoom" option.
4. The allocation of the zoom framebuffer causes the malloc code to grab
the audiobuffer. This causes all further font_load() calls to FAIL, due
to buflib allocations no longer working.
5. The user goes back to the normal view and uncovers a square.
6. Font loading fails, causing the drawing code to fall back to the system
font.
7. An unrelated bug (not yet tracked down) causes font_get(FONT_UI) to
return a different font.
8. font_getstringsize() returns the right size of the "wrong" font, leading
to centering issues upon rb_draw_text().
The real solution to this would be to fix font_get(), but this fix should
prevent the issue from happening if Mines has been run and saved at least
once before.
Change-Id: Ib9ad51376eeb3ca1113a1f3786124b612db88cd7
Frontends now have a way to retrieve the backend cursor position with some
changes I've submitted upstream. With this information, we can now follow
the cursor around in "interaction mode" while zoomed in, eliminating (most)
need for mode switching.
Also does some cleanup of the frontend code.
Change-Id: I1ba118f67564a3baed95435f5619b73cfa3ae87a
- zoom now remembers position between activations (but not when exiting the
plugin)
- key repeat enabled when panning
- moving mouse out of frame while zoomed will pan
- mouse can be moved diagonally
Change-Id: I39380ef7f36238700b6baa54cac036832933df67
We had some issues in Keen with the arithmetic operators not being rendered
properly. This is still a kludge (we should intelligently search the font)
but is still less ugly than the garbage it was drawing before.
Change-Id: I5b957c7371b659ea6d64847145f9913b2a892e48
We have a couple games like Untangle and mouse-mode games in which the
software poweroff is very annoying.
Change-Id: I554b89aecf8c7cc20c6c7f305be1b8807dc9283b
On some devices, the button driver allows a "software poweroff" by long-
pressing a certain key. This behavior is inconvnient when that button needs
to be held down for other purposes, such as moving the cursor in rockpaint
or sgt-untangle.
This patch allows selectively disabling the software poweroff (enabled by
default) from both core and plugin code.
Change-Id: I7580752888ae5c7c7c5eb1be5966e3d67f17d4b4
For some reason lcd_getstringsize was occasionally reverting to the system
font, rather than the loaded font. This was leading to improper font sizes
being reported.
Change-Id: Ie5fc31de9a6a7af739beb22efc3ec1383206eaea
I can't believe this has gone unnoticed for so long... We need to update
the game size upon loading games. Who knew?
Change-Id: I929f8139457853440ae687bd937af989fa7c6f93
The name buffer is using too much ram for some targets
will revisit later...
removed extraneous call to set_scrol_lline
Change-Id: I56d658149bcb0c50857d25924e37bcb46a612c75
- Extra data structure to store artist info.
- Create_album_index modified to perform a different query.
- Added load and save functions to store the data index in HDD.
- Album collisions fixed.
- New config options to perform rescans.
- Extra fields added to lang files: english and spanish.
Update CREDITS
Change-Id: I31814b38d8b4e7fa4b65f5e6e51aa5f00d271ece
using rockev for button presses
misc code refactoring, comments
drawing code is now split from game logic
cpu boost for targets that support it
removed quite a few if then statements by using dynamic functions
for ball draw, step, hit_check
shows two ways to do OO functions (closure and reference)
Change-Id: I63e795bbe90b033eabadc1f519cf3b635cf5e1a7
just a few tweaks to the RockEv backend to allow tighter event timing
originally there was a timeout where events would be consolidated
prior to running the event thread, this slowed the faster events
but it turns out this isn't really a big waster of time
The callback from C => lua is a far bigger bottleneck
Change-Id: Iffacbe49c4b83155099b1304590450f746576fa4
WIP for passing arguments to lua scripts
args are recognized by adding ?arg to the end of the script path
The easiest way to do this currently is to use the function rb.restart_lua
local sfile = rawget(_G, "_fullpath") or ""
local sArgs = rawget(_G, "_arguments")
if not sArgs then
rb.restart_lua(sfile .. "?my arguments")
else
rb.splash(1000, sfile .. "?" .. sArgs)
end
I'd eventually like to figure out a sensible way to do this from a
shortcut / quick list
Change-Id: I2b60fe3b8f1d04b57361fe532510bd6afee59fbf
(A lot of work was done on this thing, for a target that hasn't been compileable
at least since we moved to git..)
Change-Id: Ibface9392f3251b5be4bf1e0c4d12639c4f1662d
Provided by Roman Stolyarov
Integration, Refactoring, and Upstreaming by Solomon Peachy
X3II confirmed working by forum tester, X20 is nearly identical.
This includes bootloader, main firmware, and the flash image patcher.
Eventual Todo:
* Further refactor AGPTek Rocker & xduoo hiby bootloaders
* Further refactor AGPTek Rocker & xduoo hosted platform code
Change-Id: I34a674051d368efcc75d1d18c725971fe46c3eee