projects/chimara/chimara.git
9 years agogit: Line endings of README.txt master
Philip Chimento [Thu, 1 May 2014 06:48:29 +0000 (23:48 -0700)]
git: Line endings of README.txt

10 years agoReset Glk style hints at beginning of program
Philip Chimento [Tue, 25 Mar 2014 06:16:53 +0000 (06:16 +0000)]
Reset Glk style hints at beginning of program

The Glk program can change the style hints so that different styles
display differently. These style hints should not carry over into the
next execution of the Glk program, or even a different Glk program. This
resets them at the beginning of a Glk program execution.

10 years agoClear GModule pointer to prevent accidental re-use
Philip Chimento [Tue, 25 Mar 2014 04:53:19 +0000 (04:53 +0000)]
Clear GModule pointer to prevent accidental re-use

This makes it harmless (as it should be) to call
chimara_glk_unload_plugin() more than once. Since it is called in any
case when running a new game, client code calling it externally would
occasionally result in problems.

10 years agoRemove workaround for broken package in Fedora 19
Philip Chimento [Sun, 23 Feb 2014 20:55:58 +0000 (12:55 -0800)]
Remove workaround for broken package in Fedora 19

This is not necessary anymore.

10 years agogst_caps_to_string() is not always only MIME type
Philip Chimento [Sun, 23 Feb 2014 20:55:13 +0000 (12:55 -0800)]
gst_caps_to_string() is not always only MIME type

In the case of audio/x-mod, other information may follow, so use
g_str_has_prefix() instead of strcmp().

10 years agoMove helper function into #ifdef
Philip Chimento [Sun, 23 Feb 2014 20:02:38 +0000 (12:02 -0800)]
Move helper function into #ifdef

The function only got called if sound support was enabled, so move it
into that particular #ifdef to avoid an unused function warning.

10 years agoMerge branch 'gstreamer1.0'
Philip Chimento [Mon, 28 Oct 2013 05:40:38 +0000 (22:40 -0700)]
Merge branch 'gstreamer1.0'

10 years agoRefactor loading sound resource as GIO stream
Philip Chimento [Mon, 28 Oct 2013 05:17:43 +0000 (22:17 -0700)]
Refactor loading sound resource as GIO stream

There was almost identical code in two places.

10 years agoSync new GStreamer element to parent state
Philip Chimento [Mon, 28 Oct 2013 05:09:29 +0000 (22:09 -0700)]
Sync new GStreamer element to parent state

In GStreamer 1.0, when adding a new element to the pipeline in a signal
handler, its state has to be synced to the pipeline's state, because the
handler could be called in the middle of a state change which would
cause the state change to hang.

This was supposed to be done in GStreamer 0.10 too, but it never caused
any problems.

10 years agoSupport for GStreamer 1.0
Philip Chimento [Sun, 27 Oct 2013 20:55:59 +0000 (13:55 -0700)]
Support for GStreamer 1.0

Configure.ac now supports an argument --with-sound, with
possible values "no", "auto" (default), "gstreamer0.10", and
"gstreamer1.0". The old --with-gstreamer option is removed.
Supplying "auto" will pick which sound library is available,
preferring 1.0 over 0.10.

10 years agoKeep track of input and output in multiple windows in the player
Philip Chimento [Sat, 26 Oct 2013 23:05:13 +0000 (16:05 -0700)]
Keep track of input and output in multiple windows in the player

In the ChimaraIF player widget, keep track of input and
output in all text buffer windows, not just one.

10 years agoChange I/O signals to pass a unique window ID
Philip Chimento [Sat, 26 Oct 2013 23:03:36 +0000 (16:03 -0700)]
Change I/O signals to pass a unique window ID

Change the 'char-input', 'line-input', and 'text-buffer-output'
signals to pass a unique window ID string as well as the
window rock value. If a client program wants to keep track of
input and output in all windows, then the window rock will
not do by itself - all open windows might have rock 0, for
example. The string ID is guaranteed to be unique for each
window, though its contents are implementation-defined.

