Commit graph

5104 commits

Author SHA1 Message Date
Solomon Peachy
20f50bbca3 plugins: mikmod and chessbox weren't fully translated
This unfortunately required adding four more strings.

Change-Id: I656c3c4902de5f841ea742549b3d122463e399a8
2024-06-07 17:47:17 -04:00
Christian Soffke
507fa214a8 Fix red in 3d7d1d4d
Change-Id: I335495b8672c7b4d187400fa8b0abe511b110688
2024-06-01 18:25:41 +02:00
Christian Soffke
3d7d1d4d5b plugins: properties: show track info for whole playlist
Track Info can now be displayed for the set of
all tracks contained in a  playlist. This lets
you calculate a playlist's length, for example,
even if it is not currently playing.

This functionality can be accessed from the
existing "Properties" screen for a selected
playlist file. A line has been added at the
very bottom to show Track Info.

Change-Id: I311532b7cfa9e29d46c0cd5623ba4c06c1dd5b5f
2024-06-01 11:55:36 -04:00
Franklin Wei
e72bae7c3f [Superdom] Bugfix
Prevents the plugin from locking up on the highest difficulty level

Change-Id: I07ab77e825935948b2d15ca6d36ad24b2716ac1b
2024-05-26 11:51:30 -04:00
Solomon Peachy
62da4ad84b voice: Correct all uses of spashf() with an ID2P() argument
...Instead voice the string and all of the arguments manually.

Change-Id: Ic030b2f00c90cb372ff5b781a8de4bcb19375d5d
2024-05-19 21:05:43 -04:00
Solomon Peachy
1957237a46 Fix red in 8c86fb6da0 (ipod5g only)
Change-Id: Idf6a488728b0187779bc4a9232c7e7e9400afeec
2024-05-08 22:03:59 -04:00
Solomon Peachy
8c86fb6da0 arm: Use -masm-syntax-unified when compiling with gcc8 or newer
Annoyingly, this makes all of the '.S' files we compile get treated as
divided syntax, so we need to make the syntax in them explicit.

Change-Id: I56a3916b7b24c84a1214a5d6bc4ed4d651f002cf
2024-05-08 21:45:42 -04:00
William Wilgus
3348d84206 open_plugins Fix Yellow
Change-Id: I036bd57c7e55f7059f858e9f0929500c2094e579
2024-05-06 18:00:49 -04:00
William Wilgus
ee840709d3 [Feature] Open plugins now recognizes known filetypes and can run them
now you can run your lua files without having to add the viewer to
the shortcut or if you want a bmp file to be displayed when you start
the device that can be done as well

Change-Id: Ia56b566789623a2ca78d9e4583086db6e2cd689b
2024-05-06 17:27:25 -04:00
William Wilgus
f55483a966 lua --remove files moved to include directory
Change-Id: Ic9256cb28126dba89b1458109c717f846f5b6d38
2024-05-05 14:11:47 -04:00
William Wilgus
d7c541742f Allow first level folders in plugin menu
add sorting directories as files
move picross files to a hidden folder

use directory for lua_scripts, sgt_puzzles

make plugin browser able to handle 1st level directories

Change-Id: I30852d71dc992c378d5790756e94f06f5a2e9bef
2024-05-05 14:01:43 -04:00
William Wilgus
6fccac3f44 lua extend stars demo plugin
extend the stars demo plugin with hit testing and more

draw_poly now returns the extent of the  figure it drew

the sim doesn't strip debug info now

unnamed upvals will display "" instead of just ending the debug line

[Bugfix] fix make file name conflict for picross

Change-Id: If342aaff314972c187fa1f299d956e3482366e57
2024-04-28 01:03:16 -04:00
Nathan Korth
2c7e47fc12 New plugin: Picross
Picross is a puzzle game also known as Picture Crossword, Nonograms, or
Paint By Numbers. See http://en.wikipedia.org/wiki/Nonogram for
information on how to play.

Update 1: nicer graphics with less images, fixed directory listing,
changed how the board works to make a lot of math more sane

Update 2: added missing rb.yield to viewPicture loop

Update 3: you can now save a game in progress

Update 4: fixed a file pointer leak, improved the numbers font

