



GGRecoverObjects (lines 5909-5966)
Back to List
Browsing parserm.h
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.