summaryrefslogtreecommitdiff
path: root/apps/plugins/puzzles (follow)
Commit message (Collapse)AuthorAge
* 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
|
* puzzles: tweak text positioningFranklin Wei2017-07-27
|
* puzzles: font cachingFranklin Wei2017-07-27
| | | | | | 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.
* puzzles: add number chooser for integer settingsFranklin Wei2017-07-27
| | | | Sure beats typing on the virtual keyboard.
* puzzles: update debug menuFranklin Wei2017-07-27
| | | | | Add an option to visualize polygon rendering to aid in diagnosing artifacts.
* puzzles: fix flag drawing in MinesFranklin Wei2017-07-27
| | | | | Yet another workaround to accomodate our polygon drawing "algorithm" (if you can call it that).
* puzzles: fix star drawing in SignpostFranklin Wei2017-07-17
| | | | | | | - change point ordering to make concave polygon rendering work - also enables an "Easter egg" of sorts Change-Id: I3b4044a374dce1cff889d5f3744de9e634978591
* puzzles: dynamic text size via custom font packFranklin Wei2017-07-17
| | | | | | | | | | | | | | | | | 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
* puzzles: allow using hints in FifteenFranklin Wei2017-07-12
| | | | | | This maps the select button to the "h" key for Fifteen only. Change-Id: I7a5a61cec46e86254218fabfb191974f98c12319
* puzzles: remove redundant help contentFranklin Wei2017-06-03
| | | | | | | | | | | It used to be that each puzzle had a complete copy of the entire puzzles manual and the "quick help" text for every single puzzle. This was obviously a waste, so now each puzzle only has the sections of the manual that apply to it, saving about 100KB or so per puzzle. This also has the added benefit of shrinking binary size enough to allow full help support on the c200v2, which has been enabled. Change-Id: I76c799635de058e4a48e0c18b79537857af7cf85
* puzzles: correct drawmode for textFranklin Wei2017-06-02
| | | | | | | DRMODE_FG should be used instead of DRMODE_COMPLEMENT to allow text to be drawn in color, benefitting puzzles such as Slant and Pattern. Change-Id: I292216490a58344cb93dc5c2ec1780229735313a
* puzzles: work around inconsistent namingFranklin Wei2017-05-22
| | | | Change-Id: I0541485af087d0bea845e05fbcf61b01be91bf6f
* puzzles: clarify target-specific macrosFranklin Wei2017-05-21
| | | | Change-Id: I1f68f25a557bb2daa5e83a6d6f02711abeec5165
* puzzles: fix Bridges crash on Clip ZipFranklin Wei2017-05-18
| | | | | | - small screen could lead to invalid viewport coordinates Change-Id: I1f2a323554e4ed31f250218220b464a02bffa308
* puzzles: fix buildingFranklin Wei2017-05-17
| | | | | | | - disables help on c200v2 - renames conflicting function Change-Id: I0c4ff1bb40e7e3cafd0170090f22b80bf0656741
* puzzles: full help systemFranklin Wei2017-05-16
| | | | | | | | | - embeds the upstream halibut documentation for plugin use - currently every plugin has a copy of the help text, but in the future a centralized system using overlays might be better Change-Id: Idb6eb9accc2fa786a4c6bc2b704e7cf5fd3f78dd
* puzzles: remember the previous preset when selectingFranklin Wei2017-05-04
| | | | Change-Id: I22c84257a3aa9b19bf5e94f9de51204bbade08c5
* puzzles: fix optimization flagsFranklin Wei2017-05-04
| | | | Change-Id: Ib0524fd4594e9524612eca0da54b3d13dc79b22c