aboutsummaryrefslogtreecommitdiff
path: root/html (follow)
Commit message (Collapse)AuthorAge
* New puzzle: 'Mosaic'.Simon Tatham2021-04-25
| | | | | | | | | | | | | | | | | | This is similar in concept to Minesweeper, in that each clue tells you the number of things (in this case, just 'black squares') in the surrounding 3x3 grid section. But unlike Minesweeper, there's no separation between squares that can contain clues, and squares that can contain the things you're looking for - a clue square may or may not itself be coloured black, and if so, its clue counts itself. So there's also no hidden information: the clues can all be shown up front, and the difficulty arises from the game generator choosing which squares to provide clues for at all. Contributed by a new author, Didi Kohen. Currently only has one difficulty level, but harder ones would be possible to add later.
* wasm/js/emscripten: Fix page loading raceIan Jackson2021-04-22
| | | | | | | | | | | | | | | | Using a stunt webserver which artificially introduces a 3s delay just before the last line of the HTML output, I have reproduced a uwer-reported loading/startup race bug: Previously the wasm loading was started by the <script> element, synchronously. If the wasm loading is fast, and finishes before the HTML loading, the onRuntimeInitialized event may occur before initPuzzles. But initPuzzles sets up the event handler. Fix this bug, and introduce a new comment containing an argument for the correctness of the new approach. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* Another rewrite of the WASM apology message.Simon Tatham2021-04-08
| | | | | | | | | | | | | Now I've had a chance to collect some more data from browser users, it's got a list of browsers in which we've definitely seen the WASM puzzle working (so that if _your_ instance of one of those browsers fails, you should check it for problems at your end, like configuration details or overzealous web filtering software), and some thoughts about what to report. The result is a lot longer than the previous error message, so I've put the bulk of it in a <details>. That way it won't look so silly when it initially flashes up while things are loading.
* Reword the apology when web puzzles fail to load.Simon Tatham2021-04-07
| | | | | | | | | | | | The old one was totally out of date (it mentioned typed arrays and a specific set of browser versions against which the previous Emscripten build had been tested). Also, a couple of users in the last day or two have reported mysterious failures of the WASM puzzles, which I haven't been able to reproduce in the same version of the same browser. So something odd is going on, and this seems like a good place to put suggestions about what diagnostic information to send.
* Fix docs link from the JS Rectangles page.Simon Tatham2018-07-24
| | | | | It pointed to rectangles.html, which doesn't exist, in place of rect.html which does.
* Galaxies: clarify wording of completion condition.Simon Tatham2018-04-17
| | | | | | | | A user mailed me today having found it less than clear from the docs that Galaxies will only accept a solution if the set of filled-in grid edges consists of _exactly_ the ones that separate two distinct regions, rather than consisting of _at least_ those and perhaps others which neither break rotational symmetry or disconnect any region.
* Build test HTML wrapper pages for the Javascript puzzles.Simon Tatham2017-09-20
| | | | | | | | This should make it less annoying for me to do local testing of the JS output of a build, before I push a change. There's a new build.out/jstest directory containing .html files suitable for loading in a local browser, which refer to the JS files via an appropriate relative path to the existing build.out/js directory.
* Fix borders on the HTML menu bar.Simon Tatham2017-09-07
| | | | | | Commit ef39e6e17 made a goof in which the 'New game' button had no border on the left and an accidental extra one on the right, which I'm really not sure how I failed to spot when I tested it yesterday.
* HTML: move 'New game' back out of the drop-down menu.Simon Tatham2017-09-06
| | | | | | The only user to send me a comment today on the new layout said that that menu item in particular is annoying to have hidden behind more clicks, so by a vote of one to nothing, it's back out in the open.
* Support for loading games in Javascript puzzles.Simon Tatham2017-09-05
| | | | | | | | | | | This is done by showing a dialog containing an <input type="file"> through which the user can 'upload' a save file - though, of course, the 'upload' doesn't go to any HTTP server, but only into the mind of the Javascript running in the same browser. It would be even nicer to support drag-and-drop as an alternative UI for getting the save file into the browser, but that isn't critical to getting the first version of this feature out of the door.
* Support for saving games in Javascript puzzles.Simon Tatham2017-09-05
| | | | | | | | | This is done by getting midend_serialise to produce the complete saved-game file as an in-memory string buffer, and then encoding that into a data: URI which we provide to the user as a hyperlink in a dialog box. The hyperlink has the 'download' attribute, which means clicking on it should automatically offer to save the file, and also lets me specify a not-too-silly default file name.
* Organise the JS menus/buttons bar more like a menu.Simon Tatham2017-09-05
| | | | | | | | | | | | | | | | | | | | | | | | I'm about to introduce a few more options, and the button bar is already a bit wide, so I think I should shrink it horizontally before putting more stuff on it. So I've organised the options into something more like the Game and Type submenus that the desktop versions use. However, I haven't gone quite all the way, on the basis that the web versions will be at least slightly playable on devices without much keyboard, which makes it worth keeping the in-play actions (Undo, Redo, and to a lesser extent Restart and Solve) accessible as top-level buttons in a single click each. As part of this change, I've also separated the menu bar into a drop-down menus section and a top-level buttons section with a gap between them, and put a signalling "..." on the end of the titles in the former section. This change also removes the class="left" on the game-type menu and its submenus, which were previously there to deal with that menu being all the way over on the far right of the menu bar. But the CSS for those classes is still there in jspage.pl, and should still work if I need it again in future.
* Javascript puzzles: switch to a CSS-based drop-down system.Simon Tatham2017-04-26
| | | | | | | | | | | | | | | The previous control buttons and dropdowns based on form elements were always a bit ugly: partly in a purely visual sense, and partly because of the nasty bodge I had to do with splitting the usual 'Custom' game type menu item into two (to get round the fact that if an element of a <select> is already selected, browsers won't send an event when it's re-selected). Also, I'm about to want to introduce hierarchical submenus in the Type menu, and <select> doesn't support that at all. So here's a replacement system which does everything by CSS properties, including the popping-up of menus when the mouse moves over their parent menu item. (Thanks to the Internet in general for showing me how that trick is done.)
* Add a new puzzle: Palisade.Jonas Kölker2015-10-18
|
* Magnets: you can now mark clues as doneKevin Lyles2015-06-10
|
* Undead: you can now mark clues as doneKevin Lyles2015-05-26
|
* Towers: you can now mark clues doneKevin Lyles2015-05-22
|
* New puzzle from James Harvey: 'Tracks'.Simon Tatham2015-02-08
|
* New puzzle: 'Flood'.Simon Tatham2015-01-12
| | | | | | | | | | Based on a web game I saw a few years ago, and dashed off this weekend after I thought of a way to write a good (though not quite optimal) heuristic solver, here's a random little thing not quite in the same line as the most usual kind of Puzzles fare: instead of making you scratch your head to find any move to make at all, it's easy to find solutions in principle, and the challenge comes from having to do so within a move limit.
* Add a draggable resize handle to the JS puzzles.Simon Tatham2013-04-07
| | | | | | | | | | | | | | | | | | | | | | | Rather than design an ersatz 'window frame' surrounding the puzzle canvas, I've simply overlaid the resize handle on the corner of the puzzle itself (canvas or status bar, depending on whether the latter exists), trusting that all games in my collection provide a reasonable border within their drawing area. (OS X already does this with its resize handle, so it's not as if there's no precedent.) Unlike the desktop versions, I control the resize behaviour completely in this environment, so I can constrain the canvas to only ever be sensible sizes with no dead space round the edges (and, in particular, preserve the aspect ratio). Right-clicking the resize handle will restore the puzzle's default tile size. I had intended to implement a maximise-to-browser-window button too, but was annoyingly foiled by scrollbars - if you maximise to the current window width, and as a result the text below the puzzle scrolls off the bottom, then a vertical scrollbar appears and eats into the width you just maximised to. Gah. [originally from svn r9822]
* Fix the 'puzzle doesn't work' apology, which I'd accidentally movedSimon Tatham2013-04-06
| | | | | | | | | | | | | | inside the top-level display:none puzzle container as a side effect of r9809. Also, while I'm at it, reword the apology to mention typed arrays as the most likely cause of failure (AFAIK that's the most modern feature required by the JS front end), and fix indecision between singular and plural ('this puzzle' doesn't work, perhaps a feature 'they depend on' is missing). [originally from svn r9818] [r9809 == 5dc559c8be1b8f6ed15f560433f25c952c874f93]
* Mention Safari in the list of tested browsers.Simon Tatham2013-04-05
| | | | [originally from svn r9816]
* Update the list of tested browsers.Simon Tatham2013-04-05
| | | | [originally from svn r9812]
* Assorted HTML/CSS fiddlings to make things work better in IE. I'veSimon Tatham2013-04-05
| | | | | | | | | | | | added a trivial doctype (IE complained without it), but that caused a gap to appear between the puzzle and the status bar, so I tinkered a bit more and ended up removing the <table> completely (no great loss) as well as adding display:block to the canvas and explicitly setting the width of not only the status bar div but also its parent div. Meanwhile, I'm putting the "px" on the end of a lot of properties I set from JS, because IE complains about that too if I don't. [originally from svn r9809]
* Try to give a more friendly message if anything goes wrong duringSimon Tatham2013-04-03
| | | | | | | | | | puzzle startup. The puzzle web pages now enclose the whole puzzle (buttons, canvas, permalinks) in a div set to display:none, and instead display an apologetic message saying 'sorry, it didn't work'; then, if we get through the whole init function without crashing, we show the puzzle and hide the apology. [originally from svn r9802]
* Fix a grammatical confusion on the Unruly web page.Simon Tatham2013-04-02
| | | | [originally from svn r9801]
* Forgot to make the web-page-building scripts executable.Simon Tatham2013-03-31
| | | | [originally from svn r9786]
* New front end! To complement the webification of my puzzles via JavaSimon Tatham2013-03-30
| | | | | | | | applets, here's an alternative webification in Javascript, using Emscripten in asm.js mode (so that as browsers incorporate asm.js optimisation, the game generation should run really fast). [originally from svn r9781]
* Introduce a mechanism in this source tree for building the containerSimon Tatham2013-03-30
web pages for the Java applets. Previously, those have all been maintained by hand in my website's svn area, which is a bit silly. Now we have a file per puzzle in the 'html' subdirectory which contains the puzzle's name, one or two attributes, and the instructions snippet to go below the puzzle applet; and then there's a Perl script that builds all the real web pages out of that by adding in the parts common across all files: the header, footer, and middle fragment with the <applet> tag and resizing bits and pieces. One piece _not_ checked in here is the footer text specific to my hosting at chiark, which I think does still belong in the www area. So Buildscr doesn't actually build the web pages; it just delivers the bits and pieces by which my nightly snapshot script will be able to run the program that _does_ build them, passing that footer as an extra argument. [originally from svn r9780]