Skip to content

v1.8

Compare
Choose a tag to compare
@fredrikr fredrikr released this 27 Nov 12:17
· 1089 commits to master since this release

Bug fix and new feature release (27 November 2020)

Changes in functinality:

  • Added that Look will print what is in/on containers/supporters which have either scenery or concealed, if constant OPTIONAL_PRINT_SCENERY_CONTENTS is defined.
  • Added constants STATUSLINE_TIME and STATUSLINE_SCORE, to include only the code needed for the type of statusline used in the game.
  • Added extension ext_waittime.h
  • The cheap scenery extension doesn't let through the Search action any more in its before rule, which allows the game author to give a custom response for that action instead in SceneryReply.
  • The cheap scenery extension now allows for the SceneryReply routine to check which cheap scenery "object" was matched - it gets the two words specified for the "object" as two parameters. See example in ext_cheap_scenery.h
  • Made TheDark object more flexible by adding properties before and after.
  • Added howto/semidark.inf, a demonstration of how one can implement almost dark rooms.
  • If a switchable object has a string for description, or a routine which returns true, "examine [object]" will no longer add a text saying whether the object is currently switched on or off.
  • Added scoring notifications even on the final turn of the game, just before you win/die/lose.
  • Moved all processing that happens at the end of a turn to a routine called EndTurnSequence(). This can be called by a WAIT command to simulate that turns happen, should anyone want to implement a WAIT command.
  • Added checks so each_turn processing is stopped if an each_turn routine ends the game, or if a daemon or timer ends the game. Also, TimePasses() isn't called if a timer, daemon or each_turn has ended the game.
  • Changed so turns / clock is advanced before timers, daemons, each_turn and TimePasses() at the end of the turn.
  • Changed to use sys_statusline_flag to detect that it's a game with time on
    the statusline.

Optimizations:

  • Started using same message for MSG_INSERT_NOT_CONTAINER and MSG_EMPTY_CANT_CONTAIN.

Bugfixes:

  • Fixed location test in GoSub for vehicle movements in the dark
  • Fixed that 'a' (character) was used instead of 'a//' (dictionary word) when skipping articles to set noun and second to dictionary words for Ask etc.
  • Fixed bad parser message for incomplete sentences in patterns that use routine filters
  • Fixed bug in ScopeWithin
  • Fixed bug in call to TT_PARSER_ROUTINE
  • Improved _GrabIfNotHeld and related unit tests (issue 40)
  • Fixed broken "restore failed" message when RestoreSub is called after game has ended.
  • Removed extra space after "You have won/died"
  • Fixed bug where "Score" or "Time" would not be printed on statusline if the room name was too long.
  • Fixed bug where numbers and parse routines got a bad pattern score.
  • Fixed bug where 12:xx AM was printed as 0:xx AM on statusline.
  • Fixed bug which put location in scope in darkness.
  • Fixed bug in centering menus on screen, in ext_menu.h. Issue #55.