Update 5: no images, use vector num draw library add zoom, freedraw -- Bilgus

Change-Id: Idc476b46b6eaa10818400fa789701d5bac83467f
2024-04-28 00:21:16 -04:00
William Wilgus
0dd5df4060 [BugFix] tlsf get_new_area should return 0u or OOM
Change-Id: I24f67a3a28237b7c1035932f69b7f526471bb8ef
2024-04-27 03:23:43 -04:00
William Wilgus
ba4b41663c [Fix Red] Remove amaze plugin from lowmem targets
Change-Id: I43ed6adec2f07fe09d8d57b7e63d2edaf6c83ef9
2024-04-25 20:49:41 -04:00
Solomon Peachy
04181bb832 Fix sim build error with GCC14.
This is a (thankfully harmless) long-standing callback prototype
mismatch; I'm surprised this wasn't caught before!

Change-Id: Idb3ebc6d7d4fd64841d0a10981c4bf1b10d192c7
2024-04-25 13:32:47 -04:00
Franklin Wei
6efd7f8f3e FS#8647: Amaze - 3D maze game plugin
- update to build against latest Git
- cleanup (whitespace, indentation)
- fixed old PLA handling
- update indentation/curly brace style
- improve load/save mechanism
- enable marking ground with "select" button
- add compass view
- improve display on 1-bit-targets (floor pattern)
- graphics update: add 3x3 and 5x5 tiles, rework 7x7 and 9x9 tiles,
  load tiles dependant of screen size
- fix: on some targets (Fuze+) division by 0 could occur.
  Fix by calculating the exact view depth on all targets.
- fix: duplicate error checks when saving prefs
- Fully translate it
- Add a simple manual entry (including screenshots for some platforms)

Change-Id: Ic84d98650c1152ab0ad268b51bd060f714ace288
2024-04-24 17:37:58 -04:00
Aidan MacDonald
591a83a089 plugins: multiboot_select: Support touchscreen pointing mode
The plugin is menu based, so it should respect the global setting.

Change-Id: Ibfca63c919baa508d1253328c49c6b18f9e815f6
2024-04-21 20:38:11 -04:00
William Wilgus
123858287b fix red rli_img
devices > 16 bit depth use a struct of values for the pixels
this needs converted to use by functions expecting a single integer as
a pixel value

Change-Id: I540d667239bc581e1d31dfe1e07c51ba10803ddf
2024-04-18 13:40:01 -04:00
William Wilgus
a6570b7d37 lua use lcd_drawline to draw lines inside rliimages
rewrite draw_text to use new viewport buffer

set_viewport now accepts rliimage to allowe interfacing with rb. functions

