summaryrefslogtreecommitdiff
path: root/apps (follow)
Commit message (Collapse)AuthorAge
* tmp on quakequake5Franklin Wei2019-07-29
| | | | Change-Id: Id8bc9e5e47cad5c620f5273fc39348eb19e8e5d8
* quake: autostart on boot (NOPUSH)Franklin Wei2019-07-29
| | | | | | Just to ease testing with valgrind. Change-Id: I3c41b3e85f4caee2cebda5d255f6a8c4250d8e34
* sdl: enable on simulator (NOPUSH)Franklin Wei2019-07-28
| | | | | | For debugging only. Change-Id: Ie4780ada6224ef14ba7c46e38245378780210d4e
* lua: wrap thread_set_priority with #ifdef HAVE_PRIORITY_SCHEDULINGFranklin Wei2019-07-28
| | | | | | Should fix a compile-time error on simulator. Change-Id: I5962479579350ebffe6dcce4f65a629b108ff936
* sdl: gut OS/2, win32 code from SDL.cFranklin Wei2019-07-28
| | | | | | This should help with compiling win32 simulators. Change-Id: Icfbf78f7d0a8b0ddebffa8daac3adf55ac21f139
* quake: add README with some notesFranklin Wei2019-07-28
| | | | Change-Id: I702e81f8715b505d4ed6d0eca861e3ddb680038d
* sdl: gut non-Rockbox platform detection codeFranklin Wei2019-07-28
| | | | | | | This should prevent false positives when simulators for other systems (e.g. win32). Change-Id: Ib14a277fbfeb1b0ae141ebc4591d80a2cc0f526d
* Ninety-nine bugs on the wall, Fix one bug, pass it around, 101 bugs on the ↵Solomon Peachy2019-07-28
| | | | | | | | wall.. Properly fixes bug introduced in 4beafe1 (and incorrectly fixed in 51fe1b6) Change-Id: I053bb110746afdc3d9588b1b502a4cb333468a2b
* volume_ismounted is gated by HAVE_DIRCACHE rather than HAVE_MULTIVOLUMESolomon Peachy2019-07-28
| | | | | | Should fix the various sim builds. Change-Id: I1dc5e8228698afb32c84ada2aa916e52e19f49d7
* Lua Add Emergency Garbage CollectorWilliam Wilgus2019-07-28
| | | | | | | | | | | | | Derivative of work by RobertGabrielJakabosky http://lua-users.org/wiki/EmergencyGarbageCollector I've only implemented the not enough memory part and expanded this idea to adding a mechanism to signal the OOM condition of the plugin buffer which allows us to only grab the playback buffer after garbage collection fails (SO THE MUSIC KEEPS PLAYING AS LONG AS POSSIBLE) Change-Id: I684fb98b540ffc01f7ba324ab5b761ceb59b9f9b
* Show time, date, and recording directory in the info screenSolomon Peachy2019-07-28
| | | | | | Patch by Igor Poretsky Change-Id: I5db0d018742c11dd9bf3ca4c9539cd91f94d4c2e
* lua remove unneeded plugin functionsWilliam Wilgus2019-07-28
| | | | Change-Id: I04bc38d03b7f0ca65a815685eb6ab0f5ff825c45
* robotfindskitten: clear message line before cinema sceneFranklin Wei2019-07-28
| | | | | | | Just writes a bunch of spaces to clear the space before playing our animation. Change-Id: I9422190b691039252de70a5c7eec6286c686f031
* quake: cache files in memory to eliminate skipsFranklin Wei2019-07-27
| | | | | | | This caches large files (arbitrarily defined as >1MB) in memory, which reduces the delay when a new model or sound is needed. Change-Id: I0f96449555a32f05d771fe900c10eaf21ecbb4f6
* Multiboot update manual entryWilliam Wilgus2019-07-27
| | | | Change-Id: I99abe45adaade350222fa1f0aaf864a06d6dfcdf
* Fix non aligned crashes with tlsfWilliam Wilgus2019-07-27
| | | | | | | | When the starting address of the plugin buffer is not aligned to 8 bytes crashes occur in tlsf (on ARM atleast) Change-Id: I655500c25e1c8f84b4a2418e9ec5c5948e4bea82
* sdl: fix video regression introduced by 5d05b9dFranklin Wei2019-07-25
| | | | | | | | The quake commit tried to optimize lcd updates but inadvertently broke wolf3d (which always uses a 320x200 screen size). This fixes that and also lets direct mode truly exit early to hopefully save some cycles. Change-Id: I41d96cd584257fe25e791c7f615812849f348e4f
* lua add sound_current, consolidate sound_ functionsWilliam Wilgus2019-07-25
| | | | | | | | | | | | | | | | | add defines for sound functions SOUND_VOLUME, SOUND_BALANCE, SOUND_CHANNELS, SOUND_STEREO_WIDTH ... defines depend on target require "sound_defines" to add them to rb.sound_settings[] consolidates: sound_set, sound_current, sound_default, sound_min, sound_max, sound_unit, sound_pitch, sound_val2phys to a single function rb.sound("name", setting, [value]) require "sound.lua" for old functionality Change-Id: Ice695218aa433f4fcbb48fbd6b8a9bf29c994110
* Add sound_current to plugin apiWilliam Wilgus2019-07-25
| | | | | | | | | Adds: sound_current(int setting) returns the current sound setting from global_settings complements sound_max, sound_min and sound_default Change-Id: I35bd893753c958f808492906fe533edc51d5d57c
* quake: fix errorneous endian-correcting readsFranklin Wei2019-07-24
| | | | | | | | ef9ee89 introduced Read{Big,Little}{Short,Long,Float} functions to safely read a value in memory. These incorrectly take char*, which causes them to output erroneous 0xff bytes when given bytes with bit 7 set. Change-Id: I9531172301aecfdacae405d2f782f662608ce6df
* FS#12887: Fix playlist order after moving a track before currentSolomon Peachy2019-07-24
| | | | | | | Original patch by Juan Gonzalez Updated by Igor Poretsky Change-Id: I913d96df906e56fb4063485a6725cd13e395f165
* quake: fix unaligned accesses in model.cFranklin Wei2019-07-21
| | | | | | Allows playing registered episodes. Change-Id: I20e1ca2000776a19767a9c3caef790d4f62ca188
* quake: pack structs which could potentially be unalignedFranklin Wei2019-07-21
| | | | | | | | The d*_t structs are from "d"isk, which means they could be unaligned. Packing them saves me from having to rewrite every single access to them. Change-Id: I6d5a9525fff368bf29bdb85cf1672fce02ce3396
* quake: enable building Quake2Franklin Wei2019-07-21
| | | | Change-Id: I67f8f7c6e7e337806751057d1c9ebdae16c54119
* Add speech feedback to imageviewer pluginSolomon Peachy2019-07-20
| | | | | | Patch by Igor Poretsky Change-Id: Ifcca7342d07f0d7fb90d282468f7e6576c13d36b
* Move get_codepage_name() back out of #ifdef HAVE_LCD_BITMAPFrank Gevaerts2019-07-20
| | | | | | 55eb1c54 accidentally put it there. Change-Id: I25d1984f7d4a1e6d65d23aafab5eefea4f92322e
* Don't have the inclusion of lang_enum.h depend on PLUGINFrank Gevaerts2019-07-20
| | | | | | | This #ifdef apparcntly confuses dependency generation, and since lang_enum.h just declares an enum, including it unconditionally is harmless. Change-Id: I8feaff7657080962f1ae6305492075c8a5bca673
* FS#7705: Voice enable battery bench pluginSolomon Peachy2019-07-20
| | | | | | | Original patch by Daniel Dalton Updated by Igor Poretsky Change-Id: I40d3bb89dbaf3582e1d7af8e8964205507cd2a8d
* FS#7912: Voice enable the chessbox pluginSolomon Peachy2019-07-20
| | | | | | | Original patch by Mario Lang Heavily updated by Igor Poretsky Change-Id: Iaa0c32a79a464860ff294096825ae788f35cf312
* Move date/time strings out of RTC contextFranklin Wei2019-07-20
| | | | | | Should fix plugin build. Change-Id: I332235a4e7d08a80abd91fa0705e950c7dfec449
* Fix build on non-RTC targets.Solomon Peachy2019-07-20
| | | | | | | talk_time and talk_date are now exposed to plugins, so the strings they reference need to be moved from rtc-only to global. Change-Id: I88166dc21455d595878d3d1ec557289cd3a5ff6b
* Increase set_time_screen() buffer size for hosted to keep the compiler happy.Frank Gevaerts2019-07-20
| | | | | | | | | | The format strings in the snprintf can in theory need 60 characters This will not happen in practice (because seconds are 0..60 and not full-range integers etc.), but -D_FORTIFY_SOURCE will still warn about it, so we use 60 characters for HOSTED to make the compiler happy. Native builds still use 20, which is enough in practice. Change-Id: I22a2bab8134442e531a10bf883f3a369ade0fdc3
* build: Fix puzzles build due to missing dependencySolomon Peachy2019-07-20
| | | | | | | | | As rbcompat.h is -include'd on the command line, the mkdep script doesn't pick it up. Explicitly add the dependency to lang_enum.h to the makefile. Also add lang_enum.h to the 'make clean' target! Change-Id: I33c8ed0cd5c1d44dce02ac9285469c0e4feac00e
* Plugin APIWilliam Wilgus2019-07-20
| | | | | | | | | | Reorganize Plugin functions in prep for API bump Stub in sound_current add sleep_timer Change-Id: I74b3a433c86bd6cec43a7c45ae0d2db95c97bb60
* FS#7704 - Talk support for pluginsSolomon Peachy2019-07-20
| | | | | | | | | | | | | | | | | | | | Original patch by Mario Lang Heavily updated by Igor Poretsky Further updated by myself This patch breaks binary API compatibility by placing the new functions where they make the most logical sense. IMO this is the better approach to take given the scope of the changes needed for talk support. Since binary API is changing, the patch also moves some other functions around to more logical locations. As well as voice support in plugins, this patch voice-enables several simple plugins. There will be follow-up patches for many plugins that build on this one. Change-Id: I18070c06e77e8a3c016c2eb6b6c5dbe6633b9b54
* Silence warning in stdio_compat.hFranklin Wei2019-07-19
| | | | Change-Id: I5aecaf6fcf42fbaf2deb933e590dcda6d01ac212
* Quake!Franklin Wei2019-07-19
| | | | | | | | | | | | | | | | | | This ports id Software's Quake to run on the SDL plugin runtime. The source code originated from id under the GPLv2 license. I used https://github.com/ahefner/sdlquake as the base of my port. Performance is, unsurprisingly, not on par with what you're probably used to on PC. I average about 10FPS on ipod6g, but it's still playable. Sound works well enough, but in-game music is not supported. I've written ARM assembly routines for the inner sound loop. Make sure you turn the "brightness" all the way down, or colors will look funky. To run, extract Quake's data files to /.rockbox/quake. Have fun! Change-Id: I4285036e967d7f0722802d43cf2096c808ca5799
* lua events from rockboxWilliam Wilgus2019-07-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This library allows events to be subscribed / recieved within a lua script most events in rb are synchronous so flags are set and later checked by a secondary thread to make them (semi?) asynchronous. There are a few caveats to be aware of: FIRST, The main lua state is halted till the lua callback(s) are finished Yielding will not return control to your script from within a callback Also, subsequent callbacks may be delayed by the code in your lua callback SECOND, You must store the value returned from the event_register function you might get away with it for a bit but gc will destroy your callback eventually if you do not store the event THIRD, You only get one cb per event type ["action", "button", "custom", "playback", "timer"] (Re-registration of an event overwrites the previous one) Usage: possible events =["action", "button", "custom", "playback", "timer"] local evX = rockev.register("event", cb_function, [timeout / flags]) cb_function([id] [, data]) ... end rockev.suspend(["event"/nil][true/false]) passing nil affects all events stops event from executing, any but the last event before re-enabling will be lost, passing false, unregistering or re-registering an event will clear the suspend rockev.trigger("event", [true/false], [id]) sets an event to triggered, NOTE!, CUSTOM_EVENT must be unset manually id is only passed to callback by custom and playback events rockev.unregister(evX) Use unregister(evX) to remove an event Unregistering is not necessary before script end, it will be cleaned up on script exit Change-Id: Iea12a5cc0c0295b955dcc1cdf2eec835ca7e354d
* lua disable bytecode dump & undump functionsWilliam Wilgus2019-07-18
| | | | | | | | Adds a flag to remove the ability to dump and load lua bytecode saves 6+kb Change-Id: I080323df7f03f752e0a10928e22a7ce3190a9633
* Fix Red lua move constants out of binary imageWilliam Wilgus2019-07-18
| | | | | | didn't consider sims might have reserved enums Change-Id: Ic404972f0836bc81ba149f4ecdd3ec61bd8bd4b3
* lua move constants out of binary imageWilliam Wilgus2019-07-18
| | | | | | | | | | | | Rockbox constants are auto generated by a perl script like the majority of the plugin functions. Constants are contained in rb_defines.lua, if the file exists it is auto loaded by the lua state for backwards compatibility Frees ~1k Change-Id: I237700576c748f468249e501c839d89effca3f39
* lua alphabetically sort perl generated rocklib_aux functionsWilliam Wilgus2019-07-17
| | | | Change-Id: I6566c19a0fee630a5e250c1244159d5b488b57ff
* Updated Serbian translationeevan782019-07-15
| | | | Change-Id: I93477548ddd92a5390ac2a828b4262e3bb516f4b
* lua close state on os.exitWilliam Wilgus2019-07-13
| | | | Change-Id: I376fad0f92f1155698740e1b8599a3385998575c
* wolf3d: allow entering in-game jukebox by holding fire buttonFranklin Wei2019-07-12
| | | | Change-Id: I8936178191e682b70c64ef6ae04d6636e5cf3521
* lua reduce heap allocated buffer sizes, organize luaconf.hWilliam Wilgus2019-07-11
| | | | Change-Id: Ib9e568ea73a01474facd57cc155e62fa3dc093f7
* lua late bound cfunction tablesWilliam Wilgus2019-07-11
| | | | | | | | | | | | | | | | | | | | | | | | We have quite a bit of ram tied up in lua with our c libraries I was searching for a way to free up some of this when I came across read only tables in e-lua but that involved a lot of patching through the source Instead I came up with this.. it frees about 15k ram without much slowdown in code execution since after a function gets called it is automatically added to the table If you have a performance issue you can call the bind method to bind a specific function or the whole table in one shot for instance rb table rb("lcd_clear") -- binds/returns function rb.lcd_clear() rb(nil) -- binds every function in rb table + removes latebind metatable .. -- added pairs and ipairs code from lua 5.2 -- cleaned up code + made more seamless existing fields are now saved rather than overwritten when table is bound Change-Id: I1c20e76b736c032dedc727d2e58928641e40191d
* lua inbinary stringsWilliam Wilgus2019-07-11
| | | | | | | | | | | | | | Allows saving of ram by reusing strings already stored in the binary and storing a pointer instead of malloc and copy to get them inside the lua state Saves about 1.5K overall Derivative of work by bogdanm RAM optimizations: pseudo RO strings, functions in Flash https://github.com/elua/elua/commit/d54659b5723bcd2b1e3900362398c72c18a9aa0b Change-Id: I21d6dcfa32523877efd9f70fb0f88f2a02872649
* wolf3d: increase default viewport sizeFranklin Wei2019-07-10
| | | | | | Makes things a little bigger by default (but not maximized). Change-Id: I9e4ae725e22458f1e5140a560ff242159ef582d7
* wolf3d: write configs to /.rockbox/wolf3d instead of /.wolf4sdlFranklin Wei2019-07-10
| | | | | | Let's keep things neat. Change-Id: I995b2c4949d3adbbd7ea4ef361f0712aa222612e