10 years agoUnit test the datetime functions
Philip Chimento [Sat, 26 Oct 2013 05:26:15 +0000 (22:26 -0700)]
Unit test the datetime functions

Starting with these because of the recent change of the underlying
system.

10 years agoPrint more informative assert message
Philip Chimento [Sat, 26 Oct 2013 05:24:28 +0000 (22:24 -0700)]
Print more informative assert message

ASSERT_EQUAL() is for int-like types that will print with %d.

10 years agoAdd Glk unit test framework
Philip Chimento [Wed, 25 Sep 2013 06:14:46 +0000 (23:14 -0700)]
Add Glk unit test framework

This is the beginning of a unit test framework for Glk. Currently it has
only one test. But the potential is infinite! It could be used to test
how well other Glk implementations conform too.

10 years agoUpdate POTFILES.in so that 'make check' passes
Philip Chimento [Wed, 25 Sep 2013 05:59:21 +0000 (22:59 -0700)]
Update POTFILES.in so that 'make check' passes

Intltool has some intelligent checks for source files that look like
they contain translatable strings.

10 years agoDo not internationalize plugin-loader
Philip Chimento [Sat, 21 Sep 2013 17:41:40 +0000 (10:41 -0700)]
Do not internationalize plugin-loader

There are no user-facing strings, so this is not necessary.

10 years agoPlugin-loader handles .la files
Philip Chimento [Sat, 21 Sep 2013 17:40:44 +0000 (10:40 -0700)]
Plugin-loader handles .la files

Instead of passing .libs/plugin.so to plugin-loader, you can now
pass plugin.la and the correct file will be loaded.

10 years agoPort date/time functions to GDateTime
Philip Chimento [Fri, 13 Sep 2013 21:58:52 +0000 (14:58 -0700)]
Port date/time functions to GDateTime

These are supposedly portable to more platforms than POSIX, effectively
putting the burden of checking whether a platform supports it onto GLib,
instead of having Chimara shoulder it.

10 years agoRemove deprecated functions in test programs
Philip Chimento [Fri, 13 Sep 2013 16:53:26 +0000 (09:53 -0700)]
Remove deprecated functions in test programs

Some of the test programs were using things like GtkHPaned and
GtkHButtonBox.

10 years agoNo need to include empty default signal handlers
Philip Chimento [Sat, 31 Aug 2013 22:46:33 +0000 (15:46 -0700)]
No need to include empty default signal handlers

10 years agoRemove support for older GLib and GTK versions
Philip Chimento [Sat, 31 Aug 2013 22:28:27 +0000 (15:28 -0700)]
Remove support for older GLib and GTK versions

The iLiad Reader was holding us back to GTK 2.6, but that product
is discontinued and the company is bankrupt.

10 years agoDon't use g_thread_init() anymore
Philip Chimento [Sat, 31 Aug 2013 22:04:59 +0000 (15:04 -0700)]
Don't use g_thread_init() anymore

g_thread_init() is called automatically when the library loads.

10 years agoUse statically-allocated thread private data
Philip Chimento [Sat, 31 Aug 2013 21:48:37 +0000 (14:48 -0700)]
Use statically-allocated thread private data

Dynamically allocating GPrivate is discouraged, and g_private_new()
is deprecated since GLib 2.32.

10 years agoUse g_thread_try_new() instead of g_thread_create()
Philip Chimento [Sat, 31 Aug 2013 21:07:08 +0000 (14:07 -0700)]
Use g_thread_try_new() instead of g_thread_create()

g_thread_create() was deprecated in GLib 2.32. We don't use
g_thread_new() because the program should not abort if the thread
could not be created; rather, it should display an error message
and refuse to start the game.

10 years agoUse g_cond_wait_until() instead of g_cond_timed_wait()
Philip Chimento [Sat, 31 Aug 2013 21:00:15 +0000 (14:00 -0700)]
Use g_cond_wait_until() instead of g_cond_timed_wait()

