Unicode characters can now be included in Glulx word arrays.
High-plane Unicode characters can be used for Glulx.
New command line switch -V prints the version and date of the compiler and then exits.
New setting $SERIAL sets the six digit serial number written into the header of the game.
It is now possible to add to an existing path without replacing it by using an additional ā+ā character.
New āOrigsourceā directive has been added to allow a record of the location of the relevant in a higher-level language that has been converted to Inform 6.
The constant $INDIV_PROP_START is now a setting that can be changed for Glulx.
Arrays that are never modified can be declared as āstaticā.
It is no longer possible to cause values to be pushed onto the stack but not then pulled by evaluating a logical expression but not assigning or using the result of that expression.
Replacing a recursive function now works correctly.
The output for the $list command line argument now includes the value of the $MAX_ARRAYS setting.
Memory settings can no longer overflow if set to very large values.
The debugging output file now contains the correct function addresses even when the compiler has been told to omit unused functions.
Invalid statements with empty parentheses now generate a sensible error.
Crashes caused by over-long identifiers have been fixed.
The object table is now always generated at an even Z-Machine address, as the logic in the veneer routine RA__Pr() requires this.
The F and u options are now explicitly disallowed with the Switches directive.
Assigning values to system functions now leads to an error message, rather than a crash.
Crashes due to over-long abbreviations have been fixed.
Representing the at symbol ā@ā by @{0040} now works when compiling to Glulx.
The USE_TEMPORARY_FILES option no longer has a bug that led to files being closed more than once.
The platform-specific definitions in header.h have been cleaned up, and āUNIX64ā has been removed.
The maximum length of a verb is now limited to 120 (which can be changed in the source code).
Compiling to Z-code version 3 has shown a number of regressions since Inform 6.15: diverted actions are fixed, and the veneer routine RA__Pr() can be used.
Since ifarchive.org is now behind Cloudflare, it may take a little while for the content for the release notes to update: you might just get the 6.33 release notes. Hopefully this should clear itself up in a few hours, or 24 at the most.
I appreciate the effort and all. I love Inform 6, but Iām wondering why you removed all the older builds of it like 6.31/6.32/6.33 from the archive? Is there an old folder, like in the library, that Iām missing?
Yeah. Thanks for linking it. Too bad about the executables, I have my own for PC and Mac. But if anybody wanted to compile someone source using an older build, this would be a roadblock.
Note that I6 has been backwards-compatible since 6.30. (Maybe 6.21, but the jump to 6.3x was more significant.) The current compiler should successfully compile older games.
Maybe that homebrew recipe was generated from a bleeding-edge version of the source circa 2017? I think the version number has been ā6.34ā in the source for a long while.
The release notes at ifarchive.org were updated on 21 May 2020 and the comment says āRelease notes for Inform 6.30 to 6.34.ā, but theyāre still the release notes for 6.33. Are the 6.34 release notes available somewhere else?
On a related topic,because you asked in another thread about how to improve Inform lib, I say that having enabling/disabling unused/unneeded function(s) can be useful even for a z5 and z8 story file.
Inform 6 and Glulx is a pretty powerful combination. Iāve just finished a game with music and graphics and am really pleased with the result. Unfortunately, youāll have to wait until IFComp 2020 to see it, but I will no doubt write some more games using this combo.
Incidentally, I used the 6.34 compiler for the last beta release and I had no problems whatsoever.
Iād like to add the ability to disable unused functions as well. However, I think this will be a fairly large undertaking. It wonāt be in 6.12.4. Iām focusing of the milestones listed in https://gitlab.com/DavidGriffith/inform6lib/-/milestones/5.
The I6 compiler has the ability to discard unused functions at compile time. (Itās possible that Hadean Lands is the only game thatās ever used it.)
To use this feature, add the argument $OMIT_UNUSED_ROUTINES=1 to the I6 command line. Or add the line
!% $OMIT_UNUSED_ROUTINES=1
to the top of the I6 source file (no comments or blank lines above it).
Thatās brilliant and I have to admit that I didnāt know about it to be honest. Saved me 620 bytes in my work in progress game, which is much in a constrained environment. Thanks!
donāt work on commandline (Inform 6.34), but when put in the source works wonders:
(albeit is a test and the work is still in assessment, the filename is revealing, and I have a strict āno anticipationā policy because of my near-infinite dev timeā¦)