1
0
Fork 0
forked from len0rd/rockbox
Commit graph

4920 commits

Author SHA1 Message Date
Solomon Peachy
311f27606c xrick: Fix build on RGB888 targets
Didn't realise they needed the same hand-holding as XRGB8888

Change-Id: I28274b7326747093ef94427b1ddbcb948c907a2b
2024-06-30 20:57:34 -04:00
Solomon Peachy
9b8cfd1bb3 FS#10959: Fix multiple bugs in brickmania (Matteo Italia)
- offscreen ball check;
 - "suicide button", with its documentation in the help (defaults to Down+Fire+Quit on targets that have DOWN defined, Fire+Quit held for some time for the others) ;
 - help screen made a little more clear (IMO) by underlining the key names;
 - help screen *code* made a little easier to handle, adding the last element number in the words array (this eases the formatting specified in the other array);
 - now the game does not delete the savefile after it loads it, but only by request (to do it a new menu entry was added); so, now "Quit without saving" will actually leave you to the state of the last savefile instead of resetting the game;

Change-Id: If3eeabada1566dcd4a9473d3d1e361d4921e4005
2024-06-30 20:32:38 -04:00
Solomon Peachy
eacb4daa2d More xrick-related cleanups
* Correct broken CREDITS file causing HTML manual build failures
 * Fix warning on iAudio M3 and MPIO HD200
 * Fix XRGB888 pixelformat builds, hopefully correctly.

This should bring the board back to green.

Change-Id: Ia7d54641d37db19d4cee3b5d9f5d8ab1567ac30b
2024-06-30 20:30:49 -04:00
Solomon Peachy
423350ec4d xrick: Fix various errors/warnings
* Piles of warnings in miniz when built with modern toolchain
  * Pointer arithematic error in PRNG
  * Casting between int and void * for file descriptors
  * Warning on non-color targets

Remaining:

  * Failure on XRGB888 LCDs due to issue with core LCD macros
  * Failure on interleaved greyscale LCDs (?)
  * HTML manual build failure

Change-Id: Ibf6d2c001ec8daf583731d5da15b86b5352773e7
2024-06-30 18:45:07 -04:00
Sebastian Leonhardt
102c374248 added xrick game
original xrick code by 'BigOrno' at:
http://www.bigorno.net/xrick/

Rockbox port, plus bugfixes at:
https://github.com/pierluigi-vicinanza/xrick

Further changes:

 * Additonal fixes from g#3026
 * Port to modern plugin API
 * Add Pluginlib keymap fallback
 * Support all >1bpp screens
 * Fix build warnings in miniz
 * Better error message when resources are missing

Change-Id: Id83928bc2539901b0221692f65cbca41389c58e7
2024-06-30 17:24:16 -04:00
Solomon Peachy
f3de4729ce Fix an issue building the fft plugin on greyscale targets on some simulator toolchains
The fft plugin uses pluginlib osd stuff _and_ greylib together,
which results in two conflicting declarations of the _grey_info struct.

Normally we treat the one in pluginlib as __weak but we disable that on
windows simulator builds, because the osd code ends up requiring it.
due to not using-function-sections and -fdata-sections on simulator builds.
Simply disabling all of that crap doesn't seem to help.

So instead, for simulator builds, mark the fft's struct as extern, only
using the one in pluginlib.

Change-Id: I1adf9acc265a60f91b8ac0fcad9d792e3240a9d9
2024-06-27 20:42:32 -04:00
Solomon Peachy
a9254da767 build: Fix yellow introduced in 5d39d987c0
Change-Id: If17a04922006e1fa1f65543563da69f8bb6c503a
2024-06-24 10:59:27 -04:00
Roman Artiukhin
95d8168385 plugins: playing time: Increase buffer for size strings
10 is too short for some localizations (for instance russian 103.23МиБ requires 13 chars due to utf8 encoding). Use 20 instead

Change-Id: I4c7d1233358c8322545fce45dc798691410dd21e
2024-06-24 16:59:14 +03:00
Roman Artiukhin
5d39d987c0 plugins: playing time: Show info in 2 lines (header + details)
Improves readability on small screens.
See WPS -> Context Menu -> Current Playlist -> Playing time

Also, Russian translation is adjusted accordingly.

Change-Id: I23662ccb324f07a742179ff274453416bb8eff08
2024-06-24 16:59:14 +03:00
Solomon Peachy
a1c526f35f lua: Fix Windows Simulator build.
(Basically, use the OS-provided gmtime() instead.  It's pulled in via
 another header we need..)

Change-Id: Ia09609a3a38dc58133a4a209cc803f0d9d0802f4
2024-06-22 10:06:47 -04:00
Solomon Peachy
231797dfa8 mikmod: use -DMIKMOD_STATIC to make building under windows happier
Change-Id: Ib42c336d592358c7b53bbd94d43c69ed9977679f
2024-06-22 10:03:01 -04:00
Solomon Peachy
53a43522a3 mikmod: Fix null pointer dereference in mikmod plugin
While playing, the user can switch between
status/samples/instruments/comments screens.  The instrument names are
blindly passed to printf, which will lead to a null pointer dereference if
the instrument name is NULL.

...Which happens with some .IT modules that I have.

This should arguably be fixed in the printf implementation, but we still
shouldn't be passing in NULLs as string arguments!

Change-Id: I2899e2f7e10565c251e495752b3ef1bbccea82c7
2024-06-20 15:16:22 -04:00
Solomon Peachy
73f40d8a23 build: Experimental LTO support, phase one
* Only codecs and plugins are enabled
 * Only native builds (so far)
 * Only tested on xDuoo X3 (MIPS, monochrome)
 * opus & speex generate some warnings
 * Significant compile time impact

Change-Id: I519b0d179631a54b2103cd67225bd5ec6ad3bd2f
2024-06-18 08:15:47 -04:00
Solomon Peachy
ec23260fd1 mikmod: Settings names should _NOT_ be i18n'd.
Regression was introduced back in 2019 in 2ebb8da275

Change-Id: I035e295b4e17e1f834059d1c6466562000749e54
2024-06-11 10:13:40 -04:00
Solomon Peachy
c97954f014 FS#13434: Partially internationalize the textviewer plugin
* Converted over all previously-translated strings
 * Lots of comments added to mark the next phase
 * Voice filename of the file being loaded if possible

Change-Id: Ia3219bbfa4505ad29a25bcf1d6eacc94c59a2a83
2024-06-11 09:53:40 -04:00
Solomon Peachy
46ec07e4be mikmod: partial revert of previous commit.
The strings in the struct configdata[] are only used in the settings
file, and not displayed.  Therefore there is no need to translate them.

Change-Id: Id9e03c4b0454412b319ad678e6f57a46e1da0f6e
2024-06-07 18:10:48 -04:00
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