summaryrefslogtreecommitdiff
path: root/apps/plugins/puzzles (follow)
Commit message (Collapse)AuthorAge
* puzzles: enable MinesHEADmasterFranklin 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
* puzzles: simplify makefileFranklin Wei2017-05-02
| | | | Change-Id: I14b4bda7e706e73d2d4475c9d536fbef9e2b9577
* add fake stdio.hFranklin Wei2017-04-30
| | | | Change-Id: Iec6159b095b29b5ffb3ef5a46d068012fbe10f00
* add rule for rbcompat.hFranklin Wei2017-04-30
| | | | Change-Id: Icb7320f9233f2c121a8487d5b5c4cbcb483e9345
* fix puzzles: round 4Franklin Wei2017-04-30
| | | | Change-Id: Ibba738b8179c166f680dee0ce7536890fca1c0e4
* fix puzzles... round 3Franklin Wei2017-04-30
| | | | Change-Id: I014ace22f0b83d8e407bd46df361532207f984bc
* Fix puzzles... againFranklin Wei2017-04-30
| | | | Change-Id: I34dd8673ebcbc7fcd55681175d0e18c8bbc5fe6c
* puzzles: refactor and resync with upstreamFranklin Wei2017-04-29
| | | | | | | | | | This brings puzzles up-to-date with upstream revision 2d333750272c3967cfd5cd3677572cddeaad5932, though certain changes made by me, including cursor-only Untangle and some compilation fixes remain. Upstream code has been moved to its separate subdirectory and future syncs can be done by simply copying over the new sources. Change-Id: Ia6506ca5f78c3627165ea6791d38db414ace0804
* puzzles: fix makefile producing temporary files in the build directory (sorry!)Franklin Wei2017-02-10
| | | | | | - thanks to Michael Sevakis for catching this Change-Id: Ia02ba7a06a55bc0741df9ce2c21f868d7e0abdd4
* puzzles: fix up makefileFranklin Wei2017-02-09
| | | | | | - rewrote a bunch of repetitive rules with a pattern rule Change-Id: I86a61a7ed8398f18789e5efaf4996d9eafd50651
* puzzles: more accurate sin() and cos()Franklin Wei2017-01-16
| | | | | | - now uses fp_sincos() Change-Id: I20c8224cac98fc677097161737d25dd9038bede2
* puzzles: change default optimization to -O2Franklin Wei2017-01-16
| | | | Change-Id: I606df468f92f8d550827c122a9cfd5248866afdb
* puzzles: disable unplayable puzzles (Solo and Loopy)Franklin Wei2017-01-16
| | | | | | - accidentally enabled in c200v2 fix Change-Id: I252191fc47da9fe1a664a260cb53f6a5a1eea437
* fix whitespaceFranklin Wei2017-01-15
| | | | Change-Id: I9b0659c218f92051a4de99ec03b97a2b1d067e29
* puzzles: fix building on c200v2Franklin Wei2017-01-15
| | | | | | - disables Solo and Loopy Change-Id: I3de15c0ad001683a4303950972af2f5988d438d0
* puzzles: antialiased line drawing via Wu's algorithm and optional ↵Franklin Wei2017-01-15
| | | | | | | | | "shortcuts" for undo/redo - line drawing should eventually be moved to xlcd, but for now it's very unportable code - also fixes a minor issue with the configuration screens Change-Id: I897f01b7210cbbec32665c2bc67920c965ea0bec
* Fix compilation of puzzles on WindowsAmaury Pouly2017-01-15
| | | | | | mingw exports vsscanf and that clashes with rbwrappers' definition. Change-Id: I87481ff4e93547059b2e1fa8083bedcf8633343a
* Revert "puzzles: antialiased line drawing and optional "shortcuts" for ↵Franklin Wei2017-01-13
| | | | | | | | undo/redo" This reverts commit 8e4429853d1ac024ac2b8069636cc210cf5bab1b. Change-Id: Id622d58ad4b3b9dd3313811c8a2f83202d21f5ee
* puzzles: fix configuration menu (again!)Franklin Wei2017-01-13
| | | | Change-Id: I440f3cea1bbeb3e7bda4aebefaaece3e8f3d44fd
* puzzles: antialiased line drawing and optional "shortcuts" for undo/redoFranklin Wei2017-01-13
| | | | | | | - line drawing should eventually be moved to xlcd, but for now it's very nonportable code - fixes a minor issue with the configuration screens Change-Id: I897f01b7210cbbec32665c2bc67920c965ea0bec
* puzzles: enable fallback to audiobuf when smalloc() failsFranklin Wei2017-01-13
| | | | | | | | - upon a failed smalloc(), the audio buffer will be used for further allocations - should fix things on low-memory targets (c100 and c200v2), but breaks playback - playback should still be intact on other targets Change-Id: Ic239f1316efadc957050afacf5c614dbbca3f805
* puzzles: add cursor interface to untangleFranklin Wei2017-01-07
| | | | | | | - makes it playable - submitted to upstream Change-Id: Ib672ee374d500a994bc8e78eb01fea529ec5132f
* puzzles: fix a minor bug in the configuration screenFranklin Wei2017-01-04
| | | | | | | - when an invalid string setting was entered, the string value would continue to be used after being freed Change-Id: I3a9da016f6f32eac8636b9f55e4e09006bc6059e
* puzzles: minor polishing touches on the user interfaceFranklin Wei2017-01-04
| | | | | | | | - the debug menu has been neatly hidden away in the classic Android style ;) - playback control option added to the pause menu when possible - also fixes a minor redraw issue Change-Id: I00d0186986a8e659991948336b26b4f2e2a0ce66
* puzzles: fix a few thingsFranklin Wei2017-01-04
| | | | | | | | - old acos() function was broken, replaced with a call to atan2(); this fixes "Cube!" - Makefile extended to support building "unfinished games", but not enabled - a backdrop issue fixed in rockbox.c Change-Id: I9393e958d43de32f4ccf18e1cb409f75c2e1ed3c
* puzzles: rename bcopy() to bcopy_wrapper() and make staticFranklin Wei2017-01-03
| | | | | | - fixes a name collision on linux Change-Id: I9f162b5c8a1f319fa6495ff9343fb6007cc20edf
* Fixes and re-sync for puzzlesFranklin Wei2017-01-01
| | | | | | | | - Updates to latest upstream (7cae89fb4b22c305b3fd98b4e1be065ad527a9f7). - Also fixes a bug relating to updating parts of the display. - Adds some docs. Change-Id: Idfcce66e0cf3c59e467bab42eafc161df2e495bb
* work around little bugs in puzzlesFranklin Wei2016-12-18
| | | | Change-Id: I80d72a6bb0189eb842385aa622506d5efe319053
* add missing file to puzzlesFranklin Wei2016-12-18
| | | | Change-Id: I63b80718f48eede54c3312d9e66c77bfd2472a79
* Port of Simon Tatham's Puzzle CollectionFranklin Wei2016-12-18
Original revision: 5123b1bf68777ffa86e651f178046b26a87cf2d9 MIT Licensed. Some games still crash and others are unplayable due to issues with controls. Still need a "real" polygon filling algorithm. Currently builds one plugin per puzzle (about 40 in total, around 100K each on ARM), but can easily be made to build a single monolithic overlay (800K or so on ARM). The following games are at least partially broken for various reasons, and have been disabled on this commit: Cube: failed assertion with "Icosahedron" setting Keen: input issues Mines: weird stuff happens on target Palisade: input issues Solo: input issues, occasional crash on target Towers: input issues Undead: input issues Unequal: input and drawing issues (concave polys) Untangle: input issues Features left to do: - In-game help system - Figure out the weird bugs Change-Id: I7c69b6860ab115f973c8d76799502e9bb3d52368