Exemplo n.º 1
0
        Stream IZMachineIO.OpenAuxiliaryFile(string name, int size, bool writing)
        {
            frefid_t file = Glk.glk_fileref_create_by_name(
                FileUsage.Data | FileUsage.BinaryMode, name, 0);

            return(OpenStream(file, writing ? FileMode.Write : FileMode.Read));
        }
Exemplo n.º 2
0
        Stream IZMachineIO.OpenRestoreFile()
        {
            frefid_t file = Glk.glk_fileref_create_by_prompt(
                FileUsage.SavedGame | FileUsage.BinaryMode, FileMode.Read, 0);

            return(OpenStream(file, FileMode.Read));
        }
Exemplo n.º 3
0
        Stream IZMachineIO.OpenSaveFile(int size)
        {
            frefid_t file = Glk.glk_fileref_create_by_prompt(
                FileUsage.SavedGame | FileUsage.BinaryMode, FileMode.Write, 0);

            return(OpenStream(file, FileMode.Write));
        }
Exemplo n.º 4
0
        Stream IZMachineIO.OpenCommandFile(bool writing)
        {
            FileMode mode = writing ? FileMode.Write : FileMode.Read;
            frefid_t file = Glk.glk_fileref_create_by_prompt(
                FileUsage.InputRecord | FileUsage.TextMode, mode, 0);

            return(OpenStream(file, mode));
        }
Exemplo n.º 5
0
        private Stream OpenStream(frefid_t fileref, FileMode mode)
        {
            if (fileref.IsNull)
            {
                return(null);
            }

            strid_t gstr = Glk.glk_stream_open_file(fileref, mode, 0);

            if (gstr.IsNull)
            {
                return(null);
            }

            return(new GlkStream(gstr));
        }
Exemplo n.º 6
0
 public static extern bool glk_fileref_does_file_exist(frefid_t fref);
Exemplo n.º 7
0
 public static extern void glk_fileref_delete_file(frefid_t fref);
Exemplo n.º 8
0
 public static extern uint glk_fileref_get_rock(frefid_t fref);
Exemplo n.º 9
0
 public static extern frefid_t glk_fileref_iterate(frefid_t fref, out uint rockptr);
Exemplo n.º 10
0
 public static extern void glk_fileref_destroy(frefid_t fref);
Exemplo n.º 11
0
 public static extern frefid_t glk_fileref_create_from_fileref(FileUsage usage, frefid_t fref,
                                                               uint rock);
Exemplo n.º 12
0
 public static extern strid_t glk_stream_open_file_uni(frefid_t fileref, FileMode fmode,
                                                       uint rock);