/* Generated with C2C (Cedar To C)*/
/* Copyright (C) 1993 by Xerox Corporation. All rights reserved. */
/* time: July 11, 1993 8:19:36 pm PDT */
/* C2C version: April 20, 1993 (sun4) */
/* ref-counting: off */
/* file: GGSelectImpl, module: GGSelectImpl */
/* switches: bcfhklnouw */
#include <cedar/InstallationSupport.h>
#include <cedar/CedarExtra.h>
static char versionStamp[] = "@(#)mob←version [1725403207,1266376525] GGSelectImpl";
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 {word f0, f1;} W2;
typedef word (*fPt)();
#define SOURCE(p, l) /* source p, l */
static void NoName←Q3012();
static void GGSelectImpl←P0();
static void ChangeDonkeyTail←P60();
static void NoDonkeyTail←P120();
static void SelectAll←P180();
static word DoSelectSlice←P2160();
static void SelectSliceFromParts←P240();
static void SelectSlice←P300();
static void SelectEntireSlice←P360();
static void DuplicateSelections←P420();
static word DoSelectSlice←P2220();
static void DeselectEntity←P480();
static void DeselectEntityAllClasses←P540();
static void DeselectAll←P600();
static void DeselectAllAllClasses←P660();
static void DeselectEntireSlice←P720();
static void DeselectSlice←P780();
static void DeselectTraj←P840();
static void SaveSelectionsInSliceAllClasses←P900();
static word RemakeSelections←P960();
static void ReselectSliceAllClasses←P1020();
static word ReselectTraj←P1080();
static void DeleteSelection←P1140();
static word ListSelected←P1200();
static void SetSelected←P1260();
static void SetJointField←P1320();
static void SetSegmentField←P1380();
static void AppendSelection←P1440();
static word LastSliceDescriptor←P1500();
static void SetSelectedList←P1560();
static word IsSelectedInFull←P1620();
static word IsSelectedInPart←P1680();
static word NoSelections←P1740();
static word FindSelectedSequence←P1800();
static word LookForTraj←P2904();
static word FindSelectedSlice←P1860();
static word GetLastSelection←P1920();
static void SubstituteForSegment←P1980();
static word BoundBoxOfOutlines←P2040();
static word DRemove←P2100();
static struct {unsigned f; char r[4];} string1 = {65540, "\251\000\000"};
static struct {unsigned f; char r[4];} string2 = {131076, "\216\251\000"};
static struct {unsigned f; char r[4];} string3 = {65537, "\001\000\000"};
static struct {unsigned f; char r[16];} string4 = {851984, "\257\300\247\365\203\234\300\047\265\225\046\100\324\000\000"};
static struct {unsigned f; char r[32];} string5 = {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[16];} string6 = {851984, "\257\300\247\365\203\234\300\047\265\225\046\100\310\000\000"};
static struct {unsigned f; char r[4];} string7 = {131074, "\004\003\000"};
static struct {unsigned f; char r[48];} string8 = {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[16];} string9 = {851984, "\257\300\247\365\203\234\300\047\265\225\046\106\354\000\000"};
static struct {unsigned f; char r[8];} string10 = {262148, "\004\200@\034\000\000\000"};
static struct {unsigned f; char r[8];} string11 = {262152, "Traj\000\000\000"};
static struct {unsigned f; char r[16];} string12 = {851984, "\257\300f\327\220G\300K{←M@t\000\000"};
static struct {unsigned f; char r[4];} string13 = {196611, "\004p\000"};
static struct {unsigned f; char r[16];} string14 = {851984, "\257\300\265\217\206\011\300\172\271\371\033\100\150\000\000"};
static struct {unsigned f; char r[16];} string15 = {851984, "\257\300\311\023\117\300\300\337\236\305\170\100\150\000\000"};
static struct {unsigned f; char r[16];} string16 = {851984, "\257\300\301\241\007\150\300\032\111\265\237\100\150\000\000"};
static struct {unsigned f; char r[16];} string17 = {851984, "\257\300\347\101\365\007\300\150\102\366\020\100\150\000\000"};
static struct {unsigned f; char r[16];} string18 = {851984, "\257\300\261\002\056\176\300\055\321\222\125\100\150\000\000"};
static struct {unsigned f; char r[16];} string19 = {851984, "\257\300U$)\337\300Xo9\243@t\000\000"};
static struct {unsigned f; char r[16];} string20 = {851984, "\257\300\336\025\013\356\300\216\115\352\271\100\150\000\000"};
static struct {unsigned f; char r[16];} string21 = {851984, "\257\300\050\310\006\072\300\004\273\314\121\100\150\000\000"};
static struct {unsigned f; char r[16];} string22 = {851984, "\257\300\247\365\203\234\300\047\265\225\046\100\150\000\000"};
static struct {unsigned f; char r[24];} string23 = {1376280, "\211\011\010\123\143\145\156\145\117\142\152\300\247\365\203\234\300\047\265\225\046\000\000"};
static struct {unsigned f; char r[16];} string24 = {851984, "\257\300\023\042\171\072\300\052\367\123\170\100\164\000\000"};
static struct {unsigned f; char r[28];} string25 = {1572888, "\006\010\014\001\020\001\024\001\030\004\155\273\100\120\013\100\214\001\100\220\001\100\224\001\000\000\000"};
static struct {unsigned f; char r[16];} string26 = {851984, "\257\300\011\245\206\305\300\112\326\356\245\100\150\000\000"};
static struct {
word f0[15]; word f15; word f16; word f17;
word f18; word f19; word f20; word f21;
word f22; word f23; word f24; 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; word f51; word f52; word f53;
word f54; word f55; word f56; word f57;
word f58; word f59; word f60; word f61;
word f62; word f63; word f64; word f65;
word f66; word f67; word f68; word f69;
word f70; word f71; word f72; word f73;
word f74; word f75; word f76; word f77;
word f78; word f79; word f80; word f81;
word f82; word f83; word f84; word f85;
word f86[11];
} globalframe = {
{0}, (word) DRemove←P2100, 0, (word) BoundBoxOfOutlines←P2040,
0, (word) SubstituteForSegment←P1980, 0, (word) GetLastSelection←P1920,
0, (word) FindSelectedSlice←P1860, 0, (word) FindSelectedSequence←P1800,
0, (word) NoSelections←P1740, 0, (word) IsSelectedInPart←P1680,
0, (word) IsSelectedInFull←P1620, 0, (word) SetSelectedList←P1560,
0, (word) LastSliceDescriptor←P1500, 0, (word) AppendSelection←P1440,
0, (word) SetSegmentField←P1380, 0, (word) SetJointField←P1320,
0, (word) SetSelected←P1260, 0, (word) ListSelected←P1200,
0, (word) DeleteSelection←P1140, 0, (word) ReselectTraj←P1080,
0, (word) ReselectSliceAllClasses←P1020, 0, (word) RemakeSelections←P960,
0, (word) SaveSelectionsInSliceAllClasses←P900, 0, (word) DeselectTraj←P840,
0, (word) DeselectSlice←P780, 0, (word) DeselectEntireSlice←P720,
0, (word) DeselectAllAllClasses←P660, 0, (word) DeselectAll←P600,
0, (word) DeselectEntityAllClasses←P540, 0, (word) DeselectEntity←P480,
0, (word) DuplicateSelections←P420, 0, (word) SelectEntireSlice←P360,
0, (word) SelectSlice←P300, 0, (word) SelectSliceFromParts←P240,
0, (word) SelectAll←P180, 0, (word) NoDonkeyTail←P120,
0, (word) ChangeDonkeyTail←P60, 0, (word) GGSelectImpl←P0,
{0}
};
static void NoName←Q3012()
{
register ptr gf←c0257 = (ptr) &globalframe;
word var←c29124;
(* (( (ptr) gf←c0257)+5) ) = (word) XR←GetTypeIndexS((word) (&string1));
(* (( (ptr) gf←c0257)+6) ) = (word) XR←GetTypeIndex((word) &string2, 0, (word) &string3);
(* (( (ptr) gf←c0257)+8) ) = (word) XR←GetTypeIndex((word) &string4, 0, (word) &string5);
(* (( (ptr) gf←c0257)+9) ) = (word) XR←GetTypeIndex((word) &string6, 0, (word) &string7);
(* (( (ptr) gf←c0257)+10) ) = (word) XR←GetTypeIndex((word) &string8, 0, (word) &string7);
(* (( (ptr) gf←c0257)+11) ) = (word) XR←GetTypeIndex((word) &string9, 0, (word) &string10);
(* (ptr) (( (bPt) gf←c0257)+48) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0257)+6) ), (word) &string11);
(void) XR←DeclareGlobalFrame((word) "GGSelectImpl", &globalframe, (word) XR←GetTypeIndex((word) &string12, 0, (word) &string13)
, (word) (( (bPt) gf←c0257)+340)/* var←c27044 */ );
var←c29124 = (word) XR←ImportInterface((word) "GGBoundBox", (word) XR←GetTypeIndexS((word) (&string14)), 24);
(* (( (ptr) gf←c0257)+94)/* var←c29060 */ ) = var←c29124;
(void) XR←ImportProcS(var←c29124, 526850);
(void) XR←ImportProcS(var←c29124, 67109376);
var←c29124 = (word) XR←ImportInterface((word) "GGOutline", (word) XR←GetTypeIndexS((word) (&string15)), 19);
(* (( (ptr) gf←c0257)+92)/* var←c28996 */ ) = var←c29124;
(void) XR←ImportProcS(var←c29124, 264705);
var←c29124 = (word) XR←ImportInterface((word) "GGParent", (word) XR←GetTypeIndexS((word) (&string16)), 83);
(* (( (ptr) gf←c0257)+89)/* var←c27268 */ ) = var←c29124;
(void) XR←ImportProcS(var←c29124, 67386369);
(void) XR←ImportProcS(var←c29124, 67654146);
(void) XR←ImportProcS(var←c29124, 67386625);
(void) XR←ImportProcS(var←c29124, 67391489);
var←c29124 = (word) XR←ImportInterface((word) "GGScene", (word) XR←GetTypeIndexS((word) (&string17)), 50);
(* (( (ptr) gf←c0257)+87)/* var←c27172 */ ) = var←c29124;
(void) XR←ImportProcS(var←c29124, 787715);
(void) XR←ImportProcS(var←c29124, 526594);
(void) XR←ImportProcS(var←c29124, 67637506);
(void) XR←ImportProcS(var←c29124, 67379969);
(void) XR←ImportProcS(var←c29124, 68426757);
(void) XR←ImportProcS(var←c29124, 68164356);
var←c29124 = (word) XR←ImportInterface((word) "GGSequence", (word) XR←GetTypeIndexS((word) (&string18)), 58);
(* (( (ptr) gf←c0257)+91)/* var←c27588 */ ) = var←c29124;
(void) XR←ImportProcS(var←c29124, 67634434);
(void) XR←ImportProcS(var←c29124, 67639298);
(void) XR←ImportProcS(var←c29124, 67900419);
var←c29124 = (word) XR←ImportInterface((word) "GGSlice", (word) XR←GetTypeIndexS((word) (&string19)), 128);
(* (( (ptr) gf←c0257)+88)/* var←c27236 */ ) = var←c29124;
(void) XR←ImportProcS(var←c29124, 67634178);
var←c29124 = (word) XR←ImportInterface((word) "GGSliceOps", (word) XR←GetTypeIndexS((word) (&string20)), 73);
(* (( (ptr) gf←c0257)+90)/* var←c27300 */ ) = var←c29124;
(void) XR←ImportProcS(var←c29124, 67633922);
(void) XR←ImportProcS(var←c29124, 67377153);
(void) XR←ImportProcS(var←c29124, 67637506);
(void) XR←ImportProcS(var←c29124, 790531);
(void) XR←ImportProcS(var←c29124, 67640066);
(void) XR←ImportProcS(var←c29124, 67901699);
(void) XR←ImportProcS(var←c29124, 67640578);
(void) XR←ImportProcS(var←c29124, 67639810);
(void) XR←ImportProcS(var←c29124, 67376897);
var←c29124 = (word) XR←ImportInterface((word) "GGTraj", (word) XR←GetTypeIndexS((word) (&string21)), 55);
(* (( (ptr) gf←c0257)+93)/* var←c29028 */ ) = var←c29124;
(void) XR←ImportProcS(var←c29124, 67637250);
var←c29124 = (word) XR←ExportInterface((word) "GGModelTypes", (word) XR←GetTypeIndexS((word) (&string22)), 1);
(* (( (ptr) gf←c0257)+95)/* var←c29156 */ ) = var←c29124;
(void) XR←ExportType((word) "SceneObj", (word) XR←GetTypeIndexS((word) (&string23)), (word) XR←GetTypeIndex((word) &string24, 0, (word) &string25)
);
var←c29124 = (word) XR←ExportInterface((word) "GGSelect", (word) XR←GetTypeIndexS((word) (&string26)), 23);
(* (( (ptr) gf←c0257)+96)/* var←c29188 */ ) = var←c29124;
(void) XR←ExportProcS(var←c29124, (word) (( (bPt) gf←c0257)+316)/* var←c26948 */ , 524290, (word) "SelectAll");
(void) XR←ExportProcS(var←c29124, (word) (( (bPt) gf←c0257)+292)/* var←c26852 */ , 786691, (word) "SelectEntireSlice");
(void) XR←ExportProcS(var←c29124, (word) (( (bPt) gf←c0257)+300)/* var←c26884 */ , 786947, (word) "SelectSlice");
(void) XR←ExportProcS(var←c29124, (word) (( (bPt) gf←c0257)+308)/* var←c26916 */ , 1049348, (word) "SelectSliceFromParts")
;
(void) XR←ExportProcS(var←c29124, (word) (( (bPt) gf←c0257)+220)/* var←c26564 */ , 525314, (word) "SaveSelectionsInSliceAllClasses")
;
(void) XR←ExportProcS(var←c29124, (word) (( (bPt) gf←c0257)+204)/* var←c26500 */ , 525570, (word) "ReselectSliceAllClasses")
;
(void) XR←ExportProcS(var←c29124, (word) (( (bPt) gf←c0257)+196)/* var←c26468 */ , 68158980, (word) "ReselectTraj");
(void) XR←ExportProcS(var←c29124, (word) (( (bPt) gf←c0257)+276)/* var←c26788 */ , 788227, (word) "DeselectEntity");
(void) XR←ExportProcS(var←c29124, (word) (( (bPt) gf←c0257)+268)/* var←c26756 */ , 526338, (word) "DeselectEntityAllClasses")
;
(void) XR←ExportProcS(var←c29124, (word) (( (bPt) gf←c0257)+260)/* var←c26724 */ , 526594, (word) "DeselectAll");
(void) XR←ExportProcS(var←c29124, (word) (( (bPt) gf←c0257)+252)/* var←c26692 */ , 264705, (word) "DeselectAllAllClasses")
;
(void) XR←ExportProcS(var←c29124, (word) (( (bPt) gf←c0257)+236)/* var←c26628 */ , 1051396, (word) "DeselectSlice");
(void) XR←ExportProcS(var←c29124, (word) (( (bPt) gf←c0257)+244)/* var←c26660 */ , 789507, (word) "DeselectEntireSlice");
(void) XR←ExportProcS(var←c29124, (word) (( (bPt) gf←c0257)+124)/* var←c26180 */ , 67898627, (word) "IsSelectedInFull");
(void) XR←ExportProcS(var←c29124, (word) (( (bPt) gf←c0257)+116)/* var←c26148 */ , 67898883, (word) "IsSelectedInPart");
(void) XR←ExportProcS(var←c29124, (word) (( (bPt) gf←c0257)+108)/* var←c26116 */ , 67636994, (word) "NoSelections");
(void) XR←ExportProcS(var←c29124, (word) (( (bPt) gf←c0257)+92)/* var←c26052 */ , 67637250, (word) "FindSelectedSlice");
(void) XR←ExportProcS(var←c29124, (word) (( (bPt) gf←c0257)+84)/* var←c26020 */ , 67375361, (word) "GetLastSelection");
(void) XR←ExportProcS(var←c29124, (word) (( (bPt) gf←c0257)+284)/* var←c26820 */ , 791043, (word) "DuplicateSelections");
(void) XR←ExportProcS(var←c29124, (word) (( (bPt) gf←c0257)+76)/* var←c25988 */ , 135271172, (word) "SubstituteForSegment")
;
(void) XR←ExportProcS(var←c29124, (word) (( (bPt) gf←c0257)+180)/* var←c26404 */ , 67638274, (word) "ListSelected");
(void) XR←ExportProcS(var←c29124, (word) (( (bPt) gf←c0257)+172)/* var←c26372 */ , 791811, (word) "SetSelected");
}
static void GGSelectImpl←P0(formal←c052, formal←c051)
word formal←c052;
word formal←c051;
{
/* GGSelectImpl: */
}
static void ChangeDonkeyTail←P60(sliceD←v5308, selectClass←v5336)
word sliceD←v5308;
word selectClass←v5336;
{
/* ChangeDonkeyTail: */
SOURCE(2153, 308)
SOURCE(2235, 226)
{
word var←c27076;
var←c27076 = selectClass←v5336;
switch (var←c27076) {
case 0:
SOURCE(2269, 41)
(* (( (ptr) (* (ptr) sliceD←v5308 ))+7) ) = sliceD←v5308;
break;
case 1:
SOURCE(2319, 38)
(* (( (ptr) (* (ptr) sliceD←v5308 ))+8) ) = sliceD←v5308;
break;
case 2:
SOURCE(2369, 41)
(* (( (ptr) (* (ptr) sliceD←v5308 ))+9) ) = sliceD←v5308;
break;
case 3:
SOURCE(2421, 40)
(* (( (ptr) (* (ptr) sliceD←v5308 ))+10) ) = sliceD←v5308;
break;
};
};
}
static void NoDonkeyTail←P120(slice←v5396, selectClass←v5424)
word slice←v5396;
word selectClass←v5424;
{
/* NoDonkeyTail: */
SOURCE(2476, 253)
SOURCE(2543, 186)
{
word var←c27108;
var←c27108 = selectClass←v5424;
switch (var←c27108) {
case 0:
SOURCE(2577, 31)
(* (( (ptr) slice←v5396)+7) ) = 0;
break;
case 1:
SOURCE(2617, 28)
(* (( (ptr) slice←v5396)+8) ) = 0;
break;
case 2:
SOURCE(2657, 31)
(* (( (ptr) slice←v5396)+9) ) = 0;
break;
case 3:
SOURCE(2699, 30)
(* (( (ptr) slice←v5396)+10) ) = 0;
break;
};
};
}
static void SelectAll←P180(formal←c0285, formal←c0286)
word formal←c0285;
word formal←c0286;
{
W8 var←c29220;
/* declaration of scene←v5484 skipped */
/* declaration of selectClass←v5512 skipped */
register ptr gf←c29252 = (ptr) &globalframe;
/* declaration of var←c27140 skipped */
var←c29220.f4/* scene←v5484 */ = formal←c0285;
var←c29220.f5/* selectClass←v5512 */ = formal←c0286;
/* SelectAll: */
SOURCE(2744, 437)
{
word tmpAddr27;
tmpAddr27 = (word) (( (ptr) &var←c29220)+6)/* var←c27140 */ ;
(* (ptr) tmpAddr27 ) = ( ((word) (fPt) DoSelectSlice←P2160) );
(* (( (ptr) tmpAddr27) + 1) ) = 1;
};
SOURCE(2932, 52)
{
word var←c27204;
word pd28;
pd28 = (* (( (ptr) (* (( (ptr) gf←c29252)+87)/* var←c27172 */ ))+31) );
var←c27204 = (word) ( *( (fPt) ((* (ptr) pd28 ))))(var←c29220.f4/* scene←v5484 */ , 0, (word) (( (bPt) &var←c29220)+24)/* var←c27140 */ , 0, pd28)
;
};
SOURCE(2986, 195)
if ((var←c29220.f5/* selectClass←v5512 */ == 0)) {
SOURCE(3017, 164)
if (((* (( (ptr) var←c29220.f4/* scene←v5484 */ )+6) ) == 0) || ((* (( (ptr) (* (( (ptr) var←c29220.f4/* scene←v5484 */ )+6)
))+1) ) != 0)) {
SOURCE(3089, 37)
(* (( (ptr) var←c29220.f4/* scene←v5484 */ )+9) ) = 0;
}
else {
SOURCE(3126, 55)
(* (( (ptr) var←c29220.f4/* scene←v5484 */ )+9) ) = (* (ptr) (* (( (ptr) var←c29220.f4/* scene←v5484 */ )+6) ) );
};
};
}
static word DoSelectSlice←P2160(slice←v10304, formal←c29284)
word slice←v10304;
word formal←c29284;
{
word done←v10348;
formal←c29284 = (formal←c29284 - 24);
/* DoSelectSlice: */
SOURCE(2815, 112)
SOURCE(2815, 112)
done←v10348 = 0;
SOURCE(2883, 44)
(void) SelectEntireSlice←P360(slice←v10304, (* (( (ptr) formal←c29284)+4) ), (* (( (ptr) formal←c29284)+5) ));
SOURCE(2815, 112)
return(done←v10348);
}
static void SelectSliceFromParts←P240(slice←v5572, parts←v5600, scene←v5628, selectClass←v5656)
word slice←v5572;
word parts←v5600;
word scene←v5628;
word selectClass←v5656;
{
register ptr gf←c29316 = (ptr) &globalframe;
word sliceD←v10376;
/* SelectSliceFromParts: */
SOURCE(3190, 336)
SOURCE(3305, 67)
{
word pd29;
pd29 = (* (( (ptr) (* (( (ptr) gf←c29316)+88)/* var←c27236 */ ))+8) );
sliceD←v10376 = (word) ( *( (fPt) ((* (ptr) pd29 ))))(slice←v5572, parts←v5600, pd29);
};
SOURCE(3374, 39)
(void) SelectSlice←P300(sliceD←v10376, scene←v5628, selectClass←v5656);
SOURCE(3415, 111)
if ((selectClass←v5656 == 0)) {
SOURCE(3444, 82)
{
word pd30;
pd30 = (* (( (ptr) (* (( (ptr) gf←c29316)+89)/* var←c27268 */ ))+84) );
(* (( (ptr) scene←v5628)+9) ) = (word) ( *( (fPt) ((* (ptr) pd30 ))))(sliceD←v10376, pd30);
};
};
}
static void SelectSlice←P300(sliceD←v5716, scene←v5744, selectClass←v5772)
word sliceD←v5716;
word scene←v5744;
word selectClass←v5772;
{
register ptr gf←c29348 = (ptr) &globalframe;
word oldSliceD←v10420 = 0;
word union←v10448 = 0;
/* SelectSlice: */
SOURCE(3532, 806)
SOURCE(3665, 82)
{
word pd32;
if ((sliceD←v5716 == 0)) { goto then031;};
if (((* (( (ptr) sliceD←v5716)+1) ) == 0)) { goto then031;};
pd32 = (* (( (ptr) (* (( (ptr) gf←c29348)+90)/* var←c27300 */ ))+27) );
if ((0 != (word) ( *( (fPt) ((* (ptr) pd32 ))))(sliceD←v5716, pd32))) {
then031: ;
SOURCE(3741, 6)
return;
};
};
SOURCE(3749, 63)
{
word pd33;
pd33 = (* (( (ptr) (* (( (ptr) gf←c29348)+89)/* var←c27268 */ ))+84) );
sliceD←v5716 = (word) ( *( (fPt) ((* (ptr) pd33 ))))(sliceD←v5716, pd33);
};
SOURCE(3814, 56)
oldSliceD←v10420 = (word) FindSelectedSlice←P1860((* (ptr) sliceD←v5716 ), selectClass←v5772);
SOURCE(3872, 189)
if ((oldSliceD←v10420 != 0)) {
SOURCE(3896, 48)
{
word pd34;
pd34 = (* (( (ptr) (* (( (ptr) gf←c29348)+90)/* var←c27300 */ ))+30) );
union←v10448 = (word) ( *( (fPt) ((* (ptr) pd34 ))))(oldSliceD←v10420, sliceD←v5716, pd34);
};
SOURCE(3946, 64)
(void) DeselectSlice←P780((* (ptr) sliceD←v5716 ), (* (( (ptr) oldSliceD←v10420)+1) ), scene←v5744, selectClass←v5772);
}
else {
SOURCE(4047, 14)
union←v10448 = sliceD←v5716;
};
SOURCE(4063, 80)
if ((selectClass←v5772 == 0)) {
SOURCE(4092, 51)
{
word pd35;
pd35 = (* (( (ptr) (* (( (ptr) gf←c29348)+90)/* var←c27300 */ ))+33) );
union←v10448 = (word) ( *( (fPt) ((* (ptr) pd35 ))))(union←v10448, selectClass←v5772, pd35);
};
};
SOURCE(4145, 42)
(void) AppendSelection←P1440(scene←v5744, union←v10448, selectClass←v5772);
SOURCE(4189, 36)
(void) ChangeDonkeyTail←P60(union←v10448, selectClass←v5772);
SOURCE(4227, 111)
if ((selectClass←v5772 == 0)) {
SOURCE(4256, 82)
{
word pd36;
pd36 = (* (( (ptr) (* (( (ptr) gf←c29348)+89)/* var←c27268 */ ))+84) );
(* (( (ptr) scene←v5744)+9) ) = (word) ( *( (fPt) ((* (ptr) pd36 ))))(sliceD←v5716, pd36);
};
};
}
static void SelectEntireSlice←P360(slice←v5832, scene←v5860, selectClass←v5888)
word slice←v5832;
word scene←v5860;
word selectClass←v5888;
{
register ptr gf←c29380 = (ptr) &globalframe;
word allParts←v10492;
/* SelectEntireSlice: */
SOURCE(4363, 202)
SOURCE(4456, 66)
{
word pd37;
pd37 = (* (( (ptr) (* (( (ptr) gf←c29380)+90)/* var←c27300 */ ))+29) );
allParts←v10492 = (word) ( *( (fPt) ((* (ptr) pd37 ))))(slice←v5832, 0, 6, pd37);
};
SOURCE(4524, 41)
(void) SelectSlice←P300(allParts←v10492, scene←v5860, selectClass←v5888);
}
static void DuplicateSelections←P420(formal←c0287, fromClass←v5976, formal←c0288)
word formal←c0287;
word fromClass←v5976;
word formal←c0288;
{
W8 var←c29412;
/* declaration of scene←v5948 skipped */
/* declaration of toClass←v6004 skipped */
register ptr gf←c29444 = (ptr) &globalframe;
/* declaration of var←c27332 skipped */
var←c29412.f4/* scene←v5948 */ = formal←c0287;
var←c29412.f5/* toClass←v6004 */ = formal←c0288;
/* DuplicateSelections: */
SOURCE(4570, 328)
{
word tmpAddr38;
tmpAddr38 = (word) (( (ptr) &var←c29412)+6)/* var←c27332 */ ;
(* (ptr) tmpAddr38 ) = ( ((word) (fPt) DoSelectSlice←P2220) );
(* (( (ptr) tmpAddr38) + 1) ) = 1;
};
SOURCE(4793, 32)
if ((fromClass←v5976 == var←c29412.f5/* toClass←v6004 */ )) {
SOURCE(4819, 6)
return;
};
SOURCE(4827, 71)
{
word var←c27364;
word pd39;
pd39 = (* (( (ptr) (* (( (ptr) gf←c29444)+87)/* var←c27172 */ ))+32) );
var←c27364 = (word) ( *( (fPt) ((* (ptr) pd39 ))))(var←c29412.f4/* scene←v5948 */ , 0, (word) (( (bPt) &var←c29412)+24)/* var←c27332 */ , fromClass←v5976, 0, pd39)
;
};
}
static word DoSelectSlice←P2220(sliceD←v10612, formal←c29476)
word sliceD←v10612;
word formal←c29476;
{
word done←v10656;
formal←c29476 = (formal←c29476 - 24);
/* DoSelectSlice: */
SOURCE(4674, 114)
SOURCE(4674, 114)
done←v10656 = 0;
SOURCE(4753, 35)
(void) SelectSlice←P300(sliceD←v10612, (* (( (ptr) formal←c29476)+4) ), (* (( (ptr) formal←c29476)+5) ));
SOURCE(4674, 114)
return(done←v10656);
}
static void DeselectEntity←P480(entity←v6064, scene←v6092, selectClass←v6120)
word entity←v6064;
word scene←v6092;
word selectClass←v6120;
{
register ptr gf←c29508 = (ptr) &globalframe;
/* DeselectEntity: */
SOURCE(4904, 269)
SOURCE(4997, 176)
{
word var←c27396;
word var←c27428;
var←c27396 = entity←v6064;
if ((var←c27396 == 0)) {
goto lab←L100000;
};
var←c27428 = XR←GetReferentType(var←c27396);
if (((* (( (ptr) gf←c29508)+8) ) == var←c27428)) {
{
word slice←v10684;
slice←v10684 = var←c27396;
SOURCE(5037, 46)
(void) DeselectEntireSlice←P720(slice←v10684, scene←v6092, selectClass←v6120);
};
}
else {
if (((* (( (ptr) gf←c29508)+9) ) == var←c27428)) {
{
word sliceD←v10728;
sliceD←v10728 = var←c27396;
SOURCE(5112, 61)
(void) DeselectSlice←P780((* (ptr) sliceD←v10728 ), (* (( (ptr) sliceD←v10728)+1) ), scene←v6092, selectClass←v6120);
};
}
else {
lab←L100000: ;
SOURCE(5186, 5)
(void) XR←RaiseUnnamedError();
};
};
};
}
static void DeselectEntityAllClasses←P540(entity←v6196, scene←v6224)
word entity←v6196;
word scene←v6224;
{
/* DeselectEntityAllClasses: */
SOURCE(5197, 224)
SOURCE(5271, 37)
(void) DeselectEntity←P480(entity←v6196, scene←v6224, 0);
SOURCE(5310, 37)
(void) DeselectEntity←P480(entity←v6196, scene←v6224, 2);
SOURCE(5349, 34)
(void) DeselectEntity←P480(entity←v6196, scene←v6224, 1);
SOURCE(5385, 36)
(void) DeselectEntity←P480(entity←v6196, scene←v6224, 3);
}
static void DeselectAll←P600(scene←v6296, selectClass←v6324)
word scene←v6296;
word selectClass←v6324;
{
/* DeselectAll: */
SOURCE(5427, 275)
SOURCE(5500, 151)
{
register word sliceD←v10772;
sliceD←v10772 = (word) ListSelected←P1200(scene←v6296, selectClass←v6324);
lab←L100004: ;
if ((sliceD←v10772 != 0)) {
}
else {
goto lab←L100001;
};
SOURCE(5606, 45)
(void) NoDonkeyTail←P120((* (ptr) (* (ptr) sliceD←v10772 ) ), selectClass←v6324);
sliceD←v10772 = (* (( (ptr) sliceD←v10772)+1) );
goto lab←L100004;
lab←L100001: ;
};
SOURCE(5662, 40)
(void) SetSelectedList←P1560(scene←v6296, 0, selectClass←v6324);
}
static void DeselectAllAllClasses←P660(scene←v6384)
word scene←v6384;
{
/* DeselectAllAllClasses: */
SOURCE(5708, 160)
SOURCE(5762, 26)
(void) DeselectAll←P600(scene←v6384, 0);
SOURCE(5790, 26)
(void) DeselectAll←P600(scene←v6384, 2);
SOURCE(5818, 23)
(void) DeselectAll←P600(scene←v6384, 1);
SOURCE(5843, 25)
(void) DeselectAll←P600(scene←v6384, 3);
}
static void DeselectEntireSlice←P720(slice←v6444, scene←v6472, selectClass←v6500)
word slice←v6444;
word scene←v6472;
word selectClass←v6500;
{
register ptr gf←c29540 = (ptr) &globalframe;
/* DeselectEntireSlice: */
SOURCE(5874, 593)
SOURCE(5969, 498)
{
word pd40;
pd40 = (* (( (ptr) (* (( (ptr) gf←c29540)+87)/* var←c27172 */ ))+39) );
if ((0 != (word) ( *( (fPt) ((* (ptr) pd40 ))))(slice←v6444, pd40))) {
SOURCE(6003, 325)
{
word sliceD←v10900;
SOURCE(6005, 63)
sliceD←v10900 = (word) FindSelectedSlice←P1860(slice←v6444, selectClass←v6500);
SOURCE(6070, 107)
if ((sliceD←v10900 != 0)) {
SOURCE(6093, 43)
(void) DeleteSelection←P1140(scene←v6472, sliceD←v10900, selectClass←v6500);
SOURCE(6138, 39)
(void) NoDonkeyTail←P120((* (ptr) sliceD←v10900 ), selectClass←v6500);
};
SOURCE(6182, 144)
if ((selectClass←v6500 == 0)) {
SOURCE(6211, 115)
if ( ( ((* (( (ptr) scene←v6472)+9) ) != 0) ? ((* (ptr) (* (( (ptr) scene←v6472)+9) ) ) == slice←v6444) : 0 ) ) {
SOURCE(6295, 31)
(* (( (ptr) scene←v6472)+9) ) = 0;
};
};
};
}
else {
SOURCE(6335, 134)
{
word entireD←v10944;
SOURCE(6337, 65)
{
word pd41;
pd41 = (* (( (ptr) (* (( (ptr) gf←c29540)+90)/* var←c27300 */ ))+29) );
entireD←v10944 = (word) ( *( (fPt) ((* (ptr) pd41 ))))(slice←v6444, 0, 6, pd41);
};
SOURCE(6404, 63)
(void) DeselectSlice←P780((* (ptr) entireD←v10944 ), (* (( (ptr) entireD←v10944)+1) ), scene←v6472, selectClass←v6500);
};
};
};
}
static void DeselectSlice←P780(slice←v6560, parts←v6588, scene←v6616, selectClass←v6644)
word slice←v6560;
word parts←v6588;
word scene←v6616;
word selectClass←v6644;
{
register ptr gf←c29572 = (ptr) &globalframe;
word oldD←v10988 = 0;
word newD←v11016 = 0;
word tempD←v11044 = 0;
/* DeselectSlice: */
SOURCE(6476, 996)
SOURCE(6620, 49)
{
word pd42;
pd42 = (* (( (ptr) (* (( (ptr) gf←c29572)+88)/* var←c27236 */ ))+8) );
tempD←v11044 = (word) ( *( (fPt) ((* (ptr) pd42 ))))(slice←v6560, parts←v6588, pd42);
};
SOURCE(6671, 61)
{
word pd43;
pd43 = (* (( (ptr) (* (( (ptr) gf←c29572)+89)/* var←c27268 */ ))+84) );
tempD←v11044 = (word) ( *( (fPt) ((* (ptr) pd43 ))))(tempD←v11044, pd43);
};
SOURCE(6734, 50)
oldD←v10988 = (word) FindSelectedSlice←P1860((* (ptr) tempD←v11044 ), selectClass←v6644);
SOURCE(6786, 686)
if ((oldD←v10988 != 0)) {
SOURCE(6805, 46)
{
word pd44;
pd44 = (* (( (ptr) (* (( (ptr) gf←c29572)+90)/* var←c27300 */ ))+31) );
newD←v11016 = (word) ( *( (fPt) ((* (ptr) pd44 ))))(oldD←v10988, tempD←v11044, pd44);
};
SOURCE(6853, 41)
(void) DeleteSelection←P1140(scene←v6616, oldD←v10988, selectClass←v6644);
SOURCE(6896, 37)
(void) NoDonkeyTail←P120((* (ptr) oldD←v10988 ), selectClass←v6644);
SOURCE(6935, 202)
{
word pd45;
pd45 = (* (( (ptr) (* (( (ptr) gf←c29572)+90)/* var←c27300 */ ))+27) );
if ((0 == (word) ( *( (fPt) ((* (ptr) pd45 ))))(newD←v11016, pd45))) {
SOURCE(6979, 78)
if ((selectClass←v6644 == 0)) {
SOURCE(7008, 49)
{
word pd46;
pd46 = (* (( (ptr) (* (( (ptr) gf←c29572)+90)/* var←c27300 */ ))+33) );
newD←v11016 = (word) ( *( (fPt) ((* (ptr) pd46 ))))(newD←v11016, selectClass←v6644, pd46);
};
};
SOURCE(7059, 41)
(void) AppendSelection←P1440(scene←v6616, newD←v11016, selectClass←v6644);
SOURCE(7102, 35)
(void) ChangeDonkeyTail←P60(newD←v11016, selectClass←v6644);
};
};
SOURCE(7142, 330)
if ((selectClass←v6644 == 0)) {
SOURCE(7173, 172)
if ( ( ((* (( (ptr) scene←v6616)+9) ) != 0) ? ((* (ptr) (* (( (ptr) scene←v6616)+9) ) ) == slice←v6560) : 0 ) ) {
SOURCE(7257, 88)
{
word pd47;
pd47 = (* (( (ptr) (* (( (ptr) gf←c29572)+90)/* var←c27300 */ ))+31) );
(* (( (ptr) scene←v6616)+9) ) = (word) ( *( (fPt) ((* (ptr) pd47 ))))((* (( (ptr) scene←v6616)+9) ), tempD←v11044, pd47)
;
};
};
SOURCE(7347, 125)
{
word pd49;
if (((* (( (ptr) scene←v6616)+9) ) == 0)) { goto then048;};
pd49 = (* (( (ptr) (* (( (ptr) gf←c29572)+90)/* var←c27300 */ ))+27) );
if ((0 != (word) ( *( (fPt) ((* (ptr) pd49 ))))((* ((( (ptr) scene←v6616)+9)) ), pd49))) {
then048: ;
SOURCE(7441, 31)
(* (( (ptr) scene←v6616)+9) ) = 0;
};
};
};
};
}
static void DeselectTraj←P840(traj←v6704, scene←v6732, selectClass←v6760)
word traj←v6704;
word scene←v6732;
word selectClass←v6760;
{
register ptr gf←c29604 = (ptr) &globalframe;
word ancestor←v11088;
word oldD←v11116;
/* DeselectTraj: */
SOURCE(7484, 808)
SOURCE(7564, 52)
{
word pd50;
pd50 = (* (( (ptr) (* (( (ptr) gf←c29604)+89)/* var←c27268 */ ))+65) );
ancestor←v11088 = (word) ( *( (fPt) ((* (ptr) pd50 ))))(traj←v6704, pd50);
};
SOURCE(7618, 64)
oldD←v11116 = (word) FindSelectedSlice←P1860(ancestor←v11088, selectClass←v6760);
SOURCE(7684, 608)
if ((oldD←v11116 != 0)) {
SOURCE(7701, 596)
{
word newD←v11160;
SOURCE(7703, 55)
{
word pd51;
pd51 = (* (( (ptr) (* (( (ptr) gf←c29604)+89)/* var←c27268 */ ))+86) );
newD←v11160 = (word) ( *( (fPt) ((* (ptr) pd51 ))))(oldD←v11116, traj←v6704, pd51);
};
SOURCE(7760, 41)
(void) DeleteSelection←P1140(scene←v6732, oldD←v11116, selectClass←v6760);
SOURCE(7803, 35)
(void) NoDonkeyTail←P120(ancestor←v11088, selectClass←v6760);
SOURCE(7840, 122)
{
word pd52;
pd52 = (* (( (ptr) (* (( (ptr) gf←c29604)+90)/* var←c27300 */ ))+27) );
if ((0 == (word) ( *( (fPt) ((* (ptr) pd52 ))))(newD←v11160, pd52))) {
SOURCE(7884, 41)
(void) AppendSelection←P1440(scene←v6732, newD←v11160, selectClass←v6760);
SOURCE(7927, 35)
(void) ChangeDonkeyTail←P60(newD←v11160, selectClass←v6760);
};
};
SOURCE(7967, 325)
if ((selectClass←v6760 == 0)) {
SOURCE(7996, 296)
if ( ( ((* (( (ptr) scene←v6732)+9) ) != 0) ? ((* (ptr) (* (( (ptr) scene←v6732)+9) ) ) == ancestor←v11088) : 0 ) ) {
SOURCE(8085, 80)
{
word pd53;
pd53 = (* (( (ptr) (* (( (ptr) gf←c29604)+89)/* var←c27268 */ ))+86) );
(* (( (ptr) scene←v6732)+9) ) = (word) ( *( (fPt) ((* (ptr) pd53 ))))((* (( (ptr) scene←v6732)+9) ), traj←v6704, pd53);
};
SOURCE(8167, 125)
{
word pd55;
if (((* (( (ptr) scene←v6732)+9) ) == 0)) { goto then054;};
pd55 = (* (( (ptr) (* (( (ptr) gf←c29604)+90)/* var←c27300 */ ))+27) );
if ((0 != (word) ( *( (fPt) ((* (ptr) pd55 ))))((* ((( (ptr) scene←v6732)+9)) ), pd55))) {
then054: ;
SOURCE(8261, 31)
(* (( (ptr) scene←v6732)+9) ) = 0;
};
};
};
};
};
};
}
static void SaveSelectionsInSliceAllClasses←P900(slice←v6820, scene←v6848)
word slice←v6820;
word scene←v6848;
{
register ptr gf←c29636 = (ptr) &globalframe;
word sliceD←v11204 = 0;
/* SaveSelectionsInSliceAllClasses: */
SOURCE(8303, 609)
SOURCE(8406, 41)
sliceD←v11204 = (word) FindSelectedSlice←P1860(slice←v6820, 0);
SOURCE(8449, 84)
{
word pd56;
pd56 = (* (( (ptr) (* (( (ptr) gf←c29636)+90)/* var←c27300 */ ))+20) );
(void) ( *( (fPt) ((* (ptr) pd56 ))))(slice←v6820, ( (sliceD←v11204 == 0) ? 0 : (* (( (ptr) sliceD←v11204)+1) ) ) , 0, pd56)
;
};
SOURCE(8535, 38)
sliceD←v11204 = (word) FindSelectedSlice←P1860(slice←v6820, 1);
SOURCE(8575, 81)
{
word pd57;
pd57 = (* (( (ptr) (* (( (ptr) gf←c29636)+90)/* var←c27300 */ ))+20) );
(void) ( *( (fPt) ((* (ptr) pd57 ))))(slice←v6820, ( (sliceD←v11204 == 0) ? 0 : (* (( (ptr) sliceD←v11204)+1) ) ) , 1, pd57)
;
};
SOURCE(8658, 41)
sliceD←v11204 = (word) FindSelectedSlice←P1860(slice←v6820, 2);
SOURCE(8701, 84)
{
word pd58;
pd58 = (* (( (ptr) (* (( (ptr) gf←c29636)+90)/* var←c27300 */ ))+20) );
(void) ( *( (fPt) ((* (ptr) pd58 ))))(slice←v6820, ( (sliceD←v11204 == 0) ? 0 : (* (( (ptr) sliceD←v11204)+1) ) ) , 2, pd58)
;
};
SOURCE(8787, 40)
sliceD←v11204 = (word) FindSelectedSlice←P1860(slice←v6820, 3);
SOURCE(8829, 83)
{
word pd59;
pd59 = (* (( (ptr) (* (( (ptr) gf←c29636)+90)/* var←c27300 */ ))+20) );
(void) ( *( (fPt) ((* (ptr) pd59 ))))(slice←v6820, ( (sliceD←v11204 == 0) ? 0 : (* (( (ptr) sliceD←v11204)+1) ) ) , 3, pd59)
;
};
}
static word RemakeSelections←P960(slice←v6908, scene←v6936, selectClass←v6964)
word slice←v6908;
word scene←v6936;
word selectClass←v6964;
{
register ptr gf←c29668 = (ptr) &globalframe;
word isTopLevel←v7008;
word parts←v11248;
/* RemakeSelections: */
SOURCE(8918, 374)
SOURCE(8918, 374)
isTopLevel←v7008 = 0;
SOURCE(9038, 67)
{
word pd60;
pd60 = (* (( (ptr) (* (( (ptr) gf←c29668)+90)/* var←c27300 */ ))+21) );
parts←v11248 = (word) ( *( (fPt) ((* (ptr) pd60 ))))(slice←v6908, selectClass←v6964, pd60);
};
SOURCE(9107, 185)
{
word pd61;
pd61 = (* (( (ptr) (* (( (ptr) gf←c29668)+87)/* var←c27172 */ ))+39) );
if ((0 != (word) ( *( (fPt) ((* (ptr) pd61 ))))(slice←v6908, pd61))) {
SOURCE(9143, 46)
(void) DeselectEntireSlice←P720(slice←v6908, scene←v6936, selectClass←v6964);
SOURCE(9219, 54)
(void) SelectSliceFromParts←P240(slice←v6908, parts←v11248, scene←v6936, selectClass←v6964);
SOURCE(9275, 17)
isTopLevel←v7008 = 1;
};
};
SOURCE(8918, 374)
return(isTopLevel←v7008);
}
static void ReselectSliceAllClasses←P1020(slice←v7068, scene←v7096)
word slice←v7068;
word scene←v7096;
{
/* ReselectSliceAllClasses: */
SOURCE(9301, 244)
SOURCE(9371, 43)
{
word var←c27460;
var←c27460 = (word) RemakeSelections←P960(slice←v7068, scene←v7096, 0);
};
SOURCE(9416, 40)
{
word var←c27492;
var←c27492 = (word) RemakeSelections←P960(slice←v7068, scene←v7096, 1);
};
SOURCE(9458, 43)
{
word var←c27524;
var←c27524 = (word) RemakeSelections←P960(slice←v7068, scene←v7096, 2);
};
SOURCE(9503, 42)
{
word var←c27556;
var←c27556 = (word) RemakeSelections←P960(slice←v7068, scene←v7096, 3);
};
}
static word ReselectTraj←P1080(traj←v7156, trajEnd←v7184, scene←v7212, extend←v7240)
word traj←v7156;
word trajEnd←v7184;
word scene←v7212;
word extend←v7240;
{
register ptr gf←c29700 = (ptr) &globalframe;
word newHot←v7284;
word newTrajD←v11292 = 0;
word selSeq←v11320 = 0;
word newSeqParts←v11348 = 0;
word newHotParts←v11376 = 0;
/* ReselectTraj: */
SOURCE(9551, 787)
SOURCE(9551, 787)
newHot←v7284 = 0;
SOURCE(9750, 50)
selSeq←v11320 = (word) FindSelectedSequence←P1800(traj←v7156, scene←v7212, 0);
SOURCE(9802, 218)
if ((selSeq←v11320 != 0)) {
SOURCE(9823, 57)
{
word pd62;
pd62 = (* (( (ptr) (* (( (ptr) gf←c29700)+91)/* var←c27588 */ ))+24) );
newSeqParts←v11348 = (word) ( *( (fPt) ((* (ptr) pd62 ))))(selSeq←v11320, trajEnd←v7184, extend←v7240, pd62);
};
SOURCE(9882, 41)
(void) DeselectTraj←P840((* (ptr) selSeq←v11320 ), scene←v7212, 0);
SOURCE(9925, 57)
{
word pd63;
pd63 = (* (( (ptr) (* (( (ptr) gf←c29700)+88)/* var←c27236 */ ))+8) );
newTrajD←v11292 = (word) ( *( (fPt) ((* (ptr) pd63 ))))(traj←v7156, newSeqParts←v11348, pd63);
};
SOURCE(9984, 36)
(void) SelectSlice←P300(newTrajD←v11292, scene←v7212, 0);
};
SOURCE(10025, 47)
selSeq←v11320 = (word) FindSelectedSequence←P1800(traj←v7156, scene←v7212, 1);
SOURCE(10074, 264)
if ((selSeq←v11320 != 0)) {
SOURCE(10095, 71)
{
word var←c27620;
{
word pd64;
pd64 = (* (( (ptr) (* (( (ptr) gf←c29700)+91)/* var←c27588 */ ))+24) );
var←c27620 = (word) ( *( (fPt) ((* (ptr) pd64 ))))(selSeq←v11320, trajEnd←v7184, extend←v7240, pd64);
};
newSeqParts←v11348 = var←c27620;
newHotParts←v11376 = var←c27620;
};
SOURCE(10168, 38)
(void) DeselectTraj←P840((* (ptr) selSeq←v11320 ), scene←v7212, 1);
SOURCE(10237, 66)
{
word var←c27652;
{
word pd65;
pd65 = (* (( (ptr) (* (( (ptr) gf←c29700)+88)/* var←c27236 */ ))+8) );
var←c27652 = (word) ( *( (fPt) ((* (ptr) pd65 ))))(traj←v7156, newSeqParts←v11348, pd65);
};
newHot←v7284 = var←c27652;
newTrajD←v11292 = var←c27652;
};
SOURCE(10305, 33)
(void) SelectSlice←P300(newTrajD←v11292, scene←v7212, 1);
};
SOURCE(9551, 787)
return(newHot←v7284);
}
static void DeleteSelection←P1140(scene←v7344, entity←v7372, selectClass←v7400)
word scene←v7344;
word entity←v7372;
word selectClass←v7400;
{
/* DeleteSelection: */
SOURCE(10347, 181)
SOURCE(10442, 86)
{
word var←c27684;
{
word var←c27716;
var←c27716 = (word) ListSelected←P1200(scene←v7344, selectClass←v7400);
var←c27684 = (word) DRemove←P2100(entity←v7372, var←c27716);
};
(void) SetSelectedList←P1560(scene←v7344, var←c27684, selectClass←v7400);
};
}
static word ListSelected←P1200(scene←v7460, selectClass←v7488)
word scene←v7460;
word selectClass←v7488;
{
word selectedList←v7532;
/* ListSelected: */
SOURCE(10534, 328)
SOURCE(10534, 328)
selectedList←v7532 = 0;
SOURCE(10656, 206)
{
word var←c27748;
var←c27748 = selectClass←v7488;
switch (var←c27748) {
case 0:
SOURCE(10690, 36)
selectedList←v7532 = (* (( (ptr) scene←v7460)+6) );
break;
case 1:
SOURCE(10735, 33)
selectedList←v7532 = (* (( (ptr) scene←v7460)+10) );
break;
case 2:
SOURCE(10780, 36)
selectedList←v7532 = (* (( (ptr) scene←v7460)+13) );
break;
case 3:
SOURCE(10827, 35)
selectedList←v7532 = (* (( (ptr) scene←v7460)+16) );
break;
default:
SOURCE(10875, 5)
(void) XR←RaiseUnnamedError();
break;
};
};
SOURCE(10534, 328)
return(selectedList←v7532);
}
static void SetSelected←P1260(scene←v7676, selectClass←v7704, selected←v7732)
word scene←v7676;
word selectClass←v7704;
word selected←v7732;
{
/* SetSelected: */
SOURCE(10886, 227)
SOURCE(10994, 119)
{
register word list←v11420;
list←v11420 = selected←v7732;
lab←L100008: ;
if ((list←v11420 != 0)) {
}
else {
goto lab←L100005;
};
SOURCE(11070, 43)
(void) SelectSlice←P300((* (ptr) list←v11420 ), scene←v7676, selectClass←v7704);
list←v11420 = (* (( (ptr) list←v11420)+1) );
goto lab←L100008;
lab←L100005: ;
};
}
static void SetJointField←P1320(joint←v7876, selected←v7904, selectClass←v7932)
word joint←v7876;
word selected←v7904;
word selectClass←v7932;
{
/* SetJointField: */
SOURCE(11128, 303)
SOURCE(11213, 218)
{
word var←c27780;
var←c27780 = selectClass←v7932;
switch (var←c27780) {
case 0:
SOURCE(11247, 39)
(* (( (ptr) joint←v7876)+2) ) = selected←v7904;
break;
case 1:
SOURCE(11295, 36)
(* (( (ptr) joint←v7876)+3) ) = selected←v7904;
break;
case 2:
SOURCE(11343, 39)
(* (( (ptr) joint←v7876)+4) ) = selected←v7904;
break;
case 3:
SOURCE(11393, 38)
(* (( (ptr) joint←v7876)+5) ) = selected←v7904;
break;
};
};
}
static void SetSegmentField←P1380(seg←v7992, selected←v8020, selectClass←v8048)
word seg←v7992;
word selected←v8020;
word selectClass←v8048;
{
/* SetSegmentField: */
SOURCE(11446, 297)
SOURCE(11533, 210)
{
word var←c27812;
var←c27812 = selectClass←v8048;
switch (var←c27812) {
case 0:
SOURCE(11567, 37)
(* (( (ptr) seg←v7992)+17) ) = selected←v8020;
break;
case 1:
SOURCE(11613, 34)
(* (( (ptr) seg←v7992)+18) ) = selected←v8020;
break;
case 2:
SOURCE(11659, 37)
(* (( (ptr) seg←v7992)+19) ) = selected←v8020;
break;
case 3:
SOURCE(11707, 36)
(* (( (ptr) seg←v7992)+20) ) = selected←v8020;
break;
};
};
}
static void AppendSelection←P1440(scene←v8108, entity←v8136, selectClass←v8164)
word scene←v8108;
word entity←v8136;
word selectClass←v8164;
{
register ptr gf←c29732 = (ptr) &globalframe;
/* AppendSelection: */
SOURCE(11758, 2267)
SOURCE(11853, 2172)
{
word var←c27844;
var←c27844 = selectClass←v8164;
switch (var←c27844) {
case 0:
SOURCE(11889, 535)
if (((* (( (ptr) scene←v8108)+6) ) == 0)) {
SOURCE(11927, 36)
{
word var←c27876;
word var←c27908;
var←c27876 = XR←NewObject(8, (* (( (ptr) gf←c29732)+10) ));
var←c27908 = var←c27876;
(* (ptr) var←c27908 ) = entity←v8136;
(* (( (ptr) scene←v8108)+6) ) = var←c27876;
};
SOURCE(11965, 48)
(* (( (ptr) scene←v8108)+7) ) = (* (( (ptr) scene←v8108)+6) );
SOURCE(12015, 36)
(* (( (ptr) scene←v8108)+8) ) = 1;
}
else {
SOURCE(12060, 364)
if ((0 != (* (( (ptr) scene←v8108)+8) ))) {
SOURCE(12100, 44)
{
word var←c27940;
word var←c27972;
var←c27940 = XR←NewObject(8, (* (( (ptr) gf←c29732)+10) ));
var←c27972 = var←c27940;
(* (ptr) var←c27972 ) = entity←v8136;
(* (( (ptr) (* (( (ptr) scene←v8108)+7) ))+1) ) = var←c27940;
};
SOURCE(12146, 56)
(* (( (ptr) scene←v8108)+7) ) = (* (( (ptr) (* (( (ptr) scene←v8108)+7) ))+1) );
}
else {
SOURCE(12213, 69)
(* (( (ptr) scene←v8108)+7) ) = (word) LastSliceDescriptor←P1500((* ((( (ptr) scene←v8108)+6)) ));
SOURCE(12284, 44)
{
word var←c28004;
word var←c28036;
var←c28004 = XR←NewObject(8, (* (( (ptr) gf←c29732)+10) ));
var←c28036 = var←c28004;
(* (ptr) var←c28036 ) = entity←v8136;
(* (( (ptr) (* (( (ptr) scene←v8108)+7) ))+1) ) = var←c28004;
};
SOURCE(12330, 56)
(* (( (ptr) scene←v8108)+7) ) = (* (( (ptr) (* (( (ptr) scene←v8108)+7) ))+1) );
SOURCE(12388, 36)
(* (( (ptr) scene←v8108)+8) ) = 1;
};
};
break;
case 1:
SOURCE(12441, 490)
if (((* (( (ptr) scene←v8108)+10) ) == 0)) {
SOURCE(12476, 33)
{
word var←c28068;
word var←c28100;
var←c28068 = XR←NewObject(8, (* (( (ptr) gf←c29732)+10) ));
var←c28100 = var←c28068;
(* (ptr) var←c28100 ) = entity←v8136;
(* (( (ptr) scene←v8108)+10) ) = var←c28068;
};
SOURCE(12511, 42)
(* (( (ptr) scene←v8108)+11) ) = (* (( (ptr) scene←v8108)+10) );
SOURCE(12555, 33)
(* (( (ptr) scene←v8108)+12) ) = 1;
}
else {
SOURCE(12597, 334)
if ((0 != (* (( (ptr) scene←v8108)+12) ))) {
SOURCE(12634, 41)
{
word var←c28132;
word var←c28164;
var←c28132 = XR←NewObject(8, (* (( (ptr) gf←c29732)+10) ));
var←c28164 = var←c28132;
(* (ptr) var←c28164 ) = entity←v8136;
(* (( (ptr) (* (( (ptr) scene←v8108)+11) ))+1) ) = var←c28132;
};
SOURCE(12677, 50)
(* (( (ptr) scene←v8108)+11) ) = (* (( (ptr) (* (( (ptr) scene←v8108)+11) ))+1) );
}
else {
SOURCE(12738, 63)
(* (( (ptr) scene←v8108)+11) ) = (word) LastSliceDescriptor←P1500((* ((( (ptr) scene←v8108)+10)) ));
SOURCE(12803, 41)
{
word var←c28196;
word var←c28228;
var←c28196 = XR←NewObject(8, (* (( (ptr) gf←c29732)+10) ));
var←c28228 = var←c28196;
(* (ptr) var←c28228 ) = entity←v8136;
(* (( (ptr) (* (( (ptr) scene←v8108)+11) ))+1) ) = var←c28196;
};
SOURCE(12846, 50)
(* (( (ptr) scene←v8108)+11) ) = (* (( (ptr) (* (( (ptr) scene←v8108)+11) ))+1) );
SOURCE(12898, 33)
(* (( (ptr) scene←v8108)+12) ) = 1;
};
};
break;
case 2:
SOURCE(12951, 535)
if (((* (( (ptr) scene←v8108)+13) ) == 0)) {
SOURCE(12989, 36)
{
word var←c28260;
word var←c28292;
var←c28260 = XR←NewObject(8, (* (( (ptr) gf←c29732)+10) ));
var←c28292 = var←c28260;
(* (ptr) var←c28292 ) = entity←v8136;
(* (( (ptr) scene←v8108)+13) ) = var←c28260;
};
SOURCE(13027, 48)
(* (( (ptr) scene←v8108)+14) ) = (* (( (ptr) scene←v8108)+13) );
SOURCE(13077, 36)
(* (( (ptr) scene←v8108)+15) ) = 1;
}
else {
SOURCE(13122, 364)
if ((0 != (* (( (ptr) scene←v8108)+15) ))) {
SOURCE(13162, 44)
{
word var←c28324;
word var←c28356;
var←c28324 = XR←NewObject(8, (* (( (ptr) gf←c29732)+10) ));
var←c28356 = var←c28324;
(* (ptr) var←c28356 ) = entity←v8136;
(* (( (ptr) (* (( (ptr) scene←v8108)+14) ))+1) ) = var←c28324;
};
SOURCE(13208, 56)
(* (( (ptr) scene←v8108)+14) ) = (* (( (ptr) (* (( (ptr) scene←v8108)+14) ))+1) );
}
else {
SOURCE(13275, 69)
(* (( (ptr) scene←v8108)+14) ) = (word) LastSliceDescriptor←P1500((* ((( (ptr) scene←v8108)+13)) ));
SOURCE(13346, 44)
{
word var←c28388;
word var←c28420;
var←c28388 = XR←NewObject(8, (* (( (ptr) gf←c29732)+10) ));
var←c28420 = var←c28388;
(* (ptr) var←c28420 ) = entity←v8136;
(* (( (ptr) (* (( (ptr) scene←v8108)+14) ))+1) ) = var←c28388;
};
SOURCE(13392, 56)
(* (( (ptr) scene←v8108)+14) ) = (* (( (ptr) (* (( (ptr) scene←v8108)+14) ))+1) );
SOURCE(13450, 36)
(* (( (ptr) scene←v8108)+15) ) = 1;
};
};
break;
case 3:
SOURCE(13505, 520)
if (((* (( (ptr) scene←v8108)+16) ) == 0)) {
SOURCE(13542, 35)
{
word var←c28452;
word var←c28484;
var←c28452 = XR←NewObject(8, (* (( (ptr) gf←c29732)+10) ));
var←c28484 = var←c28452;
(* (ptr) var←c28484 ) = entity←v8136;
(* (( (ptr) scene←v8108)+16) ) = var←c28452;
};
SOURCE(13579, 46)
(* (( (ptr) scene←v8108)+17) ) = (* (( (ptr) scene←v8108)+16) );
SOURCE(13627, 35)
(* (( (ptr) scene←v8108)+18) ) = 1;
}
else {
SOURCE(13671, 354)
if ((0 != (* (( (ptr) scene←v8108)+18) ))) {
SOURCE(13710, 43)
{
word var←c28516;
word var←c28548;
var←c28516 = XR←NewObject(8, (* (( (ptr) gf←c29732)+10) ));
var←c28548 = var←c28516;
(* (ptr) var←c28548 ) = entity←v8136;
(* (( (ptr) (* (( (ptr) scene←v8108)+17) ))+1) ) = var←c28516;
};
SOURCE(13755, 54)
(* (( (ptr) scene←v8108)+17) ) = (* (( (ptr) (* (( (ptr) scene←v8108)+17) ))+1) );
}
else {
SOURCE(13820, 67)
(* (( (ptr) scene←v8108)+17) ) = (word) LastSliceDescriptor←P1500((* ((( (ptr) scene←v8108)+16)) ));
SOURCE(13889, 43)
{
word var←c28580;
word var←c28612;
var←c28580 = XR←NewObject(8, (* (( (ptr) gf←c29732)+10) ));
var←c28612 = var←c28580;
(* (ptr) var←c28612 ) = entity←v8136;
(* (( (ptr) (* (( (ptr) scene←v8108)+17) ))+1) ) = var←c28580;
};
SOURCE(13934, 54)
(* (( (ptr) scene←v8108)+17) ) = (* (( (ptr) (* (( (ptr) scene←v8108)+17) ))+1) );
SOURCE(13990, 35)
(* (( (ptr) scene←v8108)+18) ) = 1;
};
};
break;
default:
SOURCE(14044, 5)
(void) XR←RaiseUnnamedError();
break;
};
};
}
static word LastSliceDescriptor←P1500(sliceDList←v8224)
word sliceDList←v8224;
{
register word last←v8352;
/* LastSliceDescriptor: */
SOURCE(14055, 173)
SOURCE(14055, 173)
last←v8352 = 0;
SOURCE(14163, 65)
last←v8352 = sliceDList←v8224;
lab←L100012: ;
if (((* (( (ptr) last←v8352)+1) ) != 0)) {
}
else {
goto lab←L100009;
};
last←v8352 = (* (( (ptr) last←v8352)+1) );
goto lab←L100012;
lab←L100009: ;
SOURCE(14055, 173)
return(last←v8352);
}
static void SetSelectedList←P1560(scene←v8496, value←v8524, selectClass←v8552)
word scene←v8496;
word value←v8524;
word selectClass←v8552;
{
/* SetSelectedList: */
SOURCE(14234, 449)
SOURCE(14336, 347)
{
word var←c28644;
var←c28644 = selectClass←v8552;
switch (var←c28644) {
case 0:
SOURCE(14372, 29)
(* (( (ptr) scene←v8496)+6) ) = value←v8524;
SOURCE(14403, 37)
(* (( (ptr) scene←v8496)+8) ) = 0;
break;
case 1:
SOURCE(14454, 26)
(* (( (ptr) scene←v8496)+10) ) = value←v8524;
SOURCE(14482, 34)
(* (( (ptr) scene←v8496)+12) ) = 0;
break;
case 2:
SOURCE(14533, 29)
(* (( (ptr) scene←v8496)+13) ) = value←v8524;
SOURCE(14564, 37)
(* (( (ptr) scene←v8496)+15) ) = 0;
break;
case 3:
SOURCE(14617, 28)
(* (( (ptr) scene←v8496)+16) ) = value←v8524;
SOURCE(14647, 36)
(* (( (ptr) scene←v8496)+18) ) = 0;
break;
default:
SOURCE(14699, 5)
(void) XR←RaiseUnnamedError();
break;
};
};
}
static word IsSelectedInFull←P1620(slice←v8696, scene←v8724, selectClass←v8752)
word slice←v8696;
word scene←v8724;
word selectClass←v8752;
{
register ptr gf←c29764 = (ptr) &globalframe;
word var←c8796;
word donkeyTail←v11548;
/* IsSelectedInFull: */
SOURCE(14711, 405)
SOURCE(14818, 210)
{
word var←c28676;
var←c28676 = selectClass←v8752;
switch (var←c28676) {
case 3:
donkeyTail←v11548 = (* (( (ptr) slice←v8696)+10) );
break;
case 2:
donkeyTail←v11548 = (* (( (ptr) slice←v8696)+9) );
break;
case 1:
donkeyTail←v11548 = (* (( (ptr) slice←v8696)+8) );
break;
case 0:
donkeyTail←v11548 = (* (( (ptr) slice←v8696)+7) );
break;
default:
donkeyTail←v11548 = (
XR←RaiseUnnamedError(), 0
);
break;
};
};
SOURCE(15030, 38)
if ((donkeyTail←v11548 == 0)) {
SOURCE(15055, 13)
return(0);
};
SOURCE(15070, 46)
{
word pd66;
pd66 = (* (( (ptr) (* (( (ptr) gf←c29764)+90)/* var←c27300 */ ))+28) );
return((word) ( *( (fPt) ((* (ptr) pd66 ))))(donkeyTail←v11548, pd66));
};
}
static word IsSelectedInPart←P1680(entity←v8856, scene←v8884, selectClass←v8912)
word entity←v8856;
word scene←v8884;
word selectClass←v8912;
{
register ptr gf←c29796 = (ptr) &globalframe;
word var←c8968;
/* IsSelectedInPart: */
SOURCE(15122, 559)
SOURCE(15232, 449)
{
word var←c28740;
word var←c28772;
var←c28740 = entity←v8856;
if ((var←c28740 == 0)) {
goto lab←L100013;
};
var←c28772 = XR←GetReferentType(var←c28740);
{
word var←c28836;
var←c28836 = (* (( (ptr) gf←c29796)+8) );
if ((var←c28836 == var←c28772)) {
{
word slice←v11592;
slice←v11592 = var←c28740;
SOURCE(15272, 89)
{
word sliceD←v11636;
SOURCE(15274, 63)
sliceD←v11636 = (word) FindSelectedSlice←P1860(slice←v11592, selectClass←v8912);
SOURCE(15339, 20)
return( (unsigned) (sliceD←v11636 != 0));
};
};
};
if ((var←c28836 == var←c28772)) {
{
word traj←v11680;
traj←v11680 = var←c28740;
SOURCE(15379, 90)
{
word seq←v11724 = 0;
SOURCE(15396, 52)
seq←v11724 = (word) FindSelectedSequence←P1800(traj←v11680, scene←v8884, selectClass←v8912);
SOURCE(15450, 17)
return( (unsigned) (seq←v11724 != 0));
};
};
};
if (((* (( (ptr) gf←c29796)+9) ) == var←c28772)) {
{
word seq←v11768;
seq←v11768 = var←c28740;
SOURCE(15489, 194)
{
word selSeq←v11812 = 0;
SOURCE(15509, 60)
selSeq←v11812 = (word) FindSelectedSequence←P1800((* (ptr) seq←v11768 ), scene←v8884, selectClass←v8912);
SOURCE(15571, 33)
if ((selSeq←v11812 == seq←v11768)) {
SOURCE(15592, 12)
return(1);
};
SOURCE(15606, 34)
if ((selSeq←v11812 == 0)) {
SOURCE(15627, 13)
return(0);
};
SOURCE(15642, 39)
{
word pd68;
pd68 = (* (( (ptr) (* (( (ptr) gf←c29796)+91)/* var←c27588 */ ))+28) );
return((word) ( *( (fPt) ((* (ptr) pd68 ))))(seq←v11768, selSeq←v11812, pd68));
};
};
};
};
lab←L100013: ;
SOURCE(15697, 5)
(void) XR←RaiseUnnamedError();
goto endif067;
endif067: ;
};
};
}
static word NoSelections←P1740(scene←v9028, selectClass←v9056)
word scene←v9028;
word selectClass←v9056;
{
word var←c9100;
/* NoSelections: */
SOURCE(15707, 291)
SOURCE(15796, 202)
{
word var←c28868;
var←c28868 = selectClass←v9056;
switch (var←c28868) {
case 0:
SOURCE(15830, 35)
return( (unsigned) ((* (( (ptr) scene←v9028)+6) ) == 0));
case 1:
SOURCE(15874, 32)
return( (unsigned) ((* (( (ptr) scene←v9028)+10) ) == 0));
case 2:
SOURCE(15918, 35)
return( (unsigned) ((* (( (ptr) scene←v9028)+13) ) == 0));
case 3:
SOURCE(15964, 34)
return( (unsigned) ((* (( (ptr) scene←v9028)+16) ) == 0));
default:
SOURCE(16011, 5)
(void) XR←RaiseUnnamedError();
break;
};
};
}
static word FindSelectedSequence←P1800(formal←c0289, scene←v9188, selectClass←v9216)
word formal←c0289;
word scene←v9188;
word selectClass←v9216;
{
W8 var←c29828;
/* declaration of traj←v9160 skipped */
register ptr gf←c29860 = (ptr) &globalframe;
/* declaration of seq←v9260 skipped */
/* declaration of var←c28900 skipped */
var←c29828.f4/* traj←v9160 */ = formal←c0289;
/* FindSelectedSequence: */
SOURCE(16022, 383)
{
word tmpAddr69;
tmpAddr69 = (word) (( (ptr) &var←c29828)+6)/* var←c28900 */ ;
(* (ptr) tmpAddr69 ) = ( ((word) (fPt) LookForTraj←P2904) );
(* (( (ptr) tmpAddr69) + 1) ) = 1;
};
SOURCE(16022, 383)
var←c29828.f5/* seq←v9260 */ = 0;
SOURCE(16328, 77)
{
word var←c28932;
word pd70;
pd70 = (* (( (ptr) (* (( (ptr) gf←c29860)+87)/* var←c27172 */ ))+32) );
var←c28932 = (word) ( *( (fPt) ((* (ptr) pd70 ))))(scene←v9188, 1, (word) (( (bPt) &var←c29828)+24)/* var←c28900 */ , selectClass←v9216, (* (
( (ptr) gf←c29860)+12) ), pd70);
};
SOURCE(16022, 383)
return(var←c29828.f5/* seq←v9260 */ );
}
static word LookForTraj←P2904(sliceD←v11932, formal←c29892)
word sliceD←v11932;
word formal←c29892;
{
word done←v11976;
formal←c29892 = (formal←c29892 - 24);
/* LookForTraj: */
SOURCE(16190, 130)
SOURCE(16190, 130)
done←v11976 = 0;
SOURCE(16267, 53)
if (((* (ptr) sliceD←v11932 ) == (* (( (ptr) formal←c29892)+4) ))) {
SOURCE(16295, 12)
(* (( (ptr) formal←c29892)+5) ) = sliceD←v11932;
SOURCE(16309, 11)
done←v11976 = 1;
};
SOURCE(16190, 130)
return(done←v11976);
}
static word FindSelectedSlice←P1860(slice←v9320, selectClass←v9348)
word slice←v9320;
word selectClass←v9348;
{
word sliceD←v9392;
/* FindSelectedSlice: */
SOURCE(16411, 311)
SOURCE(16411, 311)
sliceD←v9392 = 0;
SOURCE(16524, 198)
{
word var←c28964;
var←c28964 = selectClass←v9348;
switch (var←c28964) {
case 0:
SOURCE(16558, 34)
sliceD←v9392 = (* (( (ptr) slice←v9320)+7) );
break;
case 1:
SOURCE(16601, 31)
sliceD←v9392 = (* (( (ptr) slice←v9320)+8) );
break;
case 2:
SOURCE(16644, 34)
sliceD←v9392 = (* (( (ptr) slice←v9320)+9) );
break;
case 3:
SOURCE(16689, 33)
sliceD←v9392 = (* (( (ptr) slice←v9320)+10) );
break;
default:
SOURCE(16735, 5)
(void) XR←RaiseUnnamedError();
break;
};
};
SOURCE(16411, 311)
return(sliceD←v9392);
}
static word GetLastSelection←P1920(scene←v9452)
word scene←v9452;
{
word sliceD←v9496;
/* GetLastSelection: */
SOURCE(16746, 117)
SOURCE(16746, 117)
sliceD←v9496 = 0;
SOURCE(16829, 34)
sliceD←v9496 = (* (( (ptr) scene←v9452)+9) );
SOURCE(16746, 117)
return(sliceD←v9496);
}
static void SubstituteForSegment←P1980(formal←c0247, traj←v9556, segNum←v9584, newRun←v9612, scene←v9640)
word formal←c0247;
word traj←v9556;
word segNum←v9584;
word newRun←v9612;
word scene←v9640;
{
register ptr gf←c29924 = (ptr) &globalframe;
word bBox←v9684;
word newTraj←v9712;
word newOutlines←v12004 = 0;
word trajData←v12032;
word runParts←v12060;
word run←v12088;
word oldOutline←v12116;
word newOutline←v12144 = 0;
word priority←v12172;
/* SubstituteForSegment: */
SOURCE(16869, 866)
SOURCE(16869, 866)
bBox←v9684 = 0;
SOURCE(16869, 866)
newTraj←v9712 = 0;
SOURCE(17032, 38)
trajData←v12032 = XR←Narrow((* (( (ptr) traj←v9556)+1) ), (* (( (ptr) gf←c29924)+11) ));
SOURCE(17072, 68)
{
word pd71;
pd71 = (* (( (ptr) (* (( (ptr) gf←c29924)+91)/* var←c27588 */ ))+9) );
runParts←v12060 = (word) ( *( (fPt) ((* (ptr) pd71 ))))(trajData←v12032, segNum←v9584, pd71);
};
SOURCE(17142, 66)
{
word pd72;
pd72 = (* (( (ptr) (* (( (ptr) gf←c29924)+88)/* var←c27236 */ ))+8) );
run←v12088 = (word) ( *( (fPt) ((* (ptr) pd72 ))))(traj←v9556, runParts←v12060, pd72);
};
SOURCE(17210, 44)
{
word pd73;
pd73 = (* (( (ptr) (* (( (ptr) gf←c29924)+89)/* var←c27268 */ ))+64) );
oldOutline←v12116 = (word) ( *( (fPt) ((* (ptr) pd73 ))))(traj←v9556, pd73);
};
SOURCE(17275, 54)
{
word pd74;
pd74 = (* (( (ptr) (* (( (ptr) gf←c29924)+87)/* var←c27172 */ ))+21) );
priority←v12172 = (word) ( *( (fPt) ((* (ptr) pd74 ))))(scene←v9640, oldOutline←v12116, pd74);
};
SOURCE(17332, 55)
{
word pd75;
pd75 = (* (( (ptr) (* (( (ptr) gf←c29924)+92)/* var←c28996 */ ))+14) );
(void) ( *( (fPt) ((* (ptr) pd75 ))))(oldOutline←v12116, pd75);
};
SOURCE(17389, 33)
(void) DeselectTraj←P840(traj←v9556, scene←v9640, 0);
SOURCE(17424, 30)
(void) DeselectTraj←P840(traj←v9556, scene←v9640, 1);
SOURCE(17456, 38)
{
word pd76;
pd76 = (* (( (ptr) (* (( (ptr) gf←c29924)+93)/* var←c29028 */ ))+20) );
newTraj←v9712 = (word) ( *( (fPt) ((* (ptr) pd76 ))))(run←v12088, newRun←v9612, pd76);
};
SOURCE(17496, 40)
{
word pd77;
pd77 = (* (( (ptr) (* (( (ptr) gf←c29924)+89)/* var←c27268 */ ))+64) );
newOutline←v12144 = (word) ( *( (fPt) ((* (ptr) pd77 ))))(newTraj←v9712, pd77);
};
SOURCE(17538, 38)
{
word pd78;
pd78 = (* (( (ptr) (* (( (ptr) gf←c29924)+87)/* var←c27172 */ ))+13) );
(void) ( *( (fPt) ((* (ptr) pd78 ))))(scene←v9640, oldOutline←v12116, pd78);
};
SOURCE(17578, 114)
if ((newOutline←v12144 != 0)) {
SOURCE(17603, 45)
{
word pd79;
pd79 = (* (( (ptr) (* (( (ptr) gf←c29924)+87)/* var←c27172 */ ))+9) );
(void) ( *( (fPt) ((* (ptr) pd79 ))))(scene←v9640, newOutline←v12144, priority←v12172, pd79);
};
SOURCE(17650, 42)
(void) ReselectSliceAllClasses←P1020(newOutline←v12144, scene←v9640);
};
SOURCE(17697, 38)
bBox←v9684 = (word) BoundBoxOfOutlines←P2040(newOutlines←v12004);
/* removed tail goto */
(* (ptr) formal←c0247 ) = bBox←v9684;
(* (( (ptr) formal←c0247)+1) ) = newTraj←v9712;
return;
}
static word BoundBoxOfOutlines←P2040(outlines←v9772)
word outlines←v9772;
{
register ptr gf←c29956 = (ptr) &globalframe;
word bBox←v9900;
/* BoundBoxOfOutlines: */
SOURCE(17741, 256)
SOURCE(17741, 256)
bBox←v9900 = 0;
SOURCE(17821, 32)
{
word pd80;
pd80 = (* (( (ptr) (* (( (ptr) gf←c29956)+94)/* var←c29060 */ ))+6) );
bBox←v9900 = (word) ( *( (fPt) ((* (ptr) pd80 ))))(pd80);
};
SOURCE(17855, 142)
{
register word list←v12300;
list←v12300 = outlines←v9772;
lab←L100018: ;
if ((list←v12300 != 0)) {
}
else {
goto lab←L100015;
};
SOURCE(17921, 76)
{
word var←c29092;
{
word pd81;
pd81 = (* (( (ptr) (* (( (ptr) gf←c29956)+90)/* var←c27300 */ ))+7) );
var←c29092 = (word) ( *( (fPt) ((* (ptr) pd81 ))))((* (ptr) list←v12300 ), 0, pd81);
};
{
word pd82;
pd82 = (* (( (ptr) (* (( (ptr) gf←c29956)+94)/* var←c29060 */ ))+14) );
(void) ( *( (fPt) ((* (ptr) pd82 ))))(bBox←v9900, var←c29092, pd82);
};
};
list←v12300 = (* (( (ptr) list←v12300)+1) );
goto lab←L100018;
lab←L100015: ;
};
SOURCE(17741, 256)
return(bBox←v9900);
}
static word DRemove←P2100(ref←v9960, list←v9988)
word ref←v9960;
word list←v9988;
{
word var←c10116;
word l←v12428 = 0;
word l1←v12456 = 0;
/* DRemove: */
SOURCE(18012, 335)
SOURCE(18156, 8)
l←v12428 = list←v9988;
SOURCE(18166, 157)
lab←L100021: ;
if ((l←v12428 != 0)) {
}
else {
goto lab←L100019;
};
SOURCE(18183, 117)
if (((* (ptr) l←v12428 ) == ref←v9960)) {
SOURCE(18205, 31)
if ((l1←v12456 == 0)) {
SOURCE(18222, 14)
return((* (( (ptr) l←v12428)+1) ));
};
SOURCE(18270, 16)
(* (( (ptr) l1←v12456)+1) ) = (* (( (ptr) l←v12428)+1) );
SOURCE(18288, 12)
return(list←v9988);
};
SOURCE(18305, 6)
l1←v12456 = l←v12428;
SOURCE(18313, 10)
l←v12428 = (* (( (ptr) l←v12428)+1) );
goto lab←L100021;
lab←L100019: ;
SOURCE(18334, 13)
return(list←v9988);
}
/* file: GGSelectImpl, module: GGSelectImpl, compiled at: July 11, 1993 8:19:35 pm PDT */
extern void XR←install←GGSelectImpl() {
NoName←Q3012();
}
extern void XR←run←GGSelectImpl() { XR←Start(&globalframe); }