This bumps the GLib version requirement to 2.32; that is also the
version in which g_cond_timed_wait() was deprecated.

10 years agoUse init and clear for GMutex and GCond
Philip Chimento [Wed, 21 Aug 2013 02:11:06 +0000 (19:11 -0700)]
Use init and clear for GMutex and GCond

- g_mutex_init() replaces g_mutex_new()
- g_mutex_clear() replaces g_mutex_free()
- g_cond_init() replaces g_cond_new()
- g_cond_clear() replaces g_cond_free()

The old functions were deprecated and the new functions were added as
of GLib 2.32.

This requires all structures to use GMutex members instead of GMutex *
pointers; likewise for GCond. Since we cannot set the GMutex * pointers
to NULL anymore when the ChimaraGlk widget is finalized, we add an
after_finalize flag that is set at the beginning of
chimara_glk_finalize().

10 years agoNo need to initialize private struct members to 0
Philip Chimento [Wed, 21 Aug 2013 01:57:36 +0000 (18:57 -0700)]
No need to initialize private struct members to 0

At the beginning of the class init function, the entire private
struct is filled with 0 bytes.

10 years agoSupress warnings in Glulxe
Philip Chimento [Sat, 31 Aug 2013 19:32:09 +0000 (12:32 -0700)]
Supress warnings in Glulxe

11 years agoUpdate Andrew Plotkin's unit tests
P. F. Chimento [Sat, 20 Apr 2013 15:54:57 +0000 (17:54 +0200)]
Update Andrew Plotkin's unit tests

11 years agoFix overenthusiastic g_free() of Glk startup data
P. F. Chimento [Sat, 20 Apr 2013 15:42:42 +0000 (17:42 +0200)]
Fix overenthusiastic g_free() of Glk startup data

11 years agoWorkaround mysterious dlopen bug on Python import
P. F. Chimento [Mon, 22 Oct 2012 20:00:04 +0000 (22:00 +0200)]
Workaround mysterious dlopen bug on Python import

11 years agoInstall gobject introspection files in correct dir
P. F. Chimento [Mon, 22 Oct 2012 19:22:14 +0000 (21:22 +0200)]
Install gobject introspection files in correct dir

11 years ago[player] Call Gdk.threads_init() before import Gtk
Philip Chimento [Fri, 28 Sep 2012 13:59:29 +0000 (15:59 +0200)]
[player] Call Gdk.threads_init() before import Gtk

I thought this might fix the crashing problems with the Python
player, since you should initialize Gdk threads before initializing
Gtk, and Gtk is initialized on import from gi.repository.

It didn't fix the problems, but it's a good thing to do anyway.

11 years ago[bocfel] Remove debug printf
Philip Chimento [Fri, 28 Sep 2012 13:59:11 +0000 (15:59 +0200)]
[bocfel] Remove debug printf

11 years agoMerge branch 'gtk3'
Marijn van Vliet [Mon, 24 Sep 2012 09:38:10 +0000 (11:38 +0200)]
Merge branch 'gtk3'

11 years agoMerge branch 'master' of ssh://git.stderr.nl/projects/chimara/chimara
Marijn van Vliet [Mon, 24 Sep 2012 09:37:57 +0000 (11:37 +0200)]
Merge branch 'master' of ssh://git.stderr.nl/projects/chimara/chimara

11 years agoMerge branch 'gtk3' of ssh://git.stderr.nl/projects/chimara/chimara into gtk3
Marijn van Vliet [Mon, 24 Sep 2012 09:37:17 +0000 (11:37 +0200)]
Merge branch 'gtk3' of ssh://git.stderr.nl/projects/chimara/chimara into gtk3

11 years agoBegan implementing OSX app-bundle support.
Marijn van Vliet [Mon, 24 Sep 2012 09:30:48 +0000 (11:30 +0200)]
Began implementing OSX app-bundle support.
Doesn't work yet, get Pango errors. See ticket #43.

