summaryrefslogtreecommitdiff
path: root/apps/plugins/puzzles
AgeCommit message (Collapse)Author
2018-04-24puzzles: update frontend for new upstream, misc. changesFranklin Wei
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
2018-04-24puzzles: update help text, make generation and testing cleanerFranklin Wei
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
2018-04-24puzzles: resync with upstreamFranklin Wei
This brings the upstream version to b3da238 (though some of my own changes are included on top of that). Change-Id: Ida73e8cd86765413147ce891af3cc2b7aeda2b2a
2018-04-24puzzles: silence some warningsFranklin Wei
Change-Id: Id6fd9d8dd3021f5e2cb93565d7e419aaf07f9af0
2018-04-17puzzles: save some bytesFranklin Wei
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
2018-04-17puzzles: clean up for rockboxFranklin Wei
Disabled vprintf() call in Filling, and reordered vertices in Unequal. Change-Id: Ia3d8cd46ae3a7909b7dc2a8de762aa3173634d1e
2018-04-17puzzles: enable all the remaining gamesFranklin Wei
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
2018-03-18puzzles: fix typoFranklin Wei
Change-Id: I6b8c18472749248508d4e5b1595b8903e687f67c
2018-03-17puzzles: add formatting to help viewerFranklin Wei
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
2017-11-24puzzles: fix off-by-one in blitter clippingFranklin Wei
Nobody to blame except myself for this one... Change-Id: I8446b564c3c060411c46675e9baac1c72437c39a
2017-11-24puzzles: polish mouse modeFranklin Wei
Reduces lag when dragging. Also throws some comments in. Change-Id: Ibd0d95e94200ae6de8258ce8d2e001c931161385
2017-11-24puzzles: fix copy-paste typoFranklin Wei
Change-Id: I09d065574a02a541c43c1a78d92e50a80b5e2ae0
2017-11-21puzzles: clean junk filesFranklin Wei
These are really not needed. Change-Id: I8aa8d648c363c657ca104fc9876b3c63558c5608
2017-11-21puzzles: resync with upstream; add Loopy and Palisade, mouse modeFranklin Wei
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
2017-11-04puzzles: fix blitting when zoomedFranklin Wei
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
2017-11-04puzzles: clarify code and documentationFranklin Wei
This adds no functionality, but instead cleans up the source and adds some more substantial documentation. Change-Id: I77328c171a61db7729bdf928ba094cfbed4ec0dd
2017-11-04puzzles: fix title drawingFranklin Wei
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
2017-10-30puzzles: add an interaction mode to the "Zoom In" featureFranklin Wei
This makes it possible to play the game while zoomed in. Read the manual entry if you want to know more. Change-Id: Iff8bab12f92ebd2798047c25d1fde7740aa543ce
2017-10-29puzzles: sync with upstreamFranklin Wei
This includes the fix for Map's incorrect cursor positioning when zoomed in. Change-Id: I7d7d1f3031bbe1390e89340039996f99efaa8ef5
2017-10-29puzzles: improve zoom renderingFranklin Wei
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
2017-10-27puzzles: fix clipping and 24-bit handlingFranklin Wei
Should fix the build. Change-Id: I68f06702570389c2c9d0d76acc064c324cac457b
2017-10-27puzzles: add "Zoom In" option to improve usabilityFranklin Wei
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
2017-10-24puzzles: make Untangle's input code return UI_UPDATE instead of ""Franklin Wei
This was changed upstream and slipped by when I was merging the changes. Change-Id: I3a53cd2db5a5cd2ffef52719a048b8ff4c80d1aa
2017-10-23puzzles: adapt frontend to upstream changesFranklin Wei
Change-Id: Idd911ac4ac6c2efa3c6b064be6058979d7a15447
2017-10-23puzzles: resync with upstreamFranklin Wei
There have been some improvements with regard to small screen sizes, which will be nice to have. Change-Id: I30c740514156258d2818fde325c1a751500f7611
2017-09-30Remove old keymaps from xworld and puzzlesFranklin Wei
They've been replaced by the one in apps/plugins/lib/ Change-Id: Icb54ec4caae1149dfddad8c754087686792a8bc2
2017-09-30Harmonize plugin keymapsFranklin Wei
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
2017-09-30puzzles: resync with upstreamFranklin Wei
This brings puzzles to upstream commit 84d3fd2. Change-Id: I808a197f868032d771fc101a15666c5ec4b9f94b
2017-08-23puzzles: misc. changes and sync with upstreamFranklin Wei
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
2017-08-23puzzles: remove old combined build codeFranklin Wei
We don't really need it anymore. Change-Id: I7c8149faa6b80807ca718b73483bdb2e41830cbd
2017-08-23puzzles: faster, smaller sqrt()Franklin Wei
Change-Id: I18e170ee49bff131fe76fa4bb1b9e0f120818b82
2017-08-16puzzles: fix buildFranklin Wei
Change-Id: Ifb6d7938968a48a1492483b33c84050abcfb75e0
2017-08-16puzzles: various useless tweaksFranklin Wei
Change-Id: Ibf9769f99d61581b184d0ffa4ef0614eb976f0e8
2017-08-16puzzles: enable long-press in MapFranklin Wei
This allows for stippling regions. Change-Id: If8f271b66f6f350c843d6669918ea39712acd818
2017-08-16puzzles: fix polygon drawing in InertiaFranklin Wei
Yet another hack to accommodate our polygon algorithm... Change-Id: Ic5d304be23d30c380b19771ab68cf01c416261b4
2017-08-16puzzles: add more parameter validation checksFranklin Wei
Fixes some annoying crashes. Change-Id: If3c293bd90e301c3e697d1e5fcb1b0aa2ea320fb
2017-08-16puzzles: fix floating-point formattingFranklin Wei
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
2017-08-16puzzles: compress extensive help textFranklin Wei
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
2017-08-09puzzles: cut size for c200v2Franklin Wei
- 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
2017-07-27puzzles: enable MinesFranklin Wei
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.
2017-07-27puzzles: new input scheme for Mines and MagnetsFranklin Wei
Both these puzzles now have long press mapped to spacebar.
2017-07-27puzzles: polish up the config menusFranklin Wei
2017-07-27puzzles: tweak text positioningFranklin Wei
2017-07-27puzzles: font cachingFranklin Wei
This lets puzzles remember which fonts were loaded previously so they can be preloaded when the puzzle is started (and the disk is spinning), instead of while the game is being played.
2017-07-27puzzles: add number chooser for integer settingsFranklin Wei
Sure beats typing on the virtual keyboard.
2017-07-27puzzles: update debug menuFranklin Wei
Add an option to visualize polygon rendering to aid in diagnosing artifacts.
2017-07-27puzzles: fix flag drawing in MinesFranklin Wei
Yet another workaround to accomodate our polygon drawing "algorithm" (if you can call it that).
2017-07-17puzzles: fix star drawing in SignpostFranklin Wei
- change point ordering to make concave polygon rendering work - also enables an "Easter egg" of sorts Change-Id: I3b4044a374dce1cff889d5f3744de9e634978591
2017-07-17puzzles: dynamic text size via custom font packFranklin Wei
Up to now, we'd just ignore whatever font size the puzzle asked for, and instead just go with either the UI font or system font regardless of their size, which led to some horrible-looking puzzles. This patch adds the ability to automatically load fonts of the proper size when they are available, which makes text-based puzzles such as Pattern and Slant function correctly with any UI font. The font pack, which should be extracted to the system-wide fonts directory consists of 3 small bitmap fonts from 7px to 10px and then anti-aliased Deja Vu fonts from 10px to 36px. It is available in the source tree (apps/plugins/puzzles/fonts.zip), or from <http://download.rockbox.org/useful/sgt-fonts.zip>. Change-Id: I05c8fe7bd6d867e14de9b941deb91e8c642ee4a8
2017-07-12puzzles: allow using hints in FifteenFranklin Wei
This maps the select button to the "h" key for Fifteen only. Change-Id: I7a5a61cec46e86254218fabfb191974f98c12319