CocoaGlk 1.0.3

CocoaGlk 1.0.3 is now available. This version of CocoaGlk mainly focuses on bug fixes, but also includes a couple of new features aimed at making it easier to port multimedia interpreters and customise client behaviour.

Read on for the complete list of changes.

Changes in this version:

  • Bug fixes
    • Opening a file that doesn’t exist for random access will now create the file (something that’s required by the glk specification but probably isn’t a good idea in practice)
    • Fixed a memory leak in the More view
    • Fixed a potential infinite loop when cancelling sessions
    • Fixed an issue that could cause the layout engine to run past the end of the text in a view
    • Fixed a memory leak in the GlkPreferences object
    • Fixed a crash that could occur if the glk window was closed before the startup image had finished fading out
    • gestalt_Unicode now returns the right value
    • Buffered put character events are no longer concatenated into put string events if they have a value less than 32 (this could cause file corruption in some circumstances due to the way OS X handles these in NSString objects)
    • putBuffer: events sent to windows now send strings via the automation system - this ensures that broken interpreters that use these instead of putString: events will work with things like skeins, text to speech, etc.
  • The GlkView delegate has been updated to make it possible to customize how files are prompted for.
  • Added cocoaglk_set_immediate_style_hint(), cocoaglk_clear_immediate_style_hint() and cocoaglk_set_custom_text_attributes() functions to make it possible to implement more complicated font/styling models than the standard glk model.
  • Added cocoaglk_get_stream_for_key() to make it possible to pass in extra streams to a client beyond just the main input stream (this is intended for use with clients that can restore a saved game as well as loading an actual game)
  • When file streams belonging to the server process are opened for reading in the client, they are now buffered to increase performance for small reads.

Comments are closed.