11 years agoAdd test program for CSS styling
Philip Chimento [Sun, 23 Sep 2012 19:43:08 +0000 (21:43 +0200)]
Add test program for CSS styling

Doesn't do anything yet

11 years agoCopyright, change log, news file v0.9
Philip Chimento [Sun, 16 Sep 2012 20:22:35 +0000 (22:22 +0200)]
Copyright, change log, news file

Update the copyright notice in the license file, add content to the
NEWS and ChangeLog file. We will not use a ChangeLog, because just
referring to the git log does a much better job.

11 years agoKeep glkunix startup arg[c,v] alive
Philip Chimento [Sun, 16 Sep 2012 17:52:38 +0000 (19:52 +0200)]
Keep glkunix startup arg[c,v] alive

Bocfel (for one) relies on the argc and argv that it gets from the
Glk library not being freed during the course of the game. So now
we keep them alive.

11 years agoAdd Bocfel interpreter
Philip Chimento [Sun, 16 Sep 2012 17:52:07 +0000 (19:52 +0200)]
Add Bocfel interpreter

The Bocfel interpreter is now available for playing Z-machine files.

11 years agoFix automatic resource file search
Philip Chimento [Sun, 16 Sep 2012 17:11:36 +0000 (19:11 +0200)]
Fix automatic resource file search

Fixes #21. Don't look for an extra resource file if the game to be
loaded already has a blorb file extension.

11 years agoSome style cleanup work in glk_window_clear()
Marijn van Vliet [Sun, 16 Sep 2012 16:00:53 +0000 (18:00 +0200)]
Some style cleanup work in glk_window_clear()

11 years agoMerge branch 'gtk3' of ssh://git.stderr.nl/projects/chimara/chimara into gtk3
Marijn van Vliet [Sun, 16 Sep 2012 15:50:59 +0000 (17:50 +0200)]
Merge branch 'gtk3' of ssh://git.stderr.nl/projects/chimara/chimara into gtk3

11 years agoRedone textgrid resize logic. Fixes #8
Marijn van Vliet [Sun, 16 Sep 2012 15:50:54 +0000 (17:50 +0200)]
Redone textgrid resize logic. Fixes #8

11 years agoGive focus to the text buffer after pager click
Philip Chimento [Sun, 16 Sep 2012 14:03:31 +0000 (16:03 +0200)]
Give focus to the text buffer after pager click

11 years agoFix pager bug #25!
Philip Chimento [Sun, 16 Sep 2012 13:59:01 +0000 (15:59 +0200)]
Fix pager bug #25!

Finally fixed! An extra check to see whether the pager is at the
bottom. Apparently if you click to put the cursor somewhere that's
not the end of the text buffer, then scroll up with your scroll
wheel, then _sometimes_ the pager wouldn't stop paging when you
paged down to the end again, because the GtkAdjustment's "changed"
signal didn't fire. But now that's fixed.

11 years agoWhen paging, End key advances to end
Philip Chimento [Sun, 16 Sep 2012 13:38:10 +0000 (15:38 +0200)]
When paging, End key advances to end

Another way to stop paging is to press the End key.

11 years agoAdvance the pager to the end when clicked
Philip Chimento [Sun, 16 Sep 2012 13:35:02 +0000 (15:35 +0200)]
Advance the pager to the end when clicked

If you click on the pager button, then it should advance to the
end and stop paging.

11 years agoRemove code for styling the pager
Philip Chimento [Sun, 16 Sep 2012 13:21:23 +0000 (15:21 +0200)]
Remove code for styling the pager

It can be done by normal GTK CSS styling when we switch to that.

11 years agoConvert the pager to a GtkOverlay
Philip Chimento [Sun, 16 Sep 2012 13:21:08 +0000 (15:21 +0200)]
Convert the pager to a GtkOverlay

11 years agoUpdate interpreters to latest Garglk codebase
Philip Chimento [Sun, 16 Sep 2012 11:04:26 +0000 (13:04 +0200)]
Update interpreters to latest Garglk codebase

