Commit graph

34194 commits

Author SHA1 Message Date
William Wilgus
f45db552f3 lua rockev rewrite
After a few issues with the timer code in the hosted players

I realized a few shortcomings in the original rockev code...
This rewrite gives thread_exit an explicit flag instead of 0
custom events now have a set-able timeout
previous lua hooks are restored
flags are stored in uint8_t

Change-Id: I9ca45246ac9233a2faa581e26a8cc5e5fb512e88
2019-11-15 14:28:03 +01:00
William Wilgus
9cfdbdb355 MultiBoot_Firmware Fix red for bootloaders
Change-Id: I0446258d1f14f5423cca55de04abf545a92c61cf
2019-11-15 05:05:20 -06:00
William Wilgus
62e5a3076c MultiBoot_Firmware
Stop gap till I get a chance to work on the root folder stuff

Makes whatever volume marked by bootdata.boot_volume
the base or root volume, mounts all other volumes after
the specified boot volume.
Has the effect of swapping the SD card to the slot for internal
and Internal storage is mounted as the Sd-card.

Does not honor root redirect -- uses .rockbox folder in the root of boot volume

Change-Id: I0f786aa0c8721e21cba607366775be3e3c0cf474
2019-11-15 11:26:56 +01:00
Franklin Wei
3083abeb95 deploy-rbutil.py: allow zipball building to proceed if no DLLs are found
This helps with MXE static builds, which were failing because no DLLs were
found.

Change-Id: Id3fcdf9a7682a9ecb6a5892415077bf16e8b24cb
2019-11-14 19:42:06 -05:00
Franklin Wei
3f89f1ce44 Correctly update game file download URLs.
Change-Id: I04a967a6a88d2e1440203401ca3022a8ca985177
2019-11-14 19:42:06 -05:00
Franklin Wei
54e7eaf8fc Bump versions for 3.15.
Change-Id: Iecea72d420ded89023798e6d613cba1413adec73
2019-11-15 01:25:26 +01:00
Franklin Wei
b2fb095ab5 rbutil: include nwztools source in release tarball
Change-Id: Ic6d998441fb532a914eea2838fdc0d196f930bb2
2019-11-10 19:56:50 -05:00
Franklin Wei
a8be52c62a rbutil: fix windows release build
This fixes two of them: not finding the lrelease binary and not
compiling for C++11 (which is required by some Qt headers now).

Change-Id: I3c0eb3c2002c3ce7a2eeea877db5fa6942c9b2ba
2019-11-10 19:53:36 -05:00
Franklin Wei
a5f228eee2 rbutil: fix windows cross compile (via M cross environment)
This fixes a couple of issues when cross-compiling for windows:
 - lib builds (i.e. mks5lboot) were overriding the cross CC/CXX with the
   native CC, producing incompatible binaries.
 - Qt made the accessibility plugin part of the core library, so we no
   longer need to import it.

