- 12 Jan, 2021 1 commit
-
-
Leon Arnott authored
Fixed a bug where the effects of (enchant:) were temporarily suppressed whenever a (dialog:), (prompt:) or `(confirm:)` was run at roughly the same time. This isn't the fix I wanted to make (instead I'd rather it only call updateEnchantments() when it explicitly needs to), but it'll have to do for now. Also fixed a bug where the Styles panel of The Harlowe Toolbar didn't preview animations correctly. Closes #203.
-
- 06 Jan, 2021 1 commit
-
-
Leon Arnott authored
-
- 04 Jan, 2021 2 commits
-
-
Leon Arnott authored
-
Leon Arnott authored
* Fixed a bug where, when a transition finished, if the browser experienced lag due to a large number of other elements being present, the transitioning element's visibility could become hidden briefly before Harlowe removed the transition CSS from it. * Fixed a bug where (set:), (put:), (move:) and (unpack:) would produce objects with invalid TwineScript_Print() methods outside of Debug Mode, thus polluting the browser console with errors. * Fixed a bug where Debug Mode's Enchantments panels' headers were being drawn incorrectly. * Greatly improved the performance of Debug Mode's panels, reducing lag caused by a large number of entries being added to a panel at once. Closes #201.
-
- 31 Dec, 2020 1 commit
-
-
Leon Arnott authored
-
- 15 Dec, 2020 2 commits
-
-
Leon Arnott authored
This removes a kludge necessary to slice out the trailing : in custom macro calls, which was formerly left as a text token.
-
Leon Arnott authored
These were two minor variations of other macros I wanted to throw in for completeness' sake. Also fixed a bug in the syntax highlighter related to link text, and corrected a few tooltips.
-
- 14 Dec, 2020 1 commit
-
-
Leon Arnott authored
Normalised the meaning of spread datatypes inside arrays and string patterns, fixing an ambiguity where spread string datatypes (like ...whitespace) referred to both strings of multiple whitespace and arrays of multiple strings of whitespace. Also: * Updated the logo, and left it unoptimised due to the previous version not rendering correctly in Chrome. * Fixed a bug where the 'anycase' datatype wasn't permitted in (p:) macros. * Fixed a bug in the previous commit where (icon-restart:)'s name wasn't recognised. * A few panels in The Harlowe Toolbar now support generating (enchant:?passage) calls.
-
- 13 Dec, 2020 1 commit
-
-
Leon Arnott authored
You might remember that responsive CSS was present in 1.2.4 but removed in 2.0.0, but all that ever did was change the font size, which wasn't intuitive or helpful most of the time. Also fixed a bug where HookNames could select text inside transitioning-out passages. Closes #151.
-
- 12 Dec, 2020 1 commit
-
-
Leon Arnott authored
Renamed (reload:) and (icon-reload:) to (restart:) and (icon-restart:), keeping (reload:) as an alias. Also: * Fixed some minor things in The Harlowe Toolbar, as well as added a minimise button to the whole thing. * Columns and aligners no longer have title text in Debug Mode, due to it being kind of confusing. * Trying out the notion that <tw-transition-container>s should never get "inline-block" at all, instead just "inline" or "block". I checked the original commit for this (a38a93a77b97), and I don't believe it was ultimately correct. * Fixed another Chrome opacity bug with transitions. * Fixed a CSS bug with <tw-dialog-links>, caused by Chrome not supporting justify-content:end. * Added a TwineScript_is() method to basic commands, allowing them to be considered equal by `is` in most situations where that matters.
-
- 11 Dec, 2020 1 commit
-
-
Leon Arnott authored
Also fixed a bug related to CodeHook parsing.
-
- 09 Dec, 2020 1 commit
-
-
Leon Arnott authored
Notable about this macro design, unlike its (event:) form, is that it contains an optional "skip" parameter similar to that for (t8n-skip:). Also: * Fixed a bug in the previous commit (which should've included <tw-story> as its exception). * Fiddled with various parts of the documentation. * Tweaked (palette:) to produce less dark link text whenever the produced normal text colour is rather dark.
-
- 08 Dec, 2020 1 commit
-
-
Leon Arnott authored
Also: * Tweaked some more documentation articles. * Fixed the CSS for (button:) links. * Updated introduction.md with a 3.2.0 introduction. * Found myself forced to make the childrenProbablyInline() check in transitionIn() and transitionOut() occur in a timeout, so that section expression execution could be performed, and thus changers like (box:) could provide the <tw-transition-container> with the correct display property. Also decided, to ensure .enchantment-button works correctly, that childrenProbablyInline() should actually call upon getComputedStyle() when appraising hard-to-judge elements, instead of just using the .style.display property.
-
- 05 Dec, 2020 1 commit
-
-
Leon Arnott authored
(assert-exists:) is designed as something of a compromise over adding a non-nullable hook selector, pleading that such a selector proved too complicated to add in terms of concatenation with nullable selectors, making various non-error-propagating methods suddenly able to propagate errors, etc. When I added this, (assert:) naturally had to follow. I MAY change (hooks-named:) to just (hooks:), or perhaps add some aliases for it. Closes #32. Closes #196. Also: * Fixed a bug where (meter:) wouldn't work properly with fractional variables. * Added some more block elements to usuallyBlockElements in Utils.
-
- 03 Dec, 2020 1 commit
-
-
Leon Arnott authored
This was added simply because I noticed people could use (t8n:) and (rerun:) to accomplish this, and I wanted this little hack to have a proper idiom. As it is, it isn't too useful due to the current suite of transitions involve the hook slowly appearing (with "rumble" and "shudder" notable exceptions), but maybe a few more could be added. As it is, I added one more transition: "blur", which uses the new CSS filters to make a hook appear from a blur. Also fixed Utils.childrenProbablyInline() a bit more.
-
- 01 Dec, 2020 1 commit
-
-
Leon Arnott authored
Fixed, in a somewhat forceful fashion, bugs where (button:) links (plus a lot of other block elements) would be forced into inline flow during some transitions, due to <tw-transition-container> being given 'display:inline-block'. This COULD cause some issues with some other transitioning elements (not to mention custom story structures), but it seems to be working as intended at present. Also: * Fixed the border of (input-box:) elements, such that (border:) can alter it correctly. * Made it so that various 3.2.0 commands that should not have changers attached will now correctly error when that happens. * Fixed the sizing of "button" links in (dialog:) dialogs.
-
- 30 Nov, 2020 1 commit
-
-
Leon Arnott authored
Added a debugging command, (mock-visits:), which lets you re-create a game state where certain passages have been visited a certain number of times. Also tweaked the Colours panel of The Harlowe Toolbar such that an (enchant:?page) call can now be optionally generated from that panel.
-
- 29 Nov, 2020 1 commit
-
-
Leon Arnott authored
Added (stripes:), a variant of (gradient:) which creates a striped background (for use with (background:)) when given a given stripe width, angle, and colours. As of now, the adjusted "stops" data value on (stripes:)'s gradients may seem ugly, but it leaves the possibility open for someday adding (repeating-gradient:), which would use the same {pixels,colour} names. Also fixed a long-standing bug where, due to a precedence conflict, writing something like `$a's stops's (1)` would cause a Javascript error.
-
- 26 Nov, 2020 1 commit
-
-
Leon Arnott authored
Added a Macros list panel to The Harlowe Toolbar, providing a definitive list of every built-in macro. This also tweaks panel production. Now, each panel's HTML elements are generated the first time they are shown using switchPanel(), saving on resources for the author.
-
- 25 Nov, 2020 2 commits
-
-
Leon Arnott authored
Altered the syntax highlighting to add a dotted line indicating when changers and variables will attach to hooks, eliminating whitespace. This is by no means perfect, but is still, in my mind, better than having no visual indication whatsoever. This also brings along two tooltips related to changer attachment. Also added some syntax highlighting colours for a few common operators.
-
Leon Arnott authored
Added (button:), a styling changer for links, as well as added an optional "unavailable" text string argument to (link-storylet:). Having a drop-in styling option for links that makes them more closely resemble other contemporary IF engines' links has been something I've gradually accepted as desirable. That being said, getting this working with every kind of "link" in this engine has forced me to use a CSS class name (a namespace I'm loathe to use unnecessarily). I feel a bit more positive about (link-storylet:) now that the optional argument and the aformentioned changer are available. Also fixed a bug where (align:) would override (box:)'s width with its max-width.
-
- 22 Nov, 2020 1 commit
-
-
Leon Arnott authored
Added a (meter:) command macro, used for creating a videogame bar-graph meter that's bound to a numeric variable. I'm rather satisfied with this implementation of meters. The only concern right now is that it's the only "interface" macro in the documentation. Also fixed a bug with (enchant:) where errors produced by the given lambda wouldn't be reported.
-
- 19 Nov, 2020 1 commit
-
-
Leon Arnott authored
Added a "itself + value" and "variable + value" input interface to the Var panel of The Harlowe Toolbar. This essentially "completes" the Var panel, as it allows variables to not just be created, but updated, too. Still a few tweaks are left to be made, though. Also tweaked the "fidget" (text-style:) animation.
-
- 15 Nov, 2020 1 commit
-
-
Leon Arnott authored
(click:), (mouseover:), and (mouseout:) now also take an optional changer or lambda with which to style their targets. Since these target multiple hooks/strings at once, they make also take a 'via' lambda similar to (enchant:), and unlike (link:).
-
- 14 Nov, 2020 1 commit
-
-
Leon Arnott authored
Added (link-storylet:). Also, link changers now accept an optional changer as their second argument, which is used to style the link and not the hook. After normalising the behaviour of the (link:) family of changers and other changers combined with them, I'd been stressing out about how to make (link:) links alterable with changers. This solution, the most direct one available, is a little uncomfortable to me because of how much further it differs from the command links' behaviour (as in, (link-goto:)). However, since those already have significant syntactic differences due to being commands rather than changers, I wonder if this divergence of usage might also assist in understanding how unalike they are. I don't feel very optimistic about (link-storylet:)'s behaviour when no storylet matches the given condition - just printing nothing - and might rework its arguments to make it easier to control what exactly it prints in any situation.
-
- 09 Nov, 2020 1 commit
-
-
Leon Arnott authored
Also fixed a crash related to using (source:) on a custom macro.
-
- 08 Nov, 2020 1 commit
-
-
Leon Arnott authored
Added column headers to the Debug Mode table panels, and added "Urgency" and "Exclusivity" columns to the Storylet panel. Also: * Altered the pseudo-element CSS for (click:), (mouseover:) and (mouseout:) to work correctly with the (box:) macro. * Markup that's inside the verbatim markup will no longer be syntax-highlighted as if it was outside it. * Fixed a few documentation mistakes.
-
- 04 Nov, 2020 1 commit
-
-
Leon Arnott authored
Added (urgency:) and (exclusivity:) metadata macros, which affect the (open-storylets:) array's contents when they are used in an open storylet. I plan to add a command macro or two to provide slightly easier consumption of the storylet array than just (open-storylets:), and an increase in accessibility will mean convenience macros like these will be helpful.
-
- 02 Nov, 2020 2 commits
-
-
Leon Arnott authored
I wanted to include a few very simple expressions alongside the typical data types, and these leveraged existing code nicely. Also: * Added a (checkbox:) input interface to the Input panel of The Harlowe Toolbar, which requires that a variable be bound to it. * Fixed some bugs elsewhere in the Toolbar. * Changed the styling for (text-style:"emboss") slightly, to more properly differentiate it from "shadow".
-
Leon Arnott authored
This leverages the existing array interface very cleanly, to a degree that impressed me. Also added some terse descriptions of arrays and datamaps to the interface itself.
-
- 30 Oct, 2020 1 commit
-
-
Leon Arnott authored
(icon-counter:) is designed as a built-in solution to putting UI displays in the sidebar, which authors have tended to do over the years. Being a mere display element instead of a clickable icon, it doesn't have the same default opacity as the other icons. (opacity:) had to be added in order to make the default opacity of sidebar icons alterable, if one wanted to bring them all into line with each other. (checkbox:) has been a long-time obvious addition to bring in from SugarCube. It also makes me want to add (checkbox-fullscreen:), as a counterpart to the link form of fullscreen activation. Also fixed a 2bind-related bug with (input-box:).
-
- 27 Oct, 2020 1 commit
-
-
Leon Arnott authored
Added (str-nth:). Also, the icons produced by the icon command macros can now have optional text labels added. These optional text labels are a string argument alongside the optional Unicode glyph string. They are differentiated solely by length, which results in a somewhat unusual type signature for these macros, but one which isn't too bothersome. The naming of (str-nth:) compared to (nth:) is also something that's a little unfortunate, but I don't think (str-nth:) is quite as useful on the whole as (nth:) is, so I assume it'll be fine given there's not as much chance of confusing the latter for the former.
-
- 26 Oct, 2020 1 commit
-
-
Leon Arnott authored
Adding some extra string and number utilities has been on my mind for awhile, but I've been less inclined to them until now due to the dry nature of implementing them. More will come soon, I believe.
-
- 24 Oct, 2020 1 commit
-
-
Leon Arnott authored
The big problem with this was that it involved the ability to create and remove any number of subrows (array elements) in which data could be placed, and how this interacted with the existing panel row infrastructure. That and styling, of course. But, I seem to have it in a usable spot at present. Also, now, (hook:) works correctly when given to (enchant:)
-
- 19 Oct, 2020 1 commit
-
-
Leon Arnott authored
Formerly, it wouldn't read the mouse coordinates correctly. Also added (bg:) as an alias for (background:), and added a few extra lines of documentation for plain variable markup.
-
- 17 Oct, 2020 1 commit
-
-
Leon Arnott authored
Fixed a bug where closing an (alert:), (confirm:) or (prompt:) dialog box when there was an (event:) hook in the passage would cause a crash. Closes #198.
-
- 16 Oct, 2020 1 commit
-
-
Leon Arnott authored
Added (trimmed:), a macro that removes instances of the given string pattern from the start and end of the given string (defaulting to whitespace if no pattern was given). Also fixed a bug in the previous commit.
-
- 15 Oct, 2020 1 commit
-
-
Leon Arnott authored
Added (icon-undo:), (icon-redo:), (icon-fullscreen:) and (icon-reload:), and removed the fullscreen icon from the sidebar. I decided, as expected, that the fullscreen icon tends to stick out quite a bit when it was constantly visible by default. The addition of these macros permits the author to selectively add the fullscreen icon if they wish, using existing macros. Also fixed a bug where (link:) attached to commands would cause a crash, introduced not long ago.
-
- 13 Oct, 2020 1 commit
-
-
Leon Arnott authored
Added an Input pane to The Harlowe Toolbar, which can currently generate (input-box:), (force-input-box:), (dialog:) and (dropdown:) macros. Also decided that (input-box:) generated <textarea>s should NOT be able to be arbitrarily resized by the player.
-
- 11 Oct, 2020 1 commit
-
-
Leon Arnott authored
Added (link-style:), (line-style:) and (char-style:) as shorthands for using (enchant-in:) with ?Link, ?page's lines, and ?page's chars. I'd lately begun to feel that it was pretty silly that such useful functionality for line and char styling was locked behind such awkwardly esoteric devices as these hook data names. More relevantly, the arrival of (enchant-in:) resulted in some messy idioms resulting from it (You can't say "this hook's lines", for instance, and instead must specify the equivalent of "the page's lines which are in this hook") and those dearly needed some alternative. Also: * Fixed a bug where a "lines" enchantment would often cause text nodes within lines, such as the text of a (link:) link, to be transplanted out of any elements containing them. * Fixed a bug in the syntax highlighter (introduced a few commits ago) where whitespace at the start of a line would be incorrectly highlighted as an error even if it was inside a macro call.
-