JACL Changelog

New in version 2.8.4

December 22nd, 2010
  • The interpreter was changed to open game files in binary mode to avoid cross platform compatibility issues caused by differing end-of-line character sequences.

New in version 2.8.2 (November 26th, 2010)

  • A bug that was causing a segfault when the 'savegame' command was used without supplying a filename was fixed.

New in version 2.5.2 (October 14th, 2009)

  • Error handling was improved, including the new command "error" for displaying system-type errors from within JACL library code.
  • Also included is a new "debug" command for displaying test messages that can be turned off when not running in debug mode.

New in version 2.4.8 (April 21st, 2009)

  • Fixed bug where errors were not displayed until user input was requested. This caused errors occuring in an infinite loop to never be seen.
  • Fixed bug preventing the restoration of previously saved games.
  • The 'ensure' command now allows the name of the attribute to specified indirectly via a string variable. This is useful for passing attributes into a function.
  • Functions can now be called by passing the name of the function indirectly through a string variable.
  • Added string constant 'function_name' that contains the name of the currently running function. If the function has multiple names, this variable will contain the name was used to call the function for this execution.
  • Added 'whileall' and 'untilall' commands for AND logic with while and repeat loops.
  • Fixed bug with 'ifstring' command where comparing two string variables would always be true.
  • The 'set' command can now accept multiple operations to perform on the initially specified container.
  • Added the 'break' command to exit straight out of a while loop.
  • Added 'notify' system variable to allow score notification to be turned off.

New in version 2.3.14 (December 18th, 2008)

  • Several bugfixes and minor feature enhancements were made, including improved backward compatibility with old games and increased control over object disambiguation.

New in version 2.3 (October 28th, 2008)

  • The value of a container can now be resolved indirectly by placing the name of the container within a string variable. When this string is used the container referenced by the string will be resolved.
  • Enhanced 'savegame' and 'restoregame' command to accept an option string argument that is used as the filename is supplied. The 'save' 'restore' verbs have also been taken out of the interpreter and moved to verbs.library.
  • Added new grammar scope of '*inside' to indicate that the object should be inside the previously mentioned object.
  • Added new #debug directive to include files for development, but not in the release version of the game (indicated by supplying new -release command-line argument).
  • .j2 no longer encrypted by default, only for release version to assist with debugging.
  • Added new 'getstring' command that prompts the player to input a string of text and stores it in the specified string variable.
  • Added new 'call' command that will attempt to execute a function and fail silently if the function does not exist. This is useful for calling functions that contain optional code.
  • The state of string variables is now stored in saved games.
  • Saved game files now store the number of functions and number of strings defined to assist with validation of files being restored.
  • Added new system variables that can be set to 'false' to disable sound, graphics and the timer.
  • Added ability to set a container to equal the highest parent in in the relationship tree or the ultimate location the object is in using the operators 'parentof' and 'grandof' respectively.
  • Removed internal 'display' command. This functionality is now provided by a native JACL-code function.
  • Fixed bug with {s} macro.
  • Added string constant 'verb_function' that is set to the core verb function that the player's current command maps to.