Change-Id: I9d884aee62dfa51d3624a3fa9b99c23b3b375f20
2019-11-09 20:54:57 -05:00
Frank Gevaerts
1925d043a2 Greek language update. Thanks to Constantine Mountantonakis (FS#13179)
Change-Id: Ie817df92dfbe896512b72f53921d4d682ea54a2f
2019-11-04 16:49:16 +01:00
Franklin Wei
05dd4390c6 solitaire: reword menu to "Quit without Saving" and "Quit"
Patch submitted by Michael Carr.

Change-Id: I3a1555fe4b6182211203dc8770137e868c76e245
2019-11-03 21:44:48 -05:00
Moshe Piekarski
85a437780e Pacbox AI Improvements
-Make pacbox AI score agnostic.
 -Fix corner case of Game Over/reset with AI on.
 -AI can now start on level where pattern starts facing right.

Change-Id: Ibc5416a53ebc07506c31434051b6d47b276cf668
2019-11-03 21:31:19 -05:00
Franklin Wei
86a313a177 rbutil: update game data URLs to official download server
Do not merge until files are in place.

Change-Id: I8e0564f2cfdae0fecde1a56f98cb22f59a4bf9e2
2019-10-31 19:03:34 -04:00
Franklin Wei
26b55ba5f0 rbutil: extend game file installation
RbUtil will now install freely distributable data files for Duke Nukem 3D,
Quake, SGT-Puzzles (fonts), Wolfenstein 3-D, and Another World. Currently
the urls point to my personal server, pending upload to the main download
server.

Change-Id: I2806fd1ad7e9bb0fcb7aee5444840708e6e63032
2019-10-31 19:03:30 -04:00
Franklin Wei
ec8b3d3147 Add some scripts to automate target listing and generating build-info
This adds tools/list_targets.pl and tools/build-info.pl. list_targets does
exactly what it sounds like - it lists targets by target status. build-info
automates the generation of build-info.release for new releases.

Change-Id: I4c859fdeb54c8cc645832a7c4192f9d18590031e
2019-10-30 23:56:05 -04:00
Franklin Wei
19c154fe8f wolf3d: change version to shareware
This makes wolf3d work with the shareware files available on the wiki. This
will make things work out-of-the-box with Rockbox Utility.

Change-Id: I9118ecf8715c688565982fc4feb29a8641d68b6a
2019-10-30 00:07:09 -04:00
Franklin Wei
06a26ab07b Bump RockboxUtility version to 1.4.1
Needed to get ipod6g bootloader support in place for upcoming 3.15 release.

Change-Id: I22ab3f97224577b148baf7197fa57486ee015174
2019-10-28 17:33:50 -04:00
Franklin Wei
d1fda5ef7c rbutil: enable ipod6g
Change-Id: Ice8f7fa682c75ccabb52f8d9ef27fa48af4c0689
2019-10-28 17:32:25 -04:00
Franklin Wei
f72b9082c6 Promote ipod6g to stable.
Manual is done and rbutil support is merged.

Change-Id: I27d8dcb88782a5c7f9ad08d17c8521be8dfe58af
2019-10-28 00:09:35 -04:00
Franklin Wei
370f9fa018 builds.pm: Note that last Recorder build was 3.13
We didn't build for the Recorder when doing 3.14.

Change-Id: I141cba5d821a86b5aa84217d8b011e2112282ff0
2019-10-28 00:09:35 -04:00
Cástor Muñoz
e43ef1f3e7 rbutil: add support for iPod Classic 6G bootloader
Change-Id: I0e237a81098a2d4df8d9f5d6deaaab3863a84fc6
2019-10-28 00:09:35 -04:00
Cástor Muñoz
c353bef3d1 rbutil: add function to suspend/resume processes
Change-Id: I99cfaaa4f853930cea88184496e91589b42859f3
2019-10-28 00:09:35 -04:00
Franklin Wei
9f7968efdd iPod Classic: add manual
Content is mostly from Vencislav's page on Freemyipod.

Change-Id: Ia6b598434fa21c312a60e75f6e2e3d317c5de58c
2019-10-28 00:09:35 -04:00
William Wilgus
1da2708a7c Fix timer Agptek Rocker (other hosted players)
on timer_unregister callbacks are not removed

It seems (at least on the Rocker) timers continue to fire (for a bit??)

Now we store the registered callback in the sigev structure and check
that the callback matches the one registered when the timer is created.

This should stop the possible case of a new timer getting spurious callbacks
We also now NULL the callbacks on un-register which should stop the segfaults

Added some notes to timer.c and timer.h

Change-Id: Ia155c3a4e4af89f474d55ed845560ccc1fab85aa
2019-10-17 21:19:00 +02:00
Franklin Wei
3d6d90382e iPod Classic: enable IRAM1 in bootloader
7442742 ("iPod Classic: disable IRAM1") was causing subsequent ipod6g
bootloader builds to result in a completely black screen upon
installation, with recovery only possible with a reflash through DFU
mode.

IRAM1 is re-enabled for bootloader only.

Change-Id: I92d489c91f81cad55d66a8647c1e61a45f468770
2019-10-13 23:23:32 -04:00
William Wilgus
7f1e6b4638 lua rockev cleanup
with the addition of suspending all events on thread start and exit
we don't really need to block on THREAD_QUIT in so many places

Removed suspend clearing on event unregister and updated comments

Change-Id: Id9c6a460def558c5331ee292035691a9f82b2c43
2019-10-07 22:07:22 -05:00
William Wilgus
19084181a1 lua rockev fix possible race on thread exit
report of call after free on event thread on Agptek Rocker
I'm guessing its a race condition between the thread and the timer
but can't say for sure without some more testing

Change-Id: If11bd718b3cfa81ea13fff378df56d12afa17a7f
2019-10-08 01:09:52 +02:00
Franklin Wei
c0cc9aa9e8 quake: clean up asm mixer
Fixes my ugly formatting.
2019-10-07 14:52:30 -04:00
William Wilgus
01cccaf2d2 lua move strip_extension and create_numbered_filename out of main binary
rb.strip_extension and rb.create_numbered_filename
have been moved to include_lua/files.lua
to use simply add require('files') to your script

Change-Id: I95af7b312c8614cb10da4b71b22714b3e282e08a
2019-09-28 03:15:15 +02:00
William Wilgus
4fb783582f lua rocklib_aux.pl support for enums
everything that would have been added has already been added or
needs more supporting functions so they've been excluded for the time being

Change-Id: I4ae4753c543287934702a3bd2eeccce5b032235d
2019-09-27 11:11:34 -05:00
William Wilgus
bad739c0d8 Fix red lua remove and consolidate some rb plugin functions
I'll revisit adding enums once I research it a bit more

Change-Id: If10c445cf770e5b90defc543f08d8de0817b2f3d
2019-09-27 00:17:33 -05:00
William Wilgus
de06a06351 lua remove and consolidate some rb plugin functions
removes some usless / duplicated functions
removes atoi - lua tonumber() does this for you
removes strlen - lua string.len does this for you
removes system_memory_guard - if a device that actually implements
              system_memory_guard needs it we can add it back conditionally

consolidates talk_number and talk_spell (on backend)
consolidates talk_shutup and talk_force_shutup talk_shutup(bForce)

Change-Id: Id132642f087975a7c132e99a668a41c977942b81
2019-09-26 23:45:38 -05:00
William Wilgus
5afdcdd460 Bug fix icon.c crashes with negative icon index
The index for Icon_NOICON is -1 which is caught properly
as is icon > Icon_Last_Themeable

But if you pass an index lower than Icon_NOICON screen_put_iconxy()
tries to read memory prior to the iconset resulting in a crash

Change-Id: I415e650932d65214d883a1595e22261f22e776b6
2019-09-24 23:51:12 -05:00
William Wilgus
60825970e9 Bug fix menu -- general
Several places in the menu code assume MT_MENU though no guarantee existed
menu type is now explicitly checked prior to use of the submenu variable

Change-Id: Ib9013684309eb2d4cf4a8a809d097b096d3fcffc
2019-09-20 19:23:18 -05:00
William Wilgus
70aeac4666 Fix red dynamic menus
missed one.

Change-Id: Ifa986b0a3397fed8ef28931ecbcdd2910d203ea3
2019-09-20 03:57:38 -05:00
William Wilgus
10e5e56f3c Bug fix dynamic menus
Dynamic menus had a buffer_len variable in the parent function but it
was discarded before passing to the callbacks

Why!!?? No clue but everything that used it was assuming MAXPATH
Wouldn't be surprised to see some bugs pop out from this one..

init_menu_lists() was assuming MENU_HAS_DESC and setting the
menu title + icon based on such even though it could be invalid
didn't see anywhere in the code that was currently using MENU_DYNAMIC_DESC
in relation to a top level menu but considering it caused all kinds
of corruption to the menu when I tried its probably been tried
and abandoned before...

Change-Id: I8d961d748918bfa8ea6adb5ad60491af4d739d6e
2019-09-20 03:07:29 -05:00
William Wilgus
d0883d747a lua give luadir the ability to return table of attributes
for fname, isdir, attrib in luadir.dir(scrpath, true) do

passing true for the second argument returns table of
file/dir attributes in attrib

Change-Id: I7c999e2fc5dac95b8ccbe169f2119c31b63f6a41
2019-09-18 21:20:42 -05:00
William Wilgus
13245ebf76 lua add menu callback
forum user fprockboxer asked for a way to detect long presses within the
do_menu routine this adds that functionality

result = rb.do_menu("Title",t_items, start, menu_callback)

function menu_callback(action)
    ...
    return action
end

Change-Id: I110c590095a743a57d0a7d45b24309899a4629cf
2019-09-14 04:48:04 -05:00
William Wilgus
f9225da811 Fix red Lua extend error splash timeout and stop cutting off info
Change-Id: Icd6fe0fa1088ab59b8214f7c860f262ce67fe205
2019-09-06 21:13:16 -05:00
William Wilgus
bbd4a6cb91 Lua extend error splash timeout and stop cutting off info
Change-Id: Ia1a9e39b9f203002cbbea85ef965e66c334b83fc
2019-09-06 20:19:42 -05:00
William Wilgus
267d04d2bd Lua add metadata and settings reading helper module
Adds example scripts for reading track metadata + dumping albumart
and rockbox settings

settings are now stored as a table of strings rather than a table of tables
as it saves ~15 kb of ram without adding much complexity

Change-Id: I611c312b2a60ab96e595e4710b17aedbd6c0689b
2019-09-07 03:10:59 +02:00
Solomon Peachy
a3cbd86a51 Slovak language update (From Peter Lecký)
Change-Id: I1d148efaa90ac36985db031dbff7bd85f179d50b
2019-09-01 09:06:22 -04:00
William Wilgus
c251d1879f lua fix mem_read_write, strtol
back when I wrote this I was running the sim on a 32 bit machine
I didn't catch the hardcoded LONG_MAX reference or the fact that
lua_tointeger maxes ot at 32 bits

on 64 bit machines strtol caused all kinds of issues especially since
it returned the real LONG_MIN/MAX values

Change-Id: I3571ebbd9df333f7cbf4077562412c27429bfadc
2019-08-28 00:56:08 -05:00
William Wilgus
b99d4d7fa9 lua optimize poly_draw add draw_number, poly_points modules
Change-Id: Id36e765f18234f5a4f3092d090c0adffa3da1612
2019-08-26 22:17:33 -05:00
Vencislav Atanasov
9f551b09f6
sdl: Fix path substitution in log messages, fix game names in comments
Change-Id: I7854d55153d656e84e791759f8ed664e41bff7e5
2019-08-22 22:00:43 +03:00
Igor B. Poretsky
9e186e34ab Save and apply settings after resetting settings in menu.
Change-Id: I8c38d34d04f59090f02f4b7374860ece153a57ce
2019-08-20 15:36:54 +02:00
Igor B. Poretsky
293e3e0fd7 FS#9213 - Fix for audio dropout after startup
Original Patch by Martin Buck
Updated by Igor Poretsky
2019-08-20 13:17:23 +02:00
William Wilgus
ecfb4590ad lua fix polydraw missing functions
Change-Id: I9e2537e4839e2b4f9beddbc887610213ed954a87
2019-08-20 01:58:16 -05:00
William Wilgus
8b7ae89b43 Playlist rework
consolidate some of the playlist create functions
remove extensions from playlist naming (you can still add it if you desire)
switch to strlcpy, strlcpy functions

Change-Id: Ibd62912da4d1f68ed5366baa887d92d4c6b1f933
2019-08-18 10:18:31 -05:00
William Wilgus
5a4cdb96b9 Playlist Fix failure to append default file name pt2
fix create_playlist too

Change-Id: Ic1de1382d5b534991253d662cb1b3aa5520f8887
2019-08-17 09:06:14 -05:00