11 years agoEach time a sound is played, a new GioStreamSrc object is created. This fixes #37.
Marijn van Vliet [Sun, 16 Sep 2012 11:04:42 +0000 (13:04 +0200)]
Each time a sound is played, a new GioStreamSrc object is created. This fixes #37.

11 years agoMerge branch 'gtk3' of ssh://git.stderr.nl/projects/chimara/chimara into gtk3
Marijn van Vliet [Sat, 15 Sep 2012 23:05:44 +0000 (01:05 +0200)]
Merge branch 'gtk3' of ssh://git.stderr.nl/projects/chimara/chimara into gtk3

11 years agoupdated comments
Marijn van Vliet [Sat, 15 Sep 2012 23:05:36 +0000 (01:05 +0200)]
updated comments

11 years agoConst return type for static error messages
Philip Chimento [Sat, 15 Sep 2012 22:40:54 +0000 (00:40 +0200)]
Const return type for static error messages

11 years agoMake sound/graphics work in Nitfol.
Marijn van Vliet [Sat, 15 Sep 2012 23:03:37 +0000 (01:03 +0200)]
Make sound/graphics work in Nitfol.

11 years agoFix window resizing bug; no size requests!
Philip Chimento [Sat, 15 Sep 2012 21:28:40 +0000 (23:28 +0200)]
Fix window resizing bug; no size requests!

Size allocation is strictly top-down in Glk, so we actually don't
need to do size requests. All size requests are 1, so that the
window keeps its current size.

11 years agoRemove compatibility checks with GTK 2.x
Philip Chimento [Sat, 15 Sep 2012 19:51:33 +0000 (21:51 +0200)]
Remove compatibility checks with GTK 2.x

GTK 2.x won't be supported anymore on this branch.

11 years agoMerge branch 'gtk3' of ssh://git.stderr.nl/projects/chimara/chimara into gtk3
Marijn van Vliet [Sat, 15 Sep 2012 16:14:12 +0000 (18:14 +0200)]
Merge branch 'gtk3' of ssh://git.stderr.nl/projects/chimara/chimara into gtk3

11 years agoMerge branch 'master' into gtk3
Marijn van Vliet [Sat, 15 Sep 2012 16:13:59 +0000 (18:13 +0200)]
Merge branch 'master' into gtk3

11 years agoRedone flush_buffer logic, fixes #39
Marijn van Vliet [Sat, 15 Sep 2012 16:11:55 +0000 (18:11 +0200)]
Redone flush_buffer logic, fixes #39

11 years agoRemove Iliad code from codebase
Philip Chimento [Sat, 15 Sep 2012 15:46:59 +0000 (17:46 +0200)]
Remove Iliad code from codebase

The iRex Iliad is, unfortunately, obsolete, and the company that
made it is bankrupt. So it is not supported anymore.

11 years agoFix config.py
Philip Chimento [Sat, 15 Sep 2012 15:39:15 +0000 (17:39 +0200)]
Fix config.py

@DATADIRNAME@ = lib all of a sudden?! Now we use the proper
@datarootdir@ setting.

11 years agoRemove Babel library from codebase
Philip Chimento [Sat, 15 Sep 2012 15:38:07 +0000 (17:38 +0200)]
Remove Babel library from codebase

Since we are going to release the library with a minimal player, and
work together with Grotesque to produce a cool player, we are removing
the Babel library for now.

11 years agoMerge branch 'master' of ssh://git.stderr.nl/projects/chimara/chimara
Marijn van Vliet [Tue, 28 Aug 2012 08:57:54 +0000 (10:57 +0200)]
Merge branch 'master' of ssh://git.stderr.nl/projects/chimara/chimara

11 years agoDo not require database dependancies anymore, IFDB test program is irrelevant
Marijn van Vliet [Tue, 28 Aug 2012 08:56:37 +0000 (10:56 +0200)]
Do not require database dependancies anymore, IFDB test program is irrelevant
now.

