summaryrefslogtreecommitdiff
path: root/apps/plugins/puzzles (follow)
Commit message (Collapse)AuthorAge
* Work around DX90 compile errorFranklin Wei2019-05-15
| | | | Change-Id: I80751a41d0711c52558ba198c22d1f012998302c
* puzzles: refactor rockbox frontendFranklin Wei2019-05-15
| | | | | | Cleaned up a bit of copy-pasted code and added some useful comments. Change-Id: I9a6f37acbeeda58b3ea8c65ee96230372400f323
* puzzles: resync with upstreamFranklin Wei2019-05-15
| | | | | | | | | This brings the puzzles source to upstream commit e2135d5. (I've made my own changes on top of that.) This brings in a couple bugfixes and a new solver for Dominosa. Change-Id: I11d46b43171787832330a5e2e0d2f353f36f727d
* puzzles: resync with upstreamFranklin Wei2018-12-21
| | | | | | | | | | This brings the code to upstream commit 3ece3d6 (I've made my own Rockbox- specific changes on top of that). Changes include using C99 `bool' throughout, and minor logic fixes for some puzzles. Change-Id: Ie823e73ae49a8ee1de411d6d406df2ba835af541
* puzzles: resync with upstreamFranklin Wei2018-06-20
| | | | | | | | This brings the source to upstream commit 506b073 (though I have made some extra commits on top of that). Notably this includes a fix for a double-free bug that I myself introduced upstream. Change-Id: I02671586bbc34d63e05398ee971271fed42538cf
* puzzles: minor nitpicks to fbb6a2fFranklin Wei2018-06-12
| | | | | | Just some whitespace changes to maintain stylistic consistency. Change-Id: I50b5d52db2795cfcb4155bdffbfb80c1c3773112
* puzzles: fix typo introduced by fbb6a2fFranklin Wei2018-06-12
| | | | | | | | When zoomed in, the original commit made a mono bitmap (a.k.a. text) always have the red component set to 255. This would cause drawn text to always be red. Fixed. Change-Id: Iec06256a3a783948c60c70557de042b375224448
* Agptek Rocker: Build pluginsMarcin Bukat2018-06-12
| | | | | | Patch provided by Aapo Tahkola. Change-Id: I37a42a950d78d6b8aa3927ec7aeb30030f7be7a5
* puzzles: update frontend for new upstream, misc. changesFranklin Wei2018-04-24
| | | | | | | | The upstream code changed a little bit with regard to the request_keys() API. Also, we save some bytes (especially on the c200v2) by compiling with -ffunction-sections and -fdata-sections, which allows Net to fit once again. Change-Id: I3ab30127169c73e4cd8996f0c12e1223ee18d79f
* puzzles: update help text, make generation and testing cleanerFranklin Wei2018-04-24
| | | | | | | | This includes an upstream change to the Galaxies help text. `genhelp.sh' no longer leaves temporary files sitting around, and the self-test feature of lz4tiny.c works again. Change-Id: I787f4cb3c258baade31638d6be18f95b7aa0705e
* puzzles: resync with upstreamFranklin Wei2018-04-24
| | | | | | | This brings the upstream version to b3da238 (though some of my own changes are included on top of that). Change-Id: Ida73e8cd86765413147ce891af3cc2b7aeda2b2a
* puzzles: silence some warningsFranklin Wei2018-04-24
| | | | Change-Id: Id6fd9d8dd3021f5e2cb93565d7e419aaf07f9af0
* puzzles: save some bytesFranklin Wei2018-04-17
| | | | | | | | | This should cut just enough size off the binary to let Net still compile for the c200v2. This is probably close to the last time I'll be able to do this; I'm already resorting to dirty hacks like writing super terse error messages. Change-Id: I43344b9a601696d7ca56fc02af4a611fd9d1a150
* puzzles: clean up for rockboxFranklin Wei2018-04-17
| | | | | | Disabled vprintf() call in Filling, and reordered vertices in Unequal. Change-Id: Ia3d8cd46ae3a7909b7dc2a8de762aa3173634d1e
* puzzles: enable all the remaining gamesFranklin Wei2018-04-17
| | | | | | | | They all work now :). I merged in part of Chris Boyle's Android port of Puzzles to give the front end a way to know what keys the back end needs. This also re-syncs to the latest upstream sources. Change-Id: Ie0409bbb32f617ae5abf4f81be3b45d1552db9bb
* puzzles: fix typoFranklin Wei2018-03-18
| | | | Change-Id: I6b8c18472749248508d4e5b1595b8903e687f67c
* puzzles: add formatting to help viewerFranklin Wei2018-03-17
| | | | | | | | The help text is now processed to generate a style array to pass to the display_text library in addition to the text itself. The help text is still compressed using LZ4, and still fits on the c200v2. Change-Id: I7a3a664f90f67a1a018956c72d2b62d92b8ffd17
* puzzles: fix off-by-one in blitter clippingFranklin Wei2017-11-24
| | | | | | Nobody to blame except myself for this one... Change-Id: I8446b564c3c060411c46675e9baac1c72437c39a
* puzzles: polish mouse modeFranklin Wei2017-11-24
| | | | | | Reduces lag when dragging. Also throws some comments in. Change-Id: Ibd0d95e94200ae6de8258ce8d2e001c931161385
* puzzles: fix copy-paste typoFranklin Wei2017-11-24
| | | | Change-Id: I09d065574a02a541c43c1a78d92e50a80b5e2ae0
* puzzles: clean junk filesFranklin Wei2017-11-21
| | | | | | These are really not needed. Change-Id: I8aa8d648c363c657ca104fc9876b3c63558c5608
* puzzles: resync with upstream; add Loopy and Palisade, mouse modeFranklin Wei2017-11-21
| | | | | | | | | | | | This brings a various small changes to the drawing and input code, as well as a brand new "mouse mode", where input goes to a virtual mouse cursor. Only Loopy has this mouse mode enabled by default, while other games have it hidden away under the debug menu. Some changes by me to Palisade were required to make it playable; those are included here as well. Right now, sgt-net is pushing the c200v2's upper limit on size and may have to be dropped in a future commit. Change-Id: I495d2a2125462c2985aec1ffbc54bbe3fe5133bd
* puzzles: fix blitting when zoomedFranklin Wei2017-11-04
| | | | | | | | Both blitter_save() and blitter_load() functioned incorrectly when zoomed in -- blitter_save() would copy from the wrong location, and blitter_load() would ignore the y-coordinate of the destination. Change-Id: I7c85debf5953575f72c4a81e3dbcf514202c3aed
* puzzles: clarify code and documentationFranklin Wei2017-11-04
| | | | | | | This adds no functionality, but instead cleans up the source and adds some more substantial documentation. Change-Id: I77328c171a61db7729bdf928ba094cfbed4ec0dd
* puzzles: fix title drawingFranklin Wei2017-11-04
| | | | | | | | | | This fixes two separate bugs: The first was that the drawmode was not reliably set when drawing the title, occasionally leading to a black rectangle where the title should be; the second that the title bar's space wasn't being cleared before drawing, leading to artifacts when the length of the title string changed. Change-Id: I3859125b14d568e1098b095ab134645a504b2d45
* puzzles: add an interaction mode to the "Zoom In" featureFranklin Wei2017-10-30
| | | | | | | This makes it possible to play the game while zoomed in. Read the manual entry if you want to know more. Change-Id: Iff8bab12f92ebd2798047c25d1fde7740aa543ce
* puzzles: sync with upstreamFranklin Wei2017-10-29
| | | | | | | This includes the fix for Map's incorrect cursor positioning when zoomed in. Change-Id: I7d7d1f3031bbe1390e89340039996f99efaa8ef5
* puzzles: improve zoom renderingFranklin Wei2017-10-29
| | | | | | | | This adds colored font rendering, as well as a workaround for font loading while zoomed. Additionally, the frontend has been modified to match the new upstream API. Change-Id: I8c3fe57e6854f176485bf792cf4778cd54a21674
* puzzles: fix clipping and 24-bit handlingFranklin Wei2017-10-27
| | | | | | Should fix the build. Change-Id: I68f06702570389c2c9d0d76acc064c324cac457b
* puzzles: add "Zoom In" option to improve usabilityFranklin Wei2017-10-27
| | | | | | | | | | | | This adds a "Zoom In" option to the pause menu of each puzzle, which displays the puzzle at triple size (subject to change). This should help with tiny screens, modulo memory concerns associated with allocating the temporary framebuffer to which drawing operations are redirected. Coincidentally, there's an upstream bug with Map that causes the cursor's positioning to be incorrectly displayed when zoomed. Change-Id: Ic8b7c2942acf558e295f4271dd7dc458cd336895
* puzzles: make Untangle's input code return UI_UPDATE instead of ""Franklin Wei2017-10-24
| | | | | | | This was changed upstream and slipped by when I was merging the changes. Change-Id: I3a53cd2db5a5cd2ffef52719a048b8ff4c80d1aa
* puzzles: adapt frontend to upstream changesFranklin Wei2017-10-23
| | | | Change-Id: Idd911ac4ac6c2efa3c6b064be6058979d7a15447
* puzzles: resync with upstreamFranklin Wei2017-10-23
| | | | | | | There have been some improvements with regard to small screen sizes, which will be nice to have. Change-Id: I30c740514156258d2818fde325c1a751500f7611
* Remove old keymaps from xworld and puzzlesFranklin Wei2017-09-30
| | | | | | They've been replaced by the one in apps/plugins/lib/ Change-Id: Icb54ec4caae1149dfddad8c754087686792a8bc2
* Harmonize plugin keymapsFranklin Wei2017-09-30
| | | | | | | | Aims to provide a lib/keymaps.h for plugins needing simple button functionality beyond that provided by PLA. Currently used by puzzles and xworld. Change-Id: Icb3493aaf176d401762de834dd48fc76a3824c5a
* puzzles: resync with upstreamFranklin Wei2017-09-30
| | | | | | This brings puzzles to upstream commit 84d3fd2. Change-Id: I808a197f868032d771fc101a15666c5ec4b9f94b
* puzzles: misc. changes and sync with upstreamFranklin Wei2017-08-23
| | | | | | | | | This brings puzzles up-to-date with Simon's tree, along with the rockbox-specific changes I made. Note that I also got rid of some of the ugly floating-point code in rbwrappers.c and replaced it with wrappers for our fixed-point library. Change-Id: Ibfb79acb15517116a26de1c3ea89e025146b9e2e
* puzzles: remove old combined build codeFranklin Wei2017-08-23
| | | | | | We don't really need it anymore. Change-Id: I7c8149faa6b80807ca718b73483bdb2e41830cbd
* puzzles: faster, smaller sqrt()Franklin Wei2017-08-23
| | | | Change-Id: I18e170ee49bff131fe76fa4bb1b9e0f120818b82
* puzzles: fix buildFranklin Wei2017-08-16
| | | | Change-Id: Ifb6d7938968a48a1492483b33c84050abcfb75e0
* puzzles: various useless tweaksFranklin Wei2017-08-16
| | | | Change-Id: Ibf9769f99d61581b184d0ffa4ef0614eb976f0e8
* puzzles: enable long-press in MapFranklin Wei2017-08-16
| | | | | | This allows for stippling regions. Change-Id: If8f271b66f6f350c843d6669918ea39712acd818
* puzzles: fix polygon drawing in InertiaFranklin Wei2017-08-16
| | | | | | Yet another hack to accommodate our polygon algorithm... Change-Id: Ic5d304be23d30c380b19771ab68cf01c416261b4
* puzzles: add more parameter validation checksFranklin Wei2017-08-16
| | | | | | Fixes some annoying crashes. Change-Id: If3c293bd90e301c3e697d1e5fcb1b0aa2ea320fb
* puzzles: fix floating-point formattingFranklin Wei2017-08-16
| | | | | | | | | This is pretty ad-hoc, but the only other ways are to rewrite sprintf (which would use too much memory on the c200v2), or implement support for floats in rockbox's formatter, neither of which are acceptable. Change-Id: I70d59fd3e90a16e2db9ae0a84cd8c14807f50b46
* puzzles: compress extensive help textFranklin Wei2017-08-16
| | | | | | | | | | | This is only really needed to save a few bytes on the c200v2, but since it adds negligible overhead, so it's implemented for all targets. A stripped down version of the LZ4 reference implementation is found in lz4tiny.c. Change-Id: Ib914ba71c84e04da282328662c752e533912e197
* puzzles: cut size for c200v2Franklin Wei2017-08-09
| | | | | | | | - font caching is disabled - font table is dynamically allocated - side effect: tlsf isn't reset between runs anymore, memory leaks will have a bigger impact Change-Id: I0b25c22665d956895e8007883d522256010d04ab
* puzzles: enable MinesFranklin Wei2017-07-27
| | | | | It should work now that arm memset() has been fixed for negative values. This is the last puzzle that was disabled due to a crash.
* puzzles: new input scheme for Mines and MagnetsFranklin Wei2017-07-27
| | | | Both these puzzles now have long press mapped to spacebar.
* puzzles: polish up the config menusFranklin Wei2017-07-27
|