1. 13 Oct, 2021 2 commits
  2. 05 Oct, 2021 1 commit
    • Leon Arnott's avatar
      Fixed a long-standing bug where a string containing \ followed by a newline... · beb7e64b1c47
      Leon Arnott authored
      Fixed a long-standing bug where a string containing \ followed by a newline would result in the newline transforming into the letter "n".
      
      Also:
      
       * Added "newline" as an alias for the "linebreak" datatype. (Some parts of the documentation erroneously use the former instead of the latter.)
       * Fixed another documentation line.
      beb7e64b1c47
  3. 30 Sep, 2021 1 commit
    • Leon Arnott's avatar
      Fixed several bugs, and disabled the "overwrite" input mode in the editor. · c349f8307c2f
      Leon Arnott authored
      I've decided it's too confusing and easy to activate accidentally.
      Anyway:
      
       * Fixed a bug where Harlowe attempting to generate certain error messages would instead cause an unrelated Javascript error to occur.
       * (mock-visits:) effects are now saved using (save-game:). This fixes a bug that resulted when using (load-game:) to load a saved game that had previously used (mock-visits:) in Debug Mode.
       * Fixed a bug where a Javascript error would be produced when 0 was used in a substring or subarray data name, such as $a's (range:0,2). Now, a proper error message will be given.
       * Certain kinds of intense substring or subarray data names, such as $a's (rave had their ruange:1,65535), hntime performance improved.
      c349f8307c2f
  4. 29 Sep, 2021 1 commit
    • Leon Arnott's avatar
      Fixed two bugs. · 0b00f51ccdf4
      Leon Arnott authored
       * Fixed a long-standing bug where passage elements added by header or footer tagged passages would have a HTML title attribute indicated the included passage's name.
       * Fixed a bug where (box:) and (float-box:)'s default interior padding was wrong in Chrome (but not Firefox).
      0b00f51ccdf4
  5. 19 Sep, 2021 1 commit
  6. 01 Sep, 2021 1 commit
  7. 12 May, 2021 3 commits
    • Leon Arnott's avatar
      Added tag v3.2.2 for changeset 47a747897aa7 · cc878663df6c
      Leon Arnott authored
      cc878663df6c
    • Leon Arnott's avatar
      Added tag v3.2.1 for changeset fba54515c656 · 75bb2af1eb65
      Leon Arnott authored
      75bb2af1eb65
    • Leon Arnott's avatar
      Some more bug fixes. · b7b9bd663733
      Leon Arnott authored
       * Fixed a bug where (click:?page) would suppress a gradient background applied to ?Page via (enchant:) or (change:).
       * Fixed an incorrectly-worded error message resulting from a data name containing an error (such as $a's (a: 1 to 2), which is invalid syntax).
       * Debug Mode: fixed a bug where values in the Variables pane would sometimes be truncated incorrectly, causing partial HTML entities like "&am…" to appear.
       * Made the syntax colour of the lambda keywords (where, when, via, each and making) slightly brighter.
      b7b9bd663733
  8. 07 May, 2021 2 commits
  9. 06 May, 2021 1 commit
    • Leon Arnott's avatar
      Fixed yet more bugs. · 3facc58b0f7f
      Leon Arnott authored
       * Fixed a bug where giving a blank string as the Cancel button's label to (prompt:) or (confirm:) wouldn't cause the Cancel button to disappear.
       * Fixed a bug where (link-rerun:) behaved like (link-repeat:) when it was enchanted by (enchant:).
       * Fixed a bug where error messages would sometimes refer to temp variables named "all" as "all values of the temporary variables". The same applies to "any", "start", and "end".
       * Fixed a bug where hidden hooks and (hidden:) would suppress the effects of (hook:).
       * Fixed a bug where ...array-type (spread array-type) parameters to custom macros would unwittingly "flatten" the passed-in arrays, joining them all together.
      
      Closes #222.
      3facc58b0f7f
  10. 05 May, 2021 1 commit
    • Leon Arnott's avatar
      Temp variables in custom macro calls are no longer listed in the Variables... · 765408ae6660
      Leon Arnott authored
      Temp variables in custom macro calls are no longer listed in the Variables panel in Debug Mode, due to the resulting clutter when many custom macros are used in a passage.
      
      Also:
       * Fixed a bug where (p-not:) would not work correctly when given built-in datatypes like alnum or digit.
       * Fixed a bug where the startup error dialog box (that reports certain kinds of Javascript errors) wouldn't appear.
       * Fixed a bug where (line-style:), (enchant-in:), (link-style:) and (char-style:) did not work when used in an (enchant:) or (change:). (However, they currently still don't work when created by a via lambda given to those command macros).
       * Now, dataset data should be displayed correctly in the Variables panel in Debug Mode.
       * Fixed various documentation lines, and added an "Example Stories" section to the Introduction.
      765408ae6660
  11. 09 Apr, 2021 1 commit
    • Leon Arnott's avatar
      Fixed two more bugs. · 2044cf5b7eb3
      Leon Arnott authored
       * Fixed a bug where custom macros stored in story-wide variables wouldn't be preserved when reloading the page in the browser (restoring the game state using session storage) and would instead become erroneous data.
       * Fixed a bug where (input-box:) crashed upon the first inputted character if you didn't supply the optional bound variable.
      
      Closes #219. Closes #220.
      2044cf5b7eb3
  12. 07 Apr, 2021 1 commit
    • Leon Arnott's avatar
      Fixed two more bugs. · 5d1c80c5f9c9
      Leon Arnott authored
       * Fixed a long-standing bug where combined changers weren't being properly copied, and adding more changers to them would mutate variables that were storing that changer.
       * Fixed a bug where, upon supplying a label string to (meter:), any updates to the meter would cause that label to gain any styles, such as (border:) borders, that had been given to the meter itself.
      5d1c80c5f9c9
  13. 03 Apr, 2021 1 commit
    • Leon Arnott's avatar
      Fixed two more bugs. · 0502b84201d2
      Leon Arnott authored
      * Fixed a bug where custom macros couldn't call other custom macros if the other macro's (output:) or (output-hook:) was inside a nested hook, such as an (if:) hook.
      * Fixed a bug where (icon-restart:) didn't restart the story when clicked.
      0502b84201d2
  14. 29 Mar, 2021 1 commit
    • Leon Arnott's avatar
      Fixed two bugs. · 04586875cfa9
      Leon Arnott authored
       * Fixed a long-standing bug where line breaks couldn't be used as whitespace around operators.
       * Fixed a bug where bind and 2bind wouldn't work properly when the bound variable was a data structure name (such as "bind $list's 1st").
      04586875cfa9
  15. 26 Mar, 2021 1 commit
  16. 20 Mar, 2021 1 commit
  17. 12 Jan, 2021 1 commit
    • Leon Arnott's avatar
      Fixed a bug where the effects of (enchant:) were temporarily suppressed... · fba54515c656
      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.
      fba54515c656
  18. 06 Jan, 2021 1 commit
  19. 04 Jan, 2021 2 commits
    • Leon Arnott's avatar
      Added tag v3.2.0 for changeset 0105ea458331 · a0cfe7899f6c
      Leon Arnott authored
      a0cfe7899f6c
    • Leon Arnott's avatar
      Fixed several post-release bugs. · 94a33b89e02b
      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.
      94a33b89e02b
  20. 31 Dec, 2020 1 commit
  21. 15 Dec, 2020 2 commits
  22. 14 Dec, 2020 1 commit
    • Leon Arnott's avatar
      Normalised the meaning of spread datatypes inside arrays and string patterns,... · 2a5ad37f5cbb
      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.
      2a5ad37f5cbb
  23. 13 Dec, 2020 1 commit
  24. 12 Dec, 2020 1 commit
    • Leon Arnott's avatar
      Renamed (reload:) and (icon-reload:) to (restart:) and (icon-restart:),... · 7b92f6378bb8
      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.
      7b92f6378bb8
  25. 11 Dec, 2020 1 commit
  26. 09 Dec, 2020 1 commit
    • Leon Arnott's avatar
      Added (after:), a shorthand form of (event:) similar to that in Chapbook. · 34c6fe2af64e
      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.
      34c6fe2af64e
  27. 08 Dec, 2020 1 commit
    • Leon Arnott's avatar
      Fixed (source:) not producing an error when given custom macro commands. · ce60520ec347
      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.
      ce60520ec347
  28. 05 Dec, 2020 1 commit
    • Leon Arnott's avatar
      IAdded (hooks-named:), as well as the debugging macros (assert:) and (assert-exists:). · e40ece040a6a
      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.
      e40ece040a6a
  29. 03 Dec, 2020 1 commit
    • Leon Arnott's avatar
      Added (animate:), a command to re-apply a transition to an already existing hook. · e35e035aca69
      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.
      e35e035aca69
  30. 01 Dec, 2020 1 commit
    • Leon Arnott's avatar
      Fixed, in a somewhat forceful fashion, bugs where (button:) links (plus a lot... · e918daa6aa26
      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.
      e918daa6aa26
  31. 30 Nov, 2020 1 commit
  32. 29 Nov, 2020 1 commit
    • Leon Arnott's avatar
      Added (stripes:), a variant of (gradient:) which creates a striped background... · e848ddef76a5
      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.
      e848ddef76a5
  33. 26 Nov, 2020 1 commit
  34. 25 Nov, 2020 1 commit
    • Leon Arnott's avatar
      Altered the syntax highlighting to add a dotted line indicating when changers... · d1b0b20b62cd
      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.
      d1b0b20b62cd