/* Generated with C2C (Cedar To C)*/
/* Copyright (C) 1993 by Xerox Corporation. All rights reserved. */
/* time: March 19, 1993 4:13:39 pm PST */
/* C2C version: February 24, 1993 (sun4) */
/* ref-counting: off */
/* file: GGUtilityImplC, module: GGUtilityImplC */
/* switches: bcfhklnouw */
#include <cedar/InstallationSupport.h>
#include <cedar/CedarExtra.h>
static char versionStamp[] = "@(#)mob←version [967056855,2261930975] GGUtilityImplC";
typedef unsigned word, *ptr;
typedef unsigned char byte, *bPt;
typedef unsigned short half, *hPt;
typedef struct {word f0, f1, f2, f3, f4, f5, f6, f7;} W8;
typedef struct {W8 f; word r;} W9;
typedef struct {word f0, f1;} W2;
typedef word (*fPt)();
typedef struct {W8 f; W2 r;} W10;
#define SOURCE(p, l) /* source p, l */
static void NoName←Q1284();
static void GGUtilityImplC←P0();
static word SequenceSubst←P60();
static word OrderedSelectionList←P120();
static word DoAddSliceToList←P780();
static word ReverseList←P180();
static void LookAtProfile←P240();
static void SetTurboOn←P300();
static word GetTurboOn←P360();
static void GGTurboOn←P420();
static void GGTurboOff←P480();
static void RestoreSceneClean←P540();
static void CopySceneClean←P600();
static word NoName←Q1344();
static word CopyWithSelections←P1032();
static void UnlinkCapturedScene←P660();
static void Init←P720();
static void NoName←Q1404();
static struct {unsigned f; char r[48];} string1 = {2883632, "\260\006\005\146\151\162\163\164\216\257\300\247\365\203\234\300\047\265\225\046\100\310\005\004\162\145\163\164\214\216\257\300\247\365\203\234\300\047\265\225\046\100\310\261\000\000\000"};
static struct {unsigned f; char r[4];} string2 = {131074, "\004\003\000"};
static struct {unsigned f; char r[48];} string3 = {2883632, "\260\006\005\146\151\162\163\164\216\257\300\247\365\203\234\300\047\265\225\046\100\324\005\004\162\145\163\164\214\216\257\300\247\365\203\234\300\047\265\225\046\100\324\261\000\000\000"};
static struct {unsigned f; char r[16];} string4 = {917520, "\216\257\300\363\223\326\161\300\017\164\046\072\104\350\000"};
static struct {unsigned f; char r[4];} string5 = {65537, "\001\000\000"};
static struct {unsigned f; char r[16];} string6 = {851984, "\257\300\071\244\035\327\300\206\322\123\337\101\004\000\000"};
static struct {unsigned f; char r[16];} string7 = {851984, "\257\300\247\365\203\234\300\047\265\225\046\100\324\000\000"};
static struct {unsigned f; char r[32];} string8 = {1966110, "\006\015\000\001\004\001\010\001\034\001\040\001\044\001\050\001\054\001\060\001\064\001\074\001\100\110\001\100\130\001\000"};
static struct {unsigned f; char r[44];} string9 = {2621484, "Gargoyle turbo shape caching turned off.\000\000\000"};
static struct {unsigned f; char r[8];} string10 = {458760, "advance"};
static struct {unsigned f; char r[40];} string11 = {2555944, "Gargoyle turbo shape caching turned on."};
static struct {unsigned f; char r[20];} string12 = {1048596, "Gargoyle.TurboOn\000\000\000"};
static struct {unsigned f; char r[12];} string13 = {589836, "GGTurboOn\000\000"};
static struct {unsigned f; char r[88];} string14 = {5701720, "turns on Imager.Object caching to speed up Gargoyle refresh on black and white displays"};
static struct {unsigned f; char r[12];} string15 = {655372, "GGTurboOff\000"};
static struct {unsigned f; char r[92];} string16 = {5767260, "turns off Imager.Object caching to speed up Gargoyle refresh on black and white displays\000\000\000"};
static struct {unsigned f; char r[16];} string17 = {851984, "\257\300\071\244\035\327\300\206\322\123\337\100\164\000\000"};
static struct {unsigned f; char r[12];} string18 = {589833, "\006\002\020\001\100\100\004\100\377\000\000"};
static struct {unsigned f; char r[16];} string19 = {851984, "\257\300\212\210\334\132\300\036\362\033\164\100\150\000\000"};
static struct {unsigned f; char r[16];} string20 = {851984, "\257\300\373\225\000\071\300\362\156\307\320\100\150\000\000"};
static struct {unsigned f; char r[16];} string21 = {851984, "\257\300\347\101\365\007\300\150\102\366\020\100\150\000\000"};
static struct {unsigned f; char r[16];} string22 = {851984, "\257\300\011\245\206\305\300\112\326\356\245\100\150\000\000"};
static struct {unsigned f; char r[16];} string23 = {851984, "\257\300\336\025\013\356\300\216\115\352\271\100\150\000\000"};
static struct {unsigned f; char r[8];} string24 = {1195857268, "ility"};
static struct {unsigned f; char r[16];} string25 = {851984, "\257\300\370\132\042\205\300\045\133\011\125\100\150\000\000"};
static struct {unsigned f; char r[16];} string26 = {851984, "\257\300\015\277\004\146\300\034\367\146\045\100\164\000\000"};
static struct {unsigned f; char r[16];} string27 = {851984, "\257\300\242\221\264\046\300\105\142\142\023\100\150\000\000"};
static struct {unsigned f; char r[16];} string28 = {851984, "\257\300\363\223\326\161\300\017\164\046\072\100\150\000\000"};
static struct {unsigned f; char r[16];} string29 = {851984, "\257\300\134\353\367\206\300\202\044\112\356\100\150\000\000"};
static struct {unsigned f; char r[16];} string30 = {851984, "\257\300\252\043\023\037\300\070\056\113\065\100\150\000\000"};
static struct {unsigned f; char r[20];} string31 = {1245204, "\211\007\006Change\300\252#\023\037\3008.K5"};
static struct {unsigned f; char r[16];} string32 = {851984, "\257\300\122\207\370\054\300\315\202\135\375\100\200\000\000"};
static struct {unsigned f; char r[12];} string33 = {589833, "\007\000\040\003\004\036\004\016\014\000\000"};
static struct {unsigned f; char r[16];} string34 = {851984, "\257\300\034\077\173\126\300\270\206\201\035\100\150\000\000"};
static struct {
word f0[5]; word f5; word f6; word f7[18];
word f25; word f26; word f27; word f28;
word f29; word f30; word f31; word f32;
word f33; word f34; word f35; word f36;
word f37; word f38; word f39; word f40;
word f41; word f42; word f43; word f44;
word f45; word f46; word f47; word f48;
word f49; word f50[13];
} globalframe = {
{0}, (word) 1, (word) 1, {0},
(word) Init←P720, 0, (word) UnlinkCapturedScene←P660, 0,
(word) CopySceneClean←P600, 0, (word) RestoreSceneClean←P540, 0,
(word) GGTurboOff←P480, 0, (word) GGTurboOn←P420, 0,
(word) GetTurboOn←P360, 0, (word) SetTurboOn←P300, 0,
(word) LookAtProfile←P240, 0, (word) ReverseList←P180, 0,
(word) OrderedSelectionList←P120, 0, (word) SequenceSubst←P60, 0,
(word) GGUtilityImplC←P0, {0}
};
static void NoName←Q1284()
{
register ptr gf←c0114 = (ptr) &globalframe;
word var←c22120;
(* (( (ptr) gf←c0114)+9) ) = (word) XR←GetTypeIndex((word) &string1, 0, (word) &string2);
(* (( (ptr) gf←c0114)+10) ) = (word) XR←GetTypeIndex((word) &string3, 0, (word) &string2);
(* (( (ptr) gf←c0114)+12) ) = (word) XR←GetTypeIndex((word) &string4, 0, (word) &string5);
(* (( (ptr) gf←c0114)+13) ) = (word) XR←GetTypeIndexS((word) (&string6));
(* (( (ptr) gf←c0114)+15) ) = (word) XR←GetTypeIndex((word) &string7, 0, (word) &string8);
(* (ptr) (( (bPt) gf←c0114)+64) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0114)+12) ), (word) &string9);
(* (ptr) (( (bPt) gf←c0114)+68) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0114)+12) ), (word) &string10);
(* (ptr) (( (bPt) gf←c0114)+72) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0114)+12) ), (word) &string11);
(* (ptr) (( (bPt) gf←c0114)+76) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0114)+12) ), (word) &string12);
(* (ptr) (( (bPt) gf←c0114)+80) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0114)+12) ), (word) &string13);
(* (ptr) (( (bPt) gf←c0114)+84) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0114)+12) ), (word) &string14);
(* (ptr) (( (bPt) gf←c0114)+88) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0114)+12) ), (word) &string15);
(* (ptr) (( (bPt) gf←c0114)+92) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0114)+12) ), (word) &string16);
(void) XR←DeclareGlobalFrame((word) "GGUtilityImplC", &globalframe, (word) XR←GetTypeIndex((word) &string17, 0, (word) &string18)
, (word) (( (bPt) gf←c0114)+196)/* var←c21320 */ );
var←c22120 = (word) XR←ImportInterface((word) "CedarProcess", (word) XR←GetTypeIndexS((word) (&string19)), 10);
(* (( (ptr) gf←c0114)+58)/* var←c21896 */ ) = var←c22120;
(void) XR←ImportProcS(var←c22120, 263937);
var←c22120 = (word) XR←ImportInterface((word) "Commander", (word) XR←GetTypeIndexS((word) (&string20)), 3);
(* (( (ptr) gf←c0114)+60)/* var←c22088 */ ) = var←c22120;
(void) XR←ImportProcS(var←c22120, 1310725);
var←c22120 = (word) XR←ImportInterface((word) "GGScene", (word) XR←GetTypeIndexS((word) (&string21)), 50);
(* (( (ptr) gf←c0114)+51)/* var←c21448 */ ) = var←c22120;
(void) XR←ImportProcS(var←c22120, 67902723);
(void) XR←ImportProcS(var←c22120, 525058);
(void) XR←ImportProcS(var←c22120, 67371009);
(void) XR←ImportProcS(var←c22120, 68164356);
var←c22120 = (word) XR←ImportInterface((word) "GGSelect", (word) XR←GetTypeIndexS((word) (&string22)), 23);
(* (( (ptr) gf←c0114)+52)/* var←c21512 */ ) = var←c22120;
(void) XR←ImportProcS(var←c22120, 525314);
(void) XR←ImportProcS(var←c22120, 786691);
(void) XR←ImportProcS(var←c22120, 67898883);
var←c22120 = (word) XR←ImportInterface((word) "GGSliceOps", (word) XR←GetTypeIndexS((word) (&string23)), 73);
(* (( (ptr) gf←c0114)+57)/* var←c21800 */ ) = var←c22120;
(void) XR←ImportProcS(var←c22120, 264193);
(void) XR←ImportProcS(var←c22120, 67634690);
(void) XR←ImportProcS(var←c22120, 526082);
var←c22120 = (word) XR←ImportInterface((word) &string24, (word) XR←GetTypeIndexS((word) (&string25)), 42);
(* (( (ptr) gf←c0114)+55)/* var←c21672 */ ) = var←c22120;
(void) XR←ImportProcS(var←c22120, 135008515);
(void) XR←ImportProcS(var←c22120, 134221824);
var←c22120 = (word) XR←ImportInterface((word) "IO", (word) XR←GetTypeIndexS((word) (&string26)), 103);
(* (( (ptr) gf←c0114)+54)/* var←c21640 */ ) = var←c22120;
(void) XR←ImportProcS(var←c22120, 1071364);
var←c22120 = (word) XR←ImportInterface((word) "RefTab", (word) XR←GetTypeIndexS((word) (&string27)), 16);
(* (( (ptr) gf←c0114)+56)/* var←c21736 */ ) = var←c22120;
(void) XR←ImportProcS(var←c22120, 67896835);
(void) XR←ImportProcS(var←c22120, 67895555);
(void) XR←ImportProcS(var←c22120, 264193);
(void) XR←ImportProcS(var←c22120, 134742786);
var←c22120 = (word) XR←ImportInterface((word) "Rope", (word) XR←GetTypeIndexS((word) (&string28)), 43);
(* (( (ptr) gf←c0114)+59)/* var←c22024 */ ) = var←c22120;
(void) XR←ImportProcS(var←c22120, 67896323);
var←c22120 = (word) XR←ImportInterface((word) "UserProfile", (word) XR←GetTypeIndexS((word) (&string29)), 11);
(* (( (ptr) gf←c0114)+53)/* var←c21608 */ ) = var←c22120;
(void) XR←ImportProcS(var←c22120, 264193);
(void) XR←ImportProcS(var←c22120, 67633154);
var←c22120 = (word) XR←ExportInterface((word) "GGHistoryTypes", (word) XR←GetTypeIndexS((word) (&string30)), 2);
(* (( (ptr) gf←c0114)+61)/* var←c22152 */ ) = var←c22120;
(void) XR←ExportType((word) "Change", (word) XR←GetTypeIndexS((word) (&string31)), (word) XR←GetTypeIndex((word) &string32, 0, (word) &string33)
);
var←c22120 = (word) XR←ExportInterface((word) &string24, (word) XR←GetTypeIndexS((word) (&string25)), 42);
(* (( (ptr) gf←c0114)+62)/* var←c22184 */ ) = var←c22120;
(void) XR←ExportProcS(var←c22120, (word) (( (bPt) gf←c0114)+188)/* var←c21288 */ , 67897859);
(void) XR←ExportProcS(var←c22120, (word) (( (bPt) gf←c0114)+180)/* var←c21256 */ , 67901443);
(void) XR←ExportProcS(var←c22120, (word) (( (bPt) gf←c0114)+116)/* var←c21000 */ , 134748418);
(void) XR←ExportProcS(var←c22120, (word) (( (bPt) gf←c0114)+124)/* var←c21032 */ , 793091);
(void) XR←ExportProcS(var←c22120, (word) (( (bPt) gf←c0114)+108)/* var←c20968 */ , 269057);
var←c22120 = (word) XR←ExportInterface((word) "GGMUserProfile", (word) XR←GetTypeIndexS((word) (&string34)), 3);
(* (( (ptr) gf←c0114)+62)/* var←c22184 */ ) = var←c22120;
(void) XR←ExportProcS(var←c22120, (word) (( (bPt) gf←c0114)+156)/* var←c21160 */ , 262145);
(void) XR←ExportProcS(var←c22120, (word) (( (bPt) gf←c0114)+148)/* var←c21128 */ , 67109120);
(void) XR←ExportProcS(var←c22120, (word) (( (bPt) gf←c0114)+164)/* var←c21192 */ , 262657);
}
static void GGUtilityImplC←P0(formal←c034, formal←c033)
word formal←c034;
word formal←c033;
{
/* GGUtilityImplC: */
SOURCE(258, 6117)
/* moved to installation proc */
/* moved to installation proc */
SOURCE(6369, 6)
(void) Init←P720();
}
static word SequenceSubst←P60(new←v4200, old←v4228, expr←v4256)
word new←v4200;
word old←v4228;
word expr←v4256;
{
register ptr gf←c22216 = (ptr) &globalframe;
word head←v4384;
word tail←v5752 = 0;
word cons←v5780 = 0;
word first←v5808 = 0;
/* SequenceSubst: */
SOURCE(1074, 411)
SOURCE(1074, 411)
head←v4384 = 0;
SOURCE(1313, 172)
lab←L100002: ;
if ((expr←v4256 != 0)) {
}
else {
goto lab←L100000;
};
SOURCE(1333, 18)
first←v5808 = (* (ptr) expr←v4256 );
SOURCE(1353, 47)
{
word var←c21352;
word var←c21384;
var←c21352 = XR←NewObject(8, (* (( (ptr) gf←c22216)+9) ));
var←c21384 = var←c21352;
if ((first←v5808 == old←v4228)) {
(* (ptr) var←c21384 ) = new←v4200;
}
else {
(* (ptr) var←c21384 ) = first←v5808;
};
cons←v5780 = var←c21352;
};
SOURCE(1402, 52)
if ((tail←v5752 == 0)) {
SOURCE(1421, 17)
head←v4384 = cons←v5780;
}
else {
SOURCE(1438, 16)
(* (( (ptr) tail←v5752)+1) ) = cons←v5780;
};
SOURCE(1456, 11)
tail←v5752 = cons←v5780;
SOURCE(1469, 16)
expr←v4256 = (* (( (ptr) expr←v4256)+1) );
goto lab←L100002;
lab←L100000: ;
SOURCE(1074, 411)
return(head←v4384);
}
static word OrderedSelectionList←P120(ggData←v4528, order←v4556, formal←c0138)
word ggData←v4528;
word order←v4556;
word formal←c0138;
{
W9 var←c22248;
/* declaration of andSelectEntire←v4584 skipped */
register ptr gf←c22280 = (ptr) &globalframe;
/* declaration of list←v4628 skipped */
/* declaration of var←c21416 skipped */
/* declaration of scene←v5936 skipped */
(* (( (ptr) &var←c22248)+4)/* andSelectEntire←v4584 */ ) = formal←c0138;
/* OrderedSelectionList: */
SOURCE(1500, 501)
{
word tmpAddr35;
tmpAddr35 = (word) (( (ptr) &var←c22248)+6)/* var←c21416 */ ;
(* (ptr) tmpAddr35 ) = ( ((word) (fPt) DoAddSliceToList←P780) );
(* (( (ptr) tmpAddr35) + 1) ) = 1;
};
SOURCE(1500, 501)
(* (( (ptr) &var←c22248)+5)/* list←v4628 */ ) = 0;
SOURCE(1637, 27)
(* (( (ptr) &var←c22248)+8)/* scene←v5936 */ ) = (* (( (ptr) ggData←v4528)+11) );
SOURCE(1901, 55)
{
word var←c21480;
word pd36;
pd36 = (* (( (ptr) (* (( (ptr) gf←c22280)+51)/* var←c21448 */ ))+31) );
var←c21480 = (word) ( *( (fPt) ((* (ptr) pd36 ))))((* (( (ptr) &var←c22248)+8)/* scene←v5936 */ ), 0, (word) (( (bPt) &var←c22248)+24)
/* var←c21416 */ , 0, pd36);
};
SOURCE(1958, 43)
if ((order←v4556 == 1)) {
SOURCE(1977, 24)
(* (( (ptr) &var←c22248)+5)/* list←v4628 */ ) = (word) ReverseList←P180((* ((( (ptr) &var←c22248)+5)/* list←v4628 */ ) ))
;
};
SOURCE(1500, 501)
return((* (( (ptr) &var←c22248)+5)/* list←v4628 */ ));
}
static word DoAddSliceToList←P780(slice←v6040, formal←c22344)
word slice←v6040;
word formal←c22344;
{
register ptr gf←c22312 = (ptr) &globalframe;
word done←v6084;
formal←c22344 = (formal←c22344 - 24);
/* DoAddSliceToList: */
SOURCE(1666, 227)
SOURCE(1666, 227)
done←v6084 = 0;
SOURCE(1737, 156)
{
word pd37;
pd37 = (* (( (ptr) (* (( (ptr) gf←c22312)+52)/* var←c21512 */ ))+18) );
if ((0 != (word) ( *( (fPt) ((* (ptr) pd37 ))))(slice←v6040, (* (( (ptr) formal←c22344)+8) ), 0, pd37))) {
SOURCE(1795, 24)
{
word var←c21544;
var←c21544 = XR←NewObject(8, (* (( (ptr) gf←c22312)+10) ));
(* (ptr) var←c21544 ) = slice←v6040;
(* (( (ptr) var←c21544)+1) ) = (* (( (ptr) formal←c22344)+5) );
(* (( (ptr) formal←c22344)+5) ) = var←c21544;
};
SOURCE(1821, 72)
if ((0 != (* (( (ptr) formal←c22344)+4) ))) {
SOURCE(1845, 48)
{
word pd38;
pd38 = (* (( (ptr) (* (( (ptr) gf←c22312)+52)/* var←c21512 */ ))+5) );
(void) ( *( (fPt) ((* (ptr) pd38 ))))(slice←v6040, (* (( (ptr) formal←c22344)+8) ), 0, pd38);
};
};
};
};
SOURCE(1666, 227)
return(done←v6084);
}
static word ReverseList←P180(list←v4772)
word list←v4772;
{
register ptr gf←c22376 = (ptr) &globalframe;
word val←v4900;
/* ReverseList: */
SOURCE(2007, 171)
SOURCE(2007, 171)
val←v4900 = 0;
SOURCE(2080, 9)
val←v4900 = 0;
SOURCE(2091, 65)
lab←L100005: ;
if ((list←v4772 != 0)) {
}
else {
goto lab←L100003;
};
SOURCE(2111, 27)
{
word var←c21576;
var←c21576 = XR←NewObject(8, (* (( (ptr) gf←c22376)+10) ));
(* (ptr) var←c21576 ) = (* (ptr) list←v4772 );
(* (( (ptr) var←c21576)+1) ) = val←v4900;
val←v4900 = var←c21576;
};
SOURCE(2140, 16)
list←v4772 = (* (( (ptr) list←v4772)+1) );
goto lab←L100005;
lab←L100003: ;
SOURCE(2167, 11)
return(val←v4900);
}
static void LookAtProfile←P240(reason←v10872)
word reason←v10872;
{
register ptr gf←c22408 = (ptr) &globalframe;
word turboOn←v6112;
/* LookAtProfile: */
SOURCE(2385, 154)
SOURCE(2442, 76)
{
word pd39;
pd39 = (* (( (ptr) (* (( (ptr) gf←c22408)+53)/* var←c21608 */ ))+4) );
turboOn←v6112 = (word) ( *( (fPt) ((* (ptr) pd39 ))))((* (( (ptr) gf←c22408)+19) ), 0, pd39);
};
SOURCE(2520, 19)
(void) SetTurboOn←P300(turboOn←v6112);
}
static void SetTurboOn←P300(sense←v5128)
word sense←v5128;
{
register ptr gf←c22440 = (ptr) &globalframe;
/* SetTurboOn: */
SOURCE(2545, 68)
SOURCE(2587, 26)
(* (ptr) (* (( (ptr) gf←c22440)+4)/* masterData←v3728 */ ) ) = sense←v5128;
}
static word GetTurboOn←P360()
{
register ptr gf←c22472 = (ptr) &globalframe;
word sense←v5188;
/* GetTurboOn: */
SOURCE(2618, 76)
SOURCE(2668, 26)
sense←v5188 = (* (ptr) (* (( (ptr) gf←c22472)+4)/* masterData←v3728 */ ) );
SOURCE(2618, 76)
return(sense←v5188);
}
static void GGTurboOn←P420(formal←c064, cmd←v10932)
word formal←c064;
word cmd←v10932;
{
register ptr gf←c22504 = (ptr) &globalframe;
word result←v10976;
word msg←v11004;
/* GGTurboOn: */
SOURCE(2699, 113)
SOURCE(2699, 113)
result←v10976 = 0;
SOURCE(2699, 113)
msg←v11004 = 0;
SOURCE(2736, 16)
(void) SetTurboOn←P300(1);
SOURCE(2754, 58)
{
word pd40;
pd40 = (* (( (ptr) (* (( (ptr) gf←c22504)+54)/* var←c21640 */ ))+93) );
(void) ( *( (fPt) ((* (ptr) pd40 ))))((* (( (ptr) cmd←v10932)+1) ), (* (( (ptr) gf←c22504)+18) ), 0, 2147483647, pd40);
};
/* removed tail goto */
(* (ptr) formal←c064 ) = result←v10976;
(* (( (ptr) formal←c064)+1) ) = msg←v11004;
return;
}
static void GGTurboOff←P480(formal←c068, cmd←v11064)
word formal←c068;
word cmd←v11064;
{
register ptr gf←c22536 = (ptr) &globalframe;
word result←v11108;
word msg←v11136;
/* GGTurboOff: */
SOURCE(2817, 116)
SOURCE(2817, 116)
result←v11108 = 0;
SOURCE(2817, 116)
msg←v11136 = 0;
SOURCE(2855, 17)
(void) SetTurboOn←P300(0);
SOURCE(2874, 59)
{
word pd41;
pd41 = (* (( (ptr) (* (( (ptr) gf←c22536)+54)/* var←c21640 */ ))+93) );
(void) ( *( (fPt) ((* (ptr) pd41 ))))((* (( (ptr) cmd←v11064)+1) ), (* (( (ptr) gf←c22536)+16) ), 0, 2147483647, pd41);
};
/* removed tail goto */
(* (ptr) formal←c068 ) = result←v11108;
(* (( (ptr) formal←c068)+1) ) = msg←v11136;
return;
}
static void RestoreSceneClean←P540(scene←v5248, virginList←v5276, virginMap←v5304)
word scene←v5248;
word virginList←v5276;
word virginMap←v5304;
{
register ptr gf←c22568 = (ptr) &globalframe;
word found←v6156 = 0;
word virginScene←v6184 = 0;
word restoredPtr←v6212 = 0;
word restoredList←v6240 = 0;
/* RestoreSceneClean: */
SOURCE(2938, 1001)
SOURCE(3136, 56)
{
W2 var←c21704;
{
word pd42;
pd42 = (* (( (ptr) (* (( (ptr) gf←c22568)+55)/* var←c21672 */ ))+20) );
(void) ( *( (fPt) ((* (ptr) pd42 ))))((word) (&var←c21704), pd42);
};
restoredPtr←v6212 = var←c21704.f1;
restoredList←v6240 = var←c21704.f0;
};
SOURCE(3194, 624)
{
register word sliceList←v6452;
sliceList←v6452 = virginList←v5276;
lab←L100011: ;
if ((sliceList←v6452 != 0)) {
}
else {
goto lab←L100008;
};
{
word original←v6580 = 0;
word nextSlice←v6608;
SOURCE(3298, 34)
nextSlice←v6608 = (* (ptr) sliceList←v6452 );
SOURCE(3367, 54)
{
W2 var←c21768;
{
word pd43;
pd43 = (* (( (ptr) (* (( (ptr) gf←c22568)+56)/* var←c21736 */ ))+7) );
(void) ( *( (fPt) ((* (ptr) pd43 ))))((word) &var←c21768, virginMap←v5304, nextSlice←v6608, pd43);
};
original←v6580 = var←c21768.f1;
found←v6156 = var←c21768.f0;
};
SOURCE(3460, 185)
if ((0 != found←v6156)) {
SOURCE(3474, 195)
{
word originalSlice←v6668;
SOURCE(3476, 46)
originalSlice←v6668 = XR←Narrow(original←v6580, (* (( (ptr) gf←c22568)+15) ));
SOURCE(3564, 54)
{
word pd44;
pd44 = (* (( (ptr) (* (( (ptr) gf←c22568)+57)/* var←c21800 */ ))+11) );
(void) ( *( (fPt) ((* (ptr) pd44 ))))(nextSlice←v6608, originalSlice←v6668, pd44);
};
SOURCE(3620, 25)
nextSlice←v6608 = originalSlice←v6668;
};
};
SOURCE(3672, 22)
(* (( (ptr) nextSlice←v6608)+2) ) = 0;
SOURCE(3732, 86)
{
W2 var←c21832;
{
word pd45;
pd45 = (* (( (ptr) (* (( (ptr) gf←c22568)+55)/* var←c21672 */ ))+21) );
(void) ( *( (fPt) ((* (ptr) pd45 ))))((word) &var←c21832, nextSlice←v6608, restoredList←v6240, restoredPtr←v6212, pd45);
};
restoredPtr←v6212 = var←c21832.f1;
restoredList←v6240 = var←c21832.f0;
};
};
sliceList←v6452 = (* (( (ptr) sliceList←v6452)+1) );
goto lab←L100011;
lab←L100008: ;
};
SOURCE(3829, 47)
{
word pd46;
pd46 = (* (( (ptr) (* (( (ptr) gf←c22568)+51)/* var←c21448 */ ))+4) );
virginScene←v6184 = (word) ( *( (fPt) ((* (ptr) pd46 ))))(restoredList←v6240, pd46);
};
SOURCE(3893, 46)
{
word pd47;
pd47 = (* (( (ptr) (* (( (ptr) gf←c22568)+51)/* var←c21448 */ ))+7) );
(void) ( *( (fPt) ((* (ptr) pd47 ))))(virginScene←v6184, scene←v5248, pd47);
};
}
static void CopySceneClean←P600(formal←c091, formal←c0139, formal←c0140)
word formal←c091;
word formal←c0139;
word formal←c0140;
{
W10 var←c22600;
/* declaration of scene←v5448 skipped */
/* declaration of copyAll←v5476 skipped */
/* declaration of virginList←v5520 skipped */
/* declaration of virginMap←v5548 skipped */
/* declaration of var←c21864 skipped */
(* (( (ptr) &var←c22600)+4)/* scene←v5448 */ ) = formal←c0139;
(* (( (ptr) &var←c22600)+5)/* copyAll←v5476 */ ) = formal←c0140;
/* CopySceneClean: */
SOURCE(3978, 1061)
{
word tmpAddr48;
tmpAddr48 = (word) (( (ptr) &var←c22600)+8)/* var←c21864 */ ;
(* (ptr) tmpAddr48 ) = ( ((word) (fPt) CopyWithSelections←P1032) );
(* (( (ptr) tmpAddr48) + 1) ) = 1;
};
SOURCE(3978, 1061)
(* (( (ptr) &var←c22600)+6)/* virginList←v5520 */ ) = 0;
SOURCE(3978, 1061)
(* (( (ptr) &var←c22600)+7)/* virginMap←v5548 */ ) = 0;
SOURCE(4107, 932)
{
word var←c0133;
var←c0133 = (word) &var←c22600;
(void) (word) XR←Enable(( ((word) (fPt) NoName←Q1344) ), ( ((word) (fPt) NoName←Q1404) ), var←c0133);
};
/* removed tail goto */
(* (ptr) formal←c091 ) = (* (( (ptr) &var←c22600)+6)/* virginList←v5520 */ );
(* (( (ptr) formal←c091)+1) ) = (* (( (ptr) &var←c22600)+7)/* virginMap←v5548 */ );
return;
}
static word NoName←Q1344(formal←c0127)
word formal←c0127;
{
register ptr gf←c0126 = (ptr) &globalframe;
SOURCE(4174, 26)
{
word virginPtr←v6740 = 0;
word sceneList←v6768;
SOURCE(4505, 11)
{
word pd49;
pd49 = (* (( (ptr) (* (( (ptr) gf←c0126)+51)/* var←c21448 */ ))+33) );
sceneList←v6768 = (word) ( *( (fPt) ((* (ptr) pd49 ))))((* (( (ptr) formal←c0127)+4) ), 0, 0, pd49);
};
SOURCE(4566, 473)
if ((sceneList←v6768 != 0)) {
SOURCE(4590, 25)
{
word pd50;
pd50 = (* (( (ptr) (* (( (ptr) gf←c0126)+58)/* var←c21896 */ ))+11) );
(void) ( *( (fPt) ((* (ptr) pd50 ))))(0, pd50);
};
SOURCE(4643, 27)
{
word pd51;
pd51 = (* (( (ptr) (* (( (ptr) gf←c0126)+56)/* var←c21736 */ ))+5) );
(* (( (ptr) formal←c0127)+7) ) = (word) ( *( (fPt) ((* (ptr) pd51 ))))(17, 0, 0, pd51);
};
SOURCE(4672, 52)
{
W2 var←c21928;
{
word pd52;
pd52 = (* (( (ptr) (* (( (ptr) gf←c0126)+55)/* var←c21672 */ ))+20) );
(void) ( *( (fPt) ((* (ptr) pd52 ))))((word) (&var←c21928), pd52);
};
virginPtr←v6740 = var←c21928.f1;
(* (( (ptr) formal←c0127)+6) ) = var←c21928.f0;
};
SOURCE(4726, 313)
{
register word sliceList←v7084;
sliceList←v7084 = sceneList←v6768;
lab←L100018: ;
if ((sliceList←v7084 != 0)) {
}
else {
goto lab←L100015;
};
{
word slice←v7212;
SOURCE(4808, 30)
slice←v7212 = (* (ptr) sliceList←v7084 );
SOURCE(4840, 172)
{
W2 var←c21992;
{
word var←c21960;
{
word pd54;
if ((0 != (* (( (ptr) formal←c0127)+5) ))) { goto then053;};
pd54 = (* (( (ptr) (* (( (ptr) gf←c0126)+52)/* var←c21512 */ ))+18) );
if ((0 != (word) ( *( (fPt) ((* (ptr) pd54 ))))(slice←v7212, (* (( (ptr) formal←c0127)+4) ), 0, pd54))) {
then053: ;
var←c21960 = (word) CopyWithSelections←P1032(slice←v7212, (word) (( (bPt) formal←c0127)+32));
}
else {
var←c21960 = slice←v7212;
};
};
{
W2 var←c0100;
{
word pd55;
pd55 = (* (( (ptr) (* (( (ptr) gf←c0126)+55)/* var←c21672 */ ))+21) );
(void) ( *( (fPt) ((* (ptr) pd55 ))))((word) &var←c0100, var←c21960, (* (( (ptr) formal←c0127)+6) ), virginPtr←v6740, pd55)
;
};
var←c21992 = var←c0100;
};
};
virginPtr←v6740 = var←c21992.f1;
(* (( (ptr) formal←c0127)+6) ) = var←c21992.f0;
};
SOURCE(5014, 25)
{
word pd56;
pd56 = (* (( (ptr) (* (( (ptr) gf←c0126)+58)/* var←c21896 */ ))+11) );
(void) ( *( (fPt) ((* (ptr) pd56 ))))(0, pd56);
};
};
sliceList←v7084 = (* (( (ptr) sliceList←v7084)+1) );
goto lab←L100018;
lab←L100015: ;
};
};
};
return(0);
}
static word CopyWithSelections←P1032(slice←v6844, formal←c22664)
word slice←v6844;
word formal←c22664;
{
register ptr gf←c22632 = (ptr) &globalframe;
word copy←v6888;
formal←c22664 = (formal←c22664 - 32);
/* CopyWithSelections: */
SOURCE(4174, 26)
SOURCE(4174, 26)
copy←v6888 = 0;
SOURCE(4240, 73)
if ((0 != (* (( (ptr) gf←c22632)+5)/* doSelections←v4064 */ ))) {
SOURCE(4261, 52)
{
word pd57;
pd57 = (* (( (ptr) (* (( (ptr) gf←c22632)+52)/* var←c21512 */ ))+8) );
(void) ( *( (fPt) ((* (ptr) pd57 ))))(slice←v6844, 0, pd57);
};
};
SOURCE(4348, 35)
{
word pd58;
pd58 = (* (( (ptr) (* (( (ptr) gf←c22632)+57)/* var←c21800 */ ))+10) );
copy←v6888 = (* (ptr) ( *( (fPt) ((* (ptr) pd58 ))))(slice←v6844, 0, pd58) );
};
SOURCE(4406, 63)
{
word pd59;
pd59 = (* (( (ptr) (* (( (ptr) gf←c22632)+56)/* var←c21736 */ ))+10) );
if ((0 == (word) ( *( (fPt) ((* (ptr) pd59 ))))((* (( (ptr) formal←c22664)+7) ), copy←v6888, slice←v6844, pd59))) {
SOURCE(4469, 5)
(void) XR←RaiseUnnamedError();
};
};
SOURCE(4174, 26)
return(copy←v6888);
}
static void UnlinkCapturedScene←P660(historyEvent←v5708)
word historyEvent←v5708;
{
register ptr gf←c22696 = (ptr) &globalframe;
/* UnlinkCapturedScene: */
SOURCE(5111, 821)
SOURCE(5177, 99)
{
word tc60;
word pd61;
if ((historyEvent←v5708 != 0)) {
pd61 = (* (( (ptr) (* (( (ptr) gf←c22696)+59)/* var←c22024 */ ))+8) );
tc60 = (word) (0 == (word) ( *( (fPt) ((* (ptr) pd61 ))))((* (ptr) historyEvent←v5708 ), (* (( (ptr) gf←c22696)+17) ), 0, pd61)
);
}
else {
tc60 = (word) 0;
};
if (tc60) {
SOURCE(5258, 18)
(void) (XR←RaiseSignal((word) (( (bPt) gf←c22696)+96)/* var←c20904 */ , 0, 0));
};
};
SOURCE(5297, 635)
if ( ( ( (historyEvent←v5708 != 0) ? ((* (( (ptr) historyEvent←v5708)+2) ) != 0) : 0 ) ? ((* (ptr) (* (( (ptr) historyEvent←v5708)+2)
) ) != 0) : 0 ) ) {
SOURCE(5390, 544)
{
word found←v7256 = 0;
word captureRef←v7284;
word captureData←v7312;
SOURCE(5413, 65)
captureRef←v7284 = (* (( (ptr) (* (ptr) (* (( (ptr) historyEvent←v5708)+2) ) ))+1) );
SOURCE(5480, 52)
if ((captureRef←v7284 == 0)) {
goto lab←L100019;
};
if (((* (ptr) captureRef←v7284 ) == 2)) {
goto lab←L100019;
};
(void) XR←RaiseError(XR←NarrowFault, 0);
lab←L100019: ;
captureData←v7312 = captureRef←v7284;
SOURCE(5534, 318)
{
register word sliceList←v7380;
sliceList←v7380 = (* (( (ptr) captureData←v7312)+2) );
lab←L100023: ;
if ((sliceList←v7380 != 0)) {
}
else {
goto lab←L100020;
};
{
W2 var←c0108;
SOURCE(5629, 66)
{
word pd62;
pd62 = (* (( (ptr) (* (( (ptr) gf←c22696)+56)/* var←c21736 */ ))+7) );
(void) ( *( (fPt) ((* (ptr) pd62 ))))((word) &var←c0108, (* (( (ptr) captureData←v7312)+3) ), (* (ptr) sliceList←v7380 ), pd62)
;
};
found←v7256 = var←c0108.f0;
SOURCE(5697, 61)
if (((0 != found←v7256) && (0 != (* (( (ptr) gf←c22696)+6)/* doUnlink←v4092 */ )))) {
SOURCE(5724, 34)
{
word pd63;
pd63 = (* (( (ptr) (* (( (ptr) gf←c22696)+57)/* var←c21800 */ ))+12) );
(void) ( *( (fPt) ((* (ptr) pd63 ))))((* (ptr) (sliceList←v7380) ), pd63);
};
};
SOURCE(5833, 19)
(* (ptr) sliceList←v7380 ) = 0;
};
sliceList←v7380 = (* (( (ptr) sliceList←v7380)+1) );
goto lab←L100023;
lab←L100020: ;
};
SOURCE(5863, 69)
if (((* (( (ptr) captureData←v7312)+3) ) != 0)) {
SOURCE(5897, 35)
{
word pd64;
pd64 = (* (( (ptr) (* (( (ptr) gf←c22696)+56)/* var←c21736 */ ))+12) );
(void) ( *( (fPt) ((* (ptr) pd64 ))))((* ((( (ptr) captureData←v7312)+3)) ), pd64);
};
};
};
};
}
static void Init←P720()
{
register ptr gf←c22728 = (ptr) &globalframe;
/* Init: */
SOURCE(5991, 373)
SOURCE(6009, 31)
(* (( (ptr) gf←c22728)+4)/* masterData←v3728 */ ) = XR←NewObject(8, (* (( (ptr) gf←c22728)+13) ));
SOURCE(6042, 49)
{
word pd65;
pd65 = (* (( (ptr) (* (( (ptr) gf←c22728)+53)/* var←c21608 */ ))+12) );
(void) ( *( (fPt) ((* (ptr) pd65 ))))((word) ((( (bPt) gf←c22728)+164)/* var←c21192 */ ), pd65);
};
SOURCE(6093, 133)
{
word pd66;
pd66 = (* (( (ptr) (* (( (ptr) gf←c22728)+60)/* var←c22088 */ ))+4) );
(void) ( *( (fPt) ((* (ptr) pd66 ))))((* (( (ptr) gf←c22728)+20) ), (word) (( (bPt) gf←c22728)+140)/* var←c21096 */ , (* (
( (ptr) gf←c22728)+21) ), 0, 1, pd66);
};
SOURCE(6228, 136)
{
word pd67;
pd67 = (* (( (ptr) (* (( (ptr) gf←c22728)+60)/* var←c22088 */ ))+4) );
(void) ( *( (fPt) ((* (ptr) pd67 ))))((* (( (ptr) gf←c22728)+22) ), (word) (( (bPt) gf←c22728)+132)/* var←c21064 */ , (* (
( (ptr) gf←c22728)+23) ), 0, 1, pd67);
};
}
static void NoName←Q1404(formal←c0113, formal←c200000, formal←c200001, formal←c200002, formal←c200003)
word formal←c0113;
word formal←c200000;
word formal←c200001;
word formal←c200002;
word formal←c200003;
{
register ptr gf←c0132 = (ptr) &globalframe;
if ((formal←c200001 == XR←Aborted)) {
SOURCE(4126, 45)
if (((* (( (ptr) formal←c200000)+7) ) != 0)) {
SOURCE(4148, 23)
{
word pd68;
pd68 = (* (( (ptr) (* (( (ptr) gf←c0132)+56)/* var←c21736 */ ))+12) );
(void) ( *( (fPt) ((* (ptr) pd68 ))))((* ((( (ptr) formal←c200000)+7)) ), pd68);
};
};
};
(* (ptr) formal←c0113 ) = 0;
(* (( (ptr) formal←c0113)+1) ) = 0;
return;
}
/* file: GGUtilityImplC, module: GGUtilityImplC, compiled at: March 19, 1993 4:13:38 pm PST */
extern void XR←install←GGUtilityImplC() {
NoName←Q1284();
}
extern void XR←run←GGUtilityImplC() { XR←Start(&globalframe); }