fix long standing 2-bit bug with text drawing in lua
fix 2-bit img
saving bug (i'm guessing just a one off, just enabled clipping)

fix font_getstringsize bug

fix shape of numbers draw_num.lua also add auto centering

add page scrolling to printtable

add a new demo script 'stars'

Change-Id: I866905cee82ee89ebc0eb020a56a7ecdb101bf5e
2024-04-18 13:11:51 -04:00
William Wilgus
8c994db247 multiboot_select plugin check volume root for valid firmware -- Try 2
I'm not sure why but on my fuze v2 I don't get the '.' nd '..'
directories back from readdir

that make removing '.' to find /.rockbox inconsistent

Instead filter out files and strcmp the incoming dirs
to BOOTDIR (.rockbox) and clear it when they match

Change-Id: Id8f3312cb3ae624dff1be21f745034c08c4ae1a7
2024-04-02 21:04:44 -04:00
William Wilgus
4a91d37613 multiboot_select plugin check volume root for valid firmware
Change-Id: I5feb4b00ae385ff8967de27682d4e4a528dc2ae5
2024-04-02 19:58:12 -04:00
Roman Artiukhin
e122243bb0 plugins: playing time: fix possible crash on sys event
Change-Id: I7b3580c56e2b285f56b9e2195fbf3c14b6cd96e5
2024-02-03 16:01:22 +02:00
JJ Style
49910eca4b Implement dart scorer plugin application.
Edit:
    - Add name to credits
    - Add entry in manual

Change-Id: I0e0b062e001ae9134db3ee6e4fba21e93ddd04ee
2024-01-23 22:32:22 -05:00
Christian Soffke
fd12225861 plugins: alarmclock: fix input lag
Change-Id: I6e2e9723aea511eef32116c92105822cc8a16271
2024-01-12 13:15:49 -05:00
Christian Soffke
de16065265 plugins: disktidy: fix loading of filetypes to clean
regression introduced in 1648441

Change-Id: I7e7c07128bf47ca862b4d45b362e7723846163a7
2024-01-07 07:01:13 +01:00
Solomon Peachy
5cf8248442 plugins: Associate markdown (*.md) files with the text viewer/editor
Change-Id: Iac48469e6e9b30574ac8a3f73f21e5f195d44d22
2023-12-22 14:36:29 -05:00
William Wilgus
53a47970e3 [BUGFIX] some files wouldn't run as shortcut
make sure we have a chance to get the dirfilter otherwise
it may be rejected

adds some sanity checks and safeguards too

Change-Id: Ibdad288ace0c8bf6ac7b8f46722a43aebead829e
2023-11-23 12:26:08 -05:00
William Wilgus
72c539d35e [Bug_Fix] shortcut to directory in .link files caused crash
since the plugin browser is now closed when running plugins
rb->set_current_file() had no valid browser context and used 'random' memory
instead

also adds a way to discard levels so we can load the desired directory
instead of returning to the previous

https://forums.rockbox.org/index.php/topic,54694.0.html

Change-Id: I624246e56d42972bf6a1ce566a209b745de6f30b
2023-11-22 00:52:58 -05:00
Christian Soffke
ba62798746 Playing Time plugin: Fix calculation for shuffled playlists
Playing Time produced incorrect results when
the playlist's first index wasn't 0.

Change-Id: I1c11b876e0e435c824c9ddc0863fd7ee76bda073
2023-10-31 17:58:17 +01:00
Christian Soffke
9cd4943950 Properties/Tagcache Track Info Retrieval: Skip files with errors (2)
Addendum to e3b2293

Don't abort even when the database has returned a filename,
since metadata retrieval may still fail.

Change-Id: I9e397c44a4c80f24e937f085efbd540f274822a0
2023-10-17 19:29:45 +02:00
Christian Soffke
e3b22935f2 Properties/Tagcache Track Info Retrieval: Skip files with errors
File names exceeding the max length will not be retrievable
from the database. Skip such files, instead of cancelling
the operation at that point.

Change-Id: Ia6bc8a53be9ec181eb836956cc3d8b059b2d024f
2023-10-17 12:18:33 -04:00
William Wilgus
3c89adbdbd [Feature] lastfm_scrobbler don't return to plugin on WPS resume failure
if resume playback on start was set and there was nothing to
resume the menu was entered

Change-Id: Iab5f48e94f3de68091cf42781d6e3ab4575c1a84
2023-10-11 07:12:31 -04:00
William Wilgus
a0c29d8857 db_commit swap threads, add ability to cancel, backup/restore
extends the db_commit plugin with the ability to delete the database
backup, restore, dis/enable auto-commit

Change-Id: Id61546e463d151399d2ac8459480e6adc5d6fac6
2023-10-10 05:48:37 -04:00
William Wilgus
f3baff762a [FixRed] db_commit add rb-> to plugin function
Change-Id: I9c47142c0075df47149805ec87effc6ee0b94a24
2023-10-05 22:33:01 -04:00
William Wilgus
f671c3339e [FixRed] db_commit plugin
Fix Hosted and Touchscreen targets

Change-Id: I3c7ef3ca6ebc0703e0455f3405b683dff1384864
2023-10-05 22:07:03 -04:00
William Wilgus
1ed640da24 [Feature] db_commit plugin allows a more verbose commit
prints logf messages to the screen buffer and dumps the
output to .rockbox/db_commit_log.txt

logs warnings about tags that can't
be displayed by the current font

adds an option to the tagcache using the file
.rockbox/database_commit.ignore to prevent auto commit

Change-Id: Ib381b3b6d9dd19d76c95d0e87e605f7378e29674
2023-10-05 21:24:37 -04:00
William Wilgus
6634a60bf0 tagcache/tagtree remove static buffer from tagcache_get_next
callers can supply their own buffer

Change-Id: I8996ecfb88e30926296a0cb0563cf6c46977323e
2023-10-03 21:54:19 -04:00
Aidan MacDonald
7ccbd705f4 playlist: Rework playlist modified detection and dirplay
The modified state is now an explicit flag that has to be
set whenever a user-triggered modification occurs. This is
recorded in the control file to ensure it doesn't get lost
after resume. There may be some places I missed where the
modified flag should be set/cleared, but it seems to work
well enough right now.

Change-Id: I3bdba358fc495b4ca84e389ac6e7bcbef820c219
2023-10-01 11:05:29 -04:00
Solomon Peachy
57a47ef67a calculator: Fix compile issue in mingw32
Change-Id: I7d70b4f0d6fd574575298b0709e78b9096801c07
2023-09-22 10:32:09 -04:00
Solomon Peachy
8cc3266b2a Settings: Rename INT/BOOL setting type enum to RB_INT/RB_BOOL
....Because INT and BOOL are already defined in mingw32.

Change-Id: I28ab8189c00002c8f68bc9d0c23d2ae78d9e33d0
2023-09-22 10:00:46 -04:00
Christian Soffke
cb3a6877fc RFC: Turn Playing Time function into plugin
Since this function already requires hitting the
disk, it may make sense to turn it into a plugin.

A minor advantage (apart from cleaning up onplay.c
and saving RAM) is that you can now access the menu
not just from the WPS context menu, but also from
the Shortcuts Menu or using the WPS plugin shortcut.

On the other hand,  TSR plugins would have to be
terminated when Playing Time is launched, as is
already the case for other plugins such as PictureFlow.

Change-Id: Iea85229486887463ffc52f05e33e2340437f69a4
2023-09-20 23:57:39 -04:00
William Wilgus
e60ade1fbc [BugFix] last fm scrobbler not saving pending tracks on shutdown
Change-Id: If7b03220c466ccf3f27cdf13d2e0b50d6a312bdc
2023-08-29 02:48:51 -04:00
Solomon Peachy
9fd59557fc pdbox: Fix inconsistent function definition
Change-Id: Ia258f1d111cedf9698538a38a1b949a43199b92c
2023-07-02 20:45:16 -04:00
Aidan MacDonald
9ba51e3552 playlist: Remove playlist_add()
It was only used in filetree.c. It's still implemented in Lua so
scripts using rb.playlist_add() won't break, but has been removed
from the Lua API "backend".

Change-Id: I5625a47f0692456008c6b10dee14755151d22f29
2023-07-02 12:14:33 -04:00
Christian Soffke
207a7fe448 last.fm scrobbler: Use portable alignment
Change-Id: I44cd89f4a4dca1ab9c6134b6a1bf16328d233c0e
2023-06-23 16:09:37 +02:00
Christian Soffke
2f0034e012 plugins: last.fm scrobbler: fix crashes on iPod/ARM
Change-Id: Ife0f1be20c681c153163233569933348b06d5c32
2023-06-22 20:27:36 +02:00
Christian Soffke
3ef49d9c5e PictureFlow: Make Shuffle options available
The "Playing Next..." menu couldn't display any
options for shuffling tracks of an album before

Change-Id: I54f4497394fb29877bf8bce0ef95a27c82eb2279
2023-05-27 19:17:52 -04:00
Christian Soffke
31b8cd8f73 PictureFlow: Remove menu items for "Return" and "Clear Playlist"
On all players, it should be possible to return from the Main Menu
by pressing the Back or Menu key. Unless I'm missing something...

"Clear Playlist" has hopefully become superfluous after the "Playing Next"
context menu was added, which offers similar functionality.

Change-Id: I741544978fb7936b8d5a34dfc656472e20c1737e
2023-05-26 13:08:12 -04:00
Christian Soffke
49b877470d PictureFlow: Add ability to go to last album
After launch, PictureFlow always goes to the currently playing
album, or to a selected album, if applicable. Which is probably
a useful default, but not always wanted. You can now get back
to the album you were looking at when PictureFlow was last
closed, or when the sorting was last changed.

Change-Id: Iba3e0d5388f6b49534d09fe0224b0dbfa65d5f1d
2023-05-26 18:29:07 +02:00