aboutsummaryrefslogtreecommitdiff
path: root/emcclib.js (follow)
Commit message (Collapse)AuthorAge
* Fix vertically misaligned text in Javascript puzzles.Simon Tatham2014-06-21
| | | | | | | | | | When I constructed my test canvas to measure the vertical extent of a text string for ALIGN_VCENTRE, I forgot to ensure that the 'width' variable was an integer, as a result of which the loop over canvas pixels kept trying to use fractional array indices and returning undefined :-) [originally from svn r10196]
* 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]
* Regretfully remove my trickery with a hidden <option> element insideSimon Tatham2013-04-05
| | | | | | | | | | | | | | | | | the game-type <select>, since IE turns out to ignore display:none on options. Oh well. Instead I now do a more transparent thing: when custom game params are in use, there's a "Custom" option selected in the dropdown, and a separate 'Re-customise' option which brings the config box back up. When an ordinary preset is selected, the Custom option is missing, and there's just a 'Customise'. In the process I've tinkered a bit to arrange that the custom 'preset' is always represented by a negative number rather than one past the last real preset; that seems more consistent overall. [originally from svn r9811]
* 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]
* Remove trailing commas at the ends of initialiser lists. IE 8 and 9Simon Tatham2013-04-05
| | | | | | | | didn't like them, which doesn't matter as such since they won't run these JS puzzles anyway (no TypedArray support) but it hints that other JS implementations might be picky about this too. [originally from svn r9804]
* Clarify header comments in the Emscripten frontend's source files toSimon Tatham2013-04-05
| | | | | | | | | | mention that the HTML pages generated by html/jspage.pl are also an integral part of this front end. (The NestedVM frontend is more self-contained, needing only an appropriate <applet> tag, but this one expects quite a few components to exist on the page and have the right ids.) [originally from svn r9803]
* A UI suggestion from Ben: label the Custom element in the dropdownSimon Tatham2013-03-31
| | | | | | | | | with a trailing "..." to hint that it opens a further dialog box. However, the _invisible_ Custom option is merely indicating what you _do_ have selected, so we leave that one as it is. (So now they're no longer exact twins of each other, of course.) [originally from svn r9796]
* Oops. I consistently misspelled my desired lineCap and lineJoin valuesSimon Tatham2013-03-31
| | | | | | | | | as "1" rather than "round". Must have had my Postscript brain in, and/or been confused by lineWidth = "1" just beforehand. This fixes a display glitch in Towers, where there's a tiny spike at the top left corner of each tower due to a very sharp mitred line join. [originally from svn r9791]
* Fix a crash when changing presets in Inertia. Turns out that mySimon Tatham2013-03-31
| | | | | | | | Javascript-side blitter creation function had forgotten to return the new blitter's id, so the C code was still trying to use blitter #0 after it had been thrown away and replaced. [originally from svn r9790]
* Apply a bodge to arrange that if the user selects Custom from the gameSimon Tatham2013-03-31
| | | | | | | | | | | | type dropdown, we still get an 'onchange' event if they select it a second time. Normally this wouldn't happen, because onchange means what it says and we only get it if a _different_ element is selected. My solution is to create two list items called Custom, set one of them as display:none to stop it showing up when the list is dropped down, and to select it after the configuration box closes. [originally from svn r9788]
* Stop using the dangerously unescaped 'innerHTML' for <option>Simon Tatham2013-03-31
| | | | | | contents; use document.createTextNode like I do everywhere else. [originally from svn r9787]
* 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]