11 years agoMerge branch 'master' into gtk3
Philip Chimento [Sun, 26 Aug 2012 00:21:36 +0000 (02:21 +0200)]
Merge branch 'master' into gtk3

11 years agoAdd missing $(AM_CPPFLAGS) to makefile
Philip Chimento [Sun, 26 Aug 2012 00:21:10 +0000 (02:21 +0200)]
Add missing $(AM_CPPFLAGS) to makefile

11 years agoImprovements to Python player
Philip Chimento [Sun, 26 Aug 2012 00:19:52 +0000 (02:19 +0200)]
Improvements to Python player

11 years agoVarious PyGObject fixes
Philip Chimento [Sat, 25 Aug 2012 22:52:09 +0000 (00:52 +0200)]
Various PyGObject fixes

11 years agoUse keyfile GSettings backend in Python player
Philip Chimento [Sat, 25 Aug 2012 22:50:26 +0000 (00:50 +0200)]
Use keyfile GSettings backend in Python player

This requires a modification to gobject-introspection; see
bugzilla.gnome.org #682702. If that fails, use the old behavior.

11 years agoSignal handler autoconnect now works in player.py
Philip Chimento [Sat, 25 Aug 2012 21:23:16 +0000 (23:23 +0200)]
Signal handler autoconnect now works in player.py

Not working may have been due to GTK 2 or maybe the bug was fixed.

11 years agoMerge branch 'master' into gtk3
Philip Chimento [Sat, 25 Aug 2012 21:01:23 +0000 (23:01 +0200)]
Merge branch 'master' into gtk3

11 years agoRegularize indentation in player.py
Philip Chimento [Sat, 25 Aug 2012 21:00:58 +0000 (23:00 +0200)]
Regularize indentation in player.py

11 years agoPEP8 cleanup in player.py
Philip Chimento [Sat, 25 Aug 2012 21:00:32 +0000 (23:00 +0200)]
PEP8 cleanup in player.py

11 years agoUse cairo for drawing
Philip Chimento [Sat, 25 Aug 2012 20:46:36 +0000 (22:46 +0200)]
Use cairo for drawing

GDK drawing does not exist in GTK 3 anymore. We now use cairo for
drawing. This means that the graphics window now corresponds to a
GtkDrawingArea, and we use a cairo surface as a backing store.

11 years agoReplace deprecated functions
P. F. Chimento [Sun, 3 Jun 2012 21:46:14 +0000 (23:46 +0200)]
Replace deprecated functions

gdk_pixbuf_(un)ref -> g_object_(un)ref

11 years agoExit after an error building the player interface
P. F. Chimento [Sat, 5 May 2012 09:29:56 +0000 (11:29 +0200)]
Exit after an error building the player interface

11 years agoRemove nonexistent function
Philip Chimento [Sat, 25 Aug 2012 19:06:34 +0000 (21:06 +0200)]
Remove nonexistent function

Apparently gtk_box_pack_end_with_defaults() has been deprecated for a
while and does not exist now in GTK 3.

11 years agoReplace deprecated signals
Philip Chimento [Sat, 25 Aug 2012 19:04:04 +0000 (21:04 +0200)]
Replace deprecated signals

The 'size-request' and 'expose-event' signals now don't exist anymore.
'expose-event' is simply replaced by 'draw'. We used 'size-request' in a
slightly different way than it was supposed to be: connecting a handler
after the default 'size-request' handler run, ensured that the handler
was run after the GtkTextView finished validating text positions, so we
could scroll the text view to the end after printing text to it. Luckily,
'size-allocate' works the same way in GTK 3.

11 years agoReplace size-request by minimal height-for-width
Philip Chimento [Sat, 25 Aug 2012 19:00:42 +0000 (21:00 +0200)]
Replace size-request by minimal height-for-width

The size-request method is now gone, in favor of height-for-width
allocation. The height-for-width implementation is currently minimal,
as described at
http://developer.gnome.org/gtk3/stable/ch24s02.html#id1328275
This could be made much nicer.

