User Tools

Site Tools



This shows you the differences between two versions of the page.

Link to this comparison view

twine1:twine_1.4.1_release_notes [2017/10/09 20:39] (current)
Line 1: Line 1:
 +**Twine 1.4.1** is a maintenance update for Twine 1.4.
 +Here are the fixes:
 +====Development program====
 +  * Potentially fixed the Windows VC++ runtime problem. If you haven'​t installed the VC++ 9 redistributable,​ the Twine installer should now correctly contain it.
 +  * Fixed <<​endnobr>>​ consuming the three characters that come after it.
 +  * Fixed external link syntax highlighting.
 +  * Fixed syntax highlighting for shorthand <<​print>>​ macros.
 +  * Fixed unmatched <<​endif>>​ and <<​endsilently>>​ macros not being syntax-highlighted red.
 +  * Removed the "​Delete Passage"​ menu item in the Story menu, due to an identical entry being in the Edit menu.
 +  * External links and variable links are no longer considered broken links in the IDE.
 +  * Fixed annotation passages being drawn too dark in smooth drawing mode.
 +  * Fixed the monospace font using the normal font's size instead of its own.
 +  * The StorySettings passage is no longer converted to all-lowercase at build time. This should make HTML exporting/​importing more symmetrical.
 +  * Improved speed of HTML importing.
 +  * Fixed an error when trying to replace a passage with one from animported file.
 +  * Fixed importing from HTML sometimes failing to read passages correctly.
 +  * Now, the "no Start passage"​ warning is suppressed if a StoryIncludes passage is present.
 +====Game engine====
 +  * Fixed passages with names containing quote marks being unrecognised by links.
 +  * Fixed HTML tables in passages not being constructed correctly.
 +  * Altered Sugarcane'​s browser state-saving to avoid a crash in Firefox caused by having lots of variables in your story.
 +  * Fixed TiddlyWiki emdashes not being rendered correctly.
 +  * Fixed the <<​nobr>>​ macro inserting zero-width space characters into contained macro tags, thus breaking them.
 +  * Fixed bug preventing custom macros from being usable in StoryMenu etc.
 +  * Fixed the [img] syntax used in CSS stylesheets inserting a terminating semicolon, preventing further attributes from being used on the same line.
 +  * Added "​vertical-align:​bottom"​ to images to compensate for a line-height difference between XHTML Transitional and HTML5. Why is there a line-height difference? The person who can answer that is not on this Earth, but in Heaven.
 +  * Fixed the <<​nobr>>​ macro not working if any text follows it.
 +  * Fixed <<​choice>>​. Now, clicking a <<​choice>>​ disables all .choice links in the passage, not just itself. This returns it to 1.3.5 behaviour.
 +  * Fixed variables used as array indexes not being parsed correctly.
 +  * Restored the left positioning of the Sugarcane sidebar.
 +  * Added support for "​javascript:"​ and "​data:"​ URIs in external links.
 +  * You can now use external links in the simple link syntax, such as %%[[http://​]]%%.
 +  * Possibly broken pretty-links (as in, links with a separate link text and destination) are now no longer assumed to be external URIs unless they contain a protocol (like "​http:"​),​ or the symbols . / \ or #. This should make link debugging a bit easier.
 +  * Fixed the shorthand <<​display>>​ macro tag's title sometimes being incorrectly parsed as its first argument.
 +  * Shorthand <<​display>>:​ Attempting to access a parameter() that wasn't supplied will no longer throw an error, on the newly considered basis that it would make "​variadic passages"​ (passages that can take multiple optional variables) difficult.
 +  * Fixed a bug where backslashes would be incorrectly converted to arbitrary letters if passage obfuscation was being used.
 +  * <<​back>>​ now works better when Undo is off in Sugarcane. Previously it would mess up the variable state in cases when link variables were in use.
 +  * <<​back>>​ and <<​return>>​ now work when restoring a Jonah state via bookmark.
 +  * <<​back>>​ also now works when clicked in a past Jonah passage - previously it would act as if it was in the present passage.
 +  * <<​back>>​ now works in the StoryMenu, StoryAuthor,​ StoryTitle and StorySubtitle passages.
 +  * <<​choice>>​ now produces an error message if it's used in the StoryMenu, StoryAuthor,​ StoryTitle and StorySubtitle passage.
 +  * Fixed Jonah scrolling in IE 8.
 +  * Now, only the StoryTitle passage'​s text content will be used for the window title, instead of its raw code.
 +  * Now, if a story has no StoryTitle, or the StoryTitle has no text content, it will default to the name of the .tws file used to build it, instead of just "​Untitled Story"​.
 +  * Fixed a bug where putting "​Lookup:"​ in the StorySettings could potentially crash the game.  * Added a sanity check in case a script overrides History.prototype.display() but doesn'​t pass enough arguments (since in 1.4 it takes 4 arguments instead of 3).
 +  * Fixed HTML <​table>​ structures in passages not being rendered correctly.
 +====Development program====
 +  * IDE tag colours now vary between shades of orange based on the hash of the tags, to help differentiate dissimilarly tagged passages from a distance.
 +  * Added a Preferences option for showing the faint connector arrows for image and stylesheet passages.
 +  * Passages displayed via the shorthand <<​display>>​ syntax now result in connector arrows being drawn.
 +====Game engine====
 +  * The StoryMenu now auto-updates when you change passages!! The code is re-executed and re-rendered into the element. This means you could, say, <<​print>>​ a variable inside it, and it would update automatically. (This change also applies to StoryAuthor,​ StoryTitle and StorySubtitle).
 +  * Added the tags() [[function]],​ which takes one or more strings and returns an array of the tags of the given passage (or the current passage if no name is supplied).
 +  * Added passage(), which simply holds the name of the current passage (If a passage is being <<​display>>​ed by another, passage() is the name of the "​topmost"​ passage.)
 +  * Added turns(), which provides the number of turns that have elapsed in the current game.
 +  * Added visitedTag(),​ which returns the number of times passages with the given tag have been visited. Provide multiple tags to only search for passages that contain both.
 +  * Added '​header'​ and '​footer'​ elements to Jonah'​s .passage elements, to provide a bit more symmetry with Sugarcane'​s DOM layout.
 +  * The CSS selector ":​link"​ in stylesheets is now converted to [class*=Link] at runtime. This is to provide backwards-compatibility for people who used "​a:​link"​ to refer to Twine links (which is no longer usable as internal links no longer have href attributes). It's a mean sight of a hack, but so be it - I shan't be adding back the "​javascript:​void(0)"​ href no matter what you say.
 +  * Added the "​visitedLink"​ class, which is applied to passage links that link to already visited passages. ":​visited"​ is converted to "​.visitedLink"​ much like the above. This provides a surprising amount of power - you can give .visitedLink "​display:​none",​ for instance, to make links to all visited passages disappear automatically.
 +  * Re-implemented <<​textinput>>​. It creates an <​input>​ text element which, when a <​button>​ element is pressed, sets the variable to its string contents. It may also have an additional parameter, a link expressed in link syntax, which is used to create a <​button>​ next to it. Examples: %%<<​textinput $name>>​%%,​ %%<<​textinput $name [[Submit|Next passage]]>>​%%.
 +  * The previous 1.3.6 <<​textinput>>​ behaviour of triggering the passage change via pressing the Enter key has been removed for now.
 +  * Added <<​radio>>​. Its arguments are a variable, and a number of strings for each option. When a <​button>​ is pressed, the label of the selected radio button is put into the variable. Example: %%<<​radio $feel "​Strongly agree" "​Strongly disagree">>​%%. If you have multiple <<​radio>>​ macros that refer to the same variable, they'​re treated as part of the same set.
 +  * Added <<​checkbox>>​. It's similar to <<​radio>>,​ having identical syntax - but it sets the variable to an array value containing all of the checked boxes' labels as strings. Example: %%<<​checkbox $weapons "​Pistol"​ "​Newspaper"​ "​Letter opener">>​%%.
 +  * Added <<​button>>,​ a macro that takes a link as its argument and creates a <​button>​ element. Use it for passages which use <<​radio>>​ or <<​checkbox>>,​ or a <<​textinput>>​ set. Example: %%<<​button [[Let'​s go!|armoury]]>>​%%
 +  * As a counterpart to the alert() raised when a script fails to load, window.onerror is now set to issue a one-time alert() signifying that a Javascript error has occurred during play. Feel free to contact me or use the [[http://​​forum/​|forum]] if you find the message mystifying.
 +  * StoryMenu now honours the '​nobr'​ passage tag.
 +  * Built HTML files are now timestamped.
 +  * Upgraded the built-in jQuery module to version 1.11.
 +  * Changed Responsive'​s footer to a sticky footer, like God and all His hideous bat-faced angels originally intended.
 +  * Altered Responsive'​s CSS to make the body background easier to change.
 +  * Altered the CSS for all targets to make StoryMenu contents display better.
 +  * Individual script or stylesheet passages may request the inclusion of jQuery or Modernizr, overriding the StorySettings options, by including in their code the case-insensitive string "​requires jQuery"​ or "​requires Modernizr"​. This enables jQuery-using scripts or Modernizr-using CSS to be easily pasted into stories without requiring any other modifications to the story.
twine1/twine_1.4.1_release_notes.txt ยท Last modified: 2017/10/09 20:39 (external edit)