Inform - Support - Source

Back to List

Inventory
Complete

Backward
Forward

Plain
Coloured
Gaudy

This code
in plain text

Browsing parserm.h

GGRecoverObjects (lines 5909-5966)

5909  [ GGRecoverObjects id;
5910      ! If GGRecoverObjects() has been called, all these stored IDs are
5911      ! invalid, so we start by clearing them all out.
5912      ! (In fact, after a restoreundo, some of them may still be good.
5913      ! For simplicity, though, we assume the general case.)
5914      gg_mainwin = 0;
5915      gg_statuswin = 0;
5916      gg_quotewin = 0;
5917      gg_scriptfref = 0;
5918      gg_scriptstr = 0;
5919      gg_savestr = 0;
5920      gg_statuswin_cursize = 0;
5921      #Ifdef DEBUG;
5922      gg_commandstr = 0;
5923      gg_command_reading = false;
5924      #Endif; ! DEBUG
5925      ! Also tell the game to clear its object references.
5926      IdentifyGlkObject(0);
5927   
5928      id = glk($0040, 0, gg_arguments); ! stream_iterate
5929      while (id) {
5930          switch (gg_arguments-->0) {
5931              GG_SAVESTR_ROCK: gg_savestr = id;
5932              GG_SCRIPTSTR_ROCK: gg_scriptstr = id;
5933              #Ifdef DEBUG;
5934              GG_COMMANDWSTR_ROCK: gg_commandstr = id;
5935                                   gg_command_reading = false;
5936              GG_COMMANDRSTR_ROCK: gg_commandstr = id;
5937                                   gg_command_reading = true;
5938              #Endif; ! DEBUG
5939              default: IdentifyGlkObject(1, 1, id, gg_arguments-->0);
5940          }
5941          id = glk($0040, id, gg_arguments); ! stream_iterate
5942      }
5943   
5944      id = glk($0020, 0, gg_arguments); ! window_iterate
5945      while (id) {
5946          switch (gg_arguments-->0) {
5947              GG_MAINWIN_ROCK: gg_mainwin = id;
5948              GG_STATUSWIN_ROCK: gg_statuswin = id;
5949              GG_QUOTEWIN_ROCK: gg_quotewin = id;
5950              default: IdentifyGlkObject(1, 0, id, gg_arguments-->0);
5951          }
5952          id = glk($0020, id, gg_arguments); ! window_iterate
5953      }
5954   
5955      id = glk($0064, 0, gg_arguments); ! fileref_iterate
5956      while (id) {
5957          switch (gg_arguments-->0) {
5958              GG_SCRIPTFREF_ROCK: gg_scriptfref = id;
5959              default: IdentifyGlkObject(1, 2, id, gg_arguments-->0);
5960          }
5961          id = glk($0064, id, gg_arguments); ! fileref_iterate
5962      }
5963   
5964      ! Tell the game to tie up any loose ends.
5965      IdentifyGlkObject(2);
5966  ];


Last updated 27 February 2004. This site is no longer supported; information may be out of date.
Maintained as a historical archive by the Interactive Fiction Technology Foundation. Copyright 1993-2018 IFTF, CC-BY-SA unless otherwise noted.
This page was originally managed by Graham Nelson assisted by C Knight.