11 years agoRemove deprecated member access
Philip Chimento [Sat, 25 Aug 2012 18:58:50 +0000 (20:58 +0200)]
Remove deprecated member access

GObject classes aren't supposed to have their members accessed directly
anymore. Instead use accessor functions. In the case of our
gtk_text_tag_copy() function this requires some clever copying of
properties ;-)

11 years agoChange GDK_ key constants
Philip Chimento [Sat, 25 Aug 2012 18:55:46 +0000 (20:55 +0200)]
Change GDK_ key constants

In GTK 3 they are GDK_KEY_ constants

11 years agoBuild with GTK 3
Philip Chimento [Sat, 25 Aug 2012 18:50:45 +0000 (20:50 +0200)]
Build with GTK 3

Use GTK 3 instead of GTK 2 packages

11 years agoReplace deprecated functions
P. F. Chimento [Sun, 3 Jun 2012 21:46:14 +0000 (23:46 +0200)]
Replace deprecated functions

gdk_pixbuf_(un)ref -> g_object_(un)ref

11 years agoExit after an error building the player interface
P. F. Chimento [Sat, 5 May 2012 09:29:56 +0000 (11:29 +0200)]
Exit after an error building the player interface

12 years agoUpdate Andrew Plotkin's unit tests
Philip Chimento [Sun, 12 Feb 2012 13:10:21 +0000 (14:10 +0100)]
Update Andrew Plotkin's unit tests

12 years agoMerge branch 'glk-074'
Philip Chimento [Sun, 12 Feb 2012 12:58:18 +0000 (13:58 +0100)]
Merge branch 'glk-074'

12 years agoFixed a bug in creating fileref from fileref
Philip Chimento [Sun, 12 Feb 2012 12:55:38 +0000 (13:55 +0100)]
Fixed a bug in creating fileref from fileref

glk_fileref_create_from_fileref() would use the entire pathname of
the old fileref as its basename. Now it uses the original basename.

12 years agoImplement new name mangling
Philip Chimento [Sun, 12 Feb 2012 12:40:05 +0000 (13:40 +0100)]
Implement new name mangling

The Glk 0.7.4 spec has new recommendations on what characters should
be legal in filenames and how to make sure that files created by
different Glk implementations are interoperable.

12 years agoUpdate ExternalFile unit test
Philip Chimento [Sun, 12 Feb 2012 12:39:08 +0000 (13:39 +0100)]
Update ExternalFile unit test

This tests the new name-mangling code in glk_fileref_create_by_name().

12 years agoImplement recommended file suffixes in dialog
Philip Chimento [Sun, 12 Feb 2012 12:11:23 +0000 (13:11 +0100)]
Implement recommended file suffixes in dialog

When creating a file with glk_fileref_create_by_prompt(), there will
be a file filter active for the recommended file extension. For
fileusage_InputRecord and fileusage_Transcript, there will also be a
filter for text/plain files selectable. In any case there is also an
"All files" filter selectable.

12 years agoImplement resource streams
Philip Chimento [Sun, 12 Feb 2012 11:36:28 +0000 (12:36 +0100)]
Implement resource streams

12 years agoMerge commit 'cbb35cca'
Philip Chimento [Sat, 11 Feb 2012 23:57:53 +0000 (00:57 +0100)]
Merge commit 'cbb35cca'

12 years agoAdd new resource stream unit test
Philip Chimento [Sat, 11 Feb 2012 22:26:03 +0000 (23:26 +0100)]
Add new resource stream unit test

From Andrew Plotkin's glk-dev repository

12 years agoUpdate to Blorb protocol 1.5
Philip Chimento [Sat, 11 Feb 2012 21:47:17 +0000 (22:47 +0100)]
Update to Blorb protocol 1.5

Update documentation of new Blorb constants

12 years agoUpdate Dispatch layer
Philip Chimento [Sat, 11 Feb 2012 23:51:09 +0000 (00:51 +0100)]
Update Dispatch layer