/* Generated with C2C (Cedar To C)*/
/* Copyright (C) 1993 by Xerox Corporation. All rights reserved. */
/* time: July 11, 1993 8:19:11 pm PDT */
/* C2C version: April 20, 1993 (sun4) */
/* ref-counting: off */
/* file: GGOutlineImplB, module: GGOutlineImplB */
/* switches: bcfhklnouw */
#include <cedar/InstallationSupport.h>
#include <cedar/CedarExtra.h>
static char versionStamp[] = "@(#)mob←version [2079818077,1001739096] GGOutlineImplB";
typedef unsigned word, *ptr;
typedef unsigned char byte, *bPt;
typedef unsigned short half, *hPt;
typedef struct {word f0, f1;} W2;
typedef word (*fPt)();
typedef struct {word f0, f1, f2, f3, f4, f5, f6;} W7;
typedef W2 *W2Pt;
typedef struct {word f0, f1, f2, f3, f4;} W5;
typedef struct {word f0, f1, f2, f3, f4, f5, f6, f7;} W8;
typedef struct {word f0, f1, f2;} W3;
typedef struct {W8 f; W3 r;} W11;
typedef struct {word f0, f1, f2, f3;} W4;
typedef W4 *W4Pt;
typedef struct {word f0, f1, f2, f3, f4, f5;} W6;
typedef struct {W8 f; W6 r;} W14;
typedef struct {W8 f; W2 r;} W10;
typedef struct {W8 f; word r;} W9;
#define SOURCE(p, l) /* source p, l */
static float fc48 = 0.0;
static float fc49 = -1.0;
static float fc52 = 1E16;
#define SGNCK(i) ((int) (word) (i) < 0 ? XR←RaiseArithmeticFault(): i )
#define BCK(idx, lim) ( ((unsigned) idx) >= ((unsigned) lim) ? (XR←RaiseBoundsFault()) : (idx) )
static void NoName←Q10788();
static void GGOutlineImplB←P0();
static void BuildMoreOutlineSliceClass←P60();
static void BuildMoreClusterSliceClass←P120();
static void ClosestPoint←P180();
static void ClosestJointToHitData←P240();
static void ClosestSegment←P300();
static void ClusterFilledPathsUnderPoint←P360();
static void OutlineFilledPathsUnderPoint←P420();
static void LineIntersection←P480();
static void CircleIntersection←P540();
static word HitDataAsSimpleCurve←P600();
static void PathOfHitData←P660();
static void SetDefaults←P720();
static void ChildSetDefaults←P5988();
static word SetStrokeWidth←P780();
static void GetStrokeWidth←P840();
static word DoCheckStrokeWidth←P6240();
static void SetStrokeEnd←P900();
static void GetStrokeEnd←P960();
static word DoCheckStrokeEnd←P6396();
static void SetStrokeJoint←P1020();
static void GetStrokeJoint←P1080();
static word DoCheckStrokeJoint←P6552();
static void SetStrokeColor←P1140();
static void GetStrokeColor←P1200();
static word DoCheckStrokeColor←P6708();
static void SetFillColor←P1260();
static void OutlineGetFillColor←P1320();
static void GetFillColor←P1380();
static word DoCheckFillColor←P6912();
static void SetDashed←P1440();
static void GetDashed←P1500();
static word DoCheckDashes←P7068();
static word SetOrientation←P1560();
static void GetOrientation←P1620();
static word DoCheckOrientation←P7224();
static word CreateOutline←P1680();
static word AddChild←P1740();
static word ReplaceFirstChild←P1800();
static word ReplaceChild←P1860();
static word ReplaceRunsInOutline←P1920();
static void SetWrapRule←P1980();
static word GetWrapRule←P2040();
static void SetFillText←P2100();
static word PutTextInBox←P7716();
static word DescriptorFromChildDescriptor←P2160();
static word DescriptorFromChild←P2220();
static word TopLevelDescriptorFromChildDescriptor←P2280();
static word ChildDescriptorFromDescriptor←P2340();
static word RemoveTraj←P2400();
static word OutlineRemoveTraj←P2460();
static word DeleteControlPoints←P2520();
static word DoDelete←P8112();
static void SaveSelectionsInOutlineAllClasses←P2580();
static void SaveSelectionsAux←P8172();
static word DoSaveSelections←P8376();
static void UnpackHitData←P2640();
static void UnpackOneSegmentDescriptor←P2700();
static void UnpackSimpleDescriptor←P2760();
static word FindTrajShapeInOutline←P2820();
static word MatchTraj←P8532();
static word TrajsInOutline←P2880();
static word TrajectoriesOfOutline←P2940();
static word ListHoles←P3000();
static word HasHoles←P3060();
static word Parts←P3120();
static word PartsList←P3180();
static word Parts2←P3240();
static word Children←P3300();
static word ChildList←P3360();
static word WalkChildren←P3420();
static word WalkIncludedChildren←P3480();
static word WalkIncludedParts←P3540();
static word ListChildren←P3600();
static word DoAppendSlice←P9456();
static word ListIncludedChildren←P3660();
static word DoAppendSlice←P9516();
static word FirstChild←P3720();
static word StopAtFirstSlice←P9576();
static word FirstIncludedChild←P3780();
static word StopAtFirstSlice←P9636();
static void TallyChildren←P3840();
static void TallyIncludedChildren←P3900();
static word IsParent←P3960();
static word IsParentType←P4020();
static word GetParent←P4080();
static word GetTopLevelAncestor←P4140();
static word IsLeafOfClass←P4200();
static word NoteSameClassChild←P9984();
static word CreateCluster←P4260();
static void AddChildToCluster←P4320();
static void AddChildrenToCluster←P4380();
static word RemoveChild←P4440();
static void PruneNullClusters←P4500();
static void SetFrozen←P4560();
static word GetFrozen←P4620();
static void AppendSlice←P4680();
static word TopPriority←P4740();
static void PutInFront←P4800();
static void PutBehind←P4860();
static word GetAtPriority←P4920();
static word GetChildPriority←P4980();
static word ComparePriorities←P5040();
static void UpdatePriorities←P5100();
static word DoUpdate←P10572();
static void UpdatePtr←P5160();
static struct {unsigned f; char r[16];} string1 = {851984, "\257\300\311\023\117\300\300\337\236\305\170\100\214\000\000"};
static struct {unsigned f; char r[4];} string2 = {65537, "\001\000\000"};
static struct {unsigned f; char r[16];} string3 = {851984, "\257\300\311\023\117\300\300\337\236\305\170\100\244\000\000"};
static struct {unsigned f; char r[4];} string4 = {131074, "\004\003\000"};
static struct {unsigned f; char r[16];} string5 = {851984, "\257\300\311\023\117\300\300\337\236\305\170\100\164\000\000"};
static struct {unsigned f; char r[4];} string6 = {196611, "\004A6"};
static struct {unsigned f; char r[16];} string7 = {851984, "\257\300\125\044\051\337\300\130\157\071\243\100\324\000\000"};
static struct {unsigned f; char r[20];} string8 = {1179668, "\260\006\005\146\151\162\163\164\217\005\004\162\145\163\164\214\217\261\000"};
static struct {unsigned f; char r[44];} string9 = {2752556, "\260\006\005\146\151\162\163\164\257\300\247\031\224\326\300\123\162\224\023\100\164\005\004\162\145\163\164\214\257\300\247\031\224\326\300\123\162\224\023\100\164\261\000"};
static struct {unsigned f; char r[4];} string10 = {131074, "\003\002\000"};
static struct {unsigned f; char r[4];} string11 = {131076, "\216\251\000"};
static struct {unsigned f; char r[20];} string12 = {1179668, "\260\006\005\146\151\162\163\164\242\005\004\162\145\163\164\214\242\261\000"};
static struct {unsigned f; char r[4];} string13 = {131074, "\003\001\000"};
static struct {unsigned f; char r[48];} string14 = {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];} string15 = {851984, "\257\300\247\365\203\234\300\047\265\225\046\100\324\000\000"};
static struct {unsigned f; char r[32];} string16 = {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];} string17 = {851984, "\257\300\247\365\203\234\300\047\265\225\046\107\114\000\000"};
static struct {unsigned f; char r[16];} string18 = {851984, "\257\300\247\365\203\234\300\047\265\225\046\107\064\000\000"};
static struct {unsigned f; char r[16];} string19 = {851984, "\257\300\247\365\203\234\300\047\265\225\046\106\354\000\000"};
static struct {unsigned f; char r[8];} string20 = {262148, "\004\200@\034\000\000\000"};
static struct {unsigned f; char r[16];} string21 = {851984, "\257\300\247\365\203\234\300\047\265\225\046\107\050\000\000"};
static struct {unsigned f; char r[4];} string22 = {131074, "\004\007\000"};
static struct {unsigned f; char r[8];} string23 = {458760, "Cluster"};
static struct {unsigned f; char r[4];} string24 = {196612, "Box"};
static struct {unsigned f; char r[8];} string25 = {262152, "Traj\000\000\000"};
static struct {unsigned f; char r[8];} string26 = {458760, "Outline"};
static struct {unsigned f; char r[12];} string27 = {589836, "ChangeHue\000\000"};
static struct {unsigned f; char r[4];} string28 = {196612, "Set"};
static struct {unsigned f; char r[16];} string29 = {851984, "\257\300\173\367\201\135\300\073\265\123\130\100\164\000\000"};
static struct {unsigned f; char r[8];} string30 = {393222, "\006\001@X\004?\000"};
static struct {unsigned f; char r[16];} string31 = {851984, "\257\300\322\334\347\304\300\124\107\000\027\100\150\000\000"};
static struct {unsigned f; char r[16];} string32 = {851984, "\257\300\265\217\206\011\300\172\271\371\033\100\150\000\000"};
static struct {unsigned f; char r[16];} string33 = {851984, "\257\300\231\005\151\136\300\275\231\323\274\100\150\000\000"};
static struct {unsigned f; char r[8];} string34 = {1195855733, "tline"};
static struct {unsigned f; char r[16];} string35 = {851984, "\257\300\311\023\117\300\300\337\236\305\170\100\150\000\000"};
static struct {unsigned f; char r[8];} string36 = {1195855969, "rent"};
static struct {unsigned f; char r[16];} string37 = {851984, "\257\300\301\241\007\150\300\032\111\265\237\100\150\000\000"};
static struct {unsigned f; char r[16];} string38 = {851984, "\257\300\347\101\365\007\300\150\102\366\020\100\150\000\000"};
static struct {unsigned f; char r[16];} string39 = {851984, "\257\300\011\245\206\305\300\112\326\356\245\100\150\000\000"};
static struct {unsigned f; char r[16];} string40 = {851984, "\257\300\261\002\056\176\300\055\321\222\125\100\150\000\000"};
static struct {unsigned f; char r[4];} string41 = {1195856748, "ice"};
static struct {unsigned f; char r[16];} string42 = {851984, "\257\300U$)\337\300Xo9\243@t\000\000"};
static struct {unsigned f; char r[16];} string43 = {851984, "\257\300\336\025\013\356\300\216\115\352\271\100\150\000\000"};
static struct {unsigned f; char r[16];} string44 = {851984, "\257\300\050\310\006\072\300\004\273\314\121\100\150\000\000"};
static struct {unsigned f; char r[16];} string45 = {851984, "\257\300\370\132\042\205\300\045\133\011\125\100\150\000\000"};
static struct {unsigned f; char r[16];} string46 = {851984, "\257\300\144\364\322\150\300\206\136\277\046\100\150\000\000"};
static struct {unsigned f; char r[16];} string47 = {851984, "\257\300\042\224\360\026\300\243\254\175\360\100\150\000\000"};
static struct {
word f0[28]; 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;
word f87; word f88; word f89; word f90;
word f91; word f92; word f93; word f94;
word f95; word f96; word f97; word f98;
word f99; word f100; word f101; word f102;
word f103; word f104; word f105; word f106;
word f107; word f108; word f109; word f110;
word f111; word f112; word f113; word f114;
word f115; word f116; word f117; word f118;
word f119; word f120; word f121; word f122;
word f123; word f124; word f125; word f126;
word f127; word f128; word f129; word f130;
word f131; word f132; word f133; word f134;
word f135; word f136; word f137; word f138;
word f139; word f140; word f141; word f142;
word f143; word f144; word f145; word f146;
word f147; word f148; word f149; word f150;
word f151; word f152; word f153; word f154;
word f155; word f156; word f157; word f158;
word f159; word f160; word f161; word f162;
word f163; word f164; word f165; word f166;
word f167; word f168; word f169; word f170;
word f171; word f172; word f173; word f174;
word f175; word f176; word f177; word f178;
word f179; word f180; word f181; word f182;
word f183; word f184; word f185; word f186;
word f187; word f188; word f189; word f190;
word f191; word f192; word f193; word f194;
word f195; word f196; word f197; word f198;
word f199; word f200; word f201[20];
} globalframe = {
{0}, (word) UpdatePtr←P5160, 0, (word) UpdatePriorities←P5100,
0, (word) ComparePriorities←P5040, 0, (word) GetChildPriority←P4980,
0, (word) GetAtPriority←P4920, 0, (word) PutBehind←P4860,
0, (word) PutInFront←P4800, 0, (word) TopPriority←P4740,
0, (word) AppendSlice←P4680, 0, (word) GetFrozen←P4620,
0, (word) SetFrozen←P4560, 0, (word) PruneNullClusters←P4500,
0, (word) RemoveChild←P4440, 0, (word) AddChildrenToCluster←P4380,
0, (word) AddChildToCluster←P4320, 0, (word) CreateCluster←P4260,
0, (word) IsLeafOfClass←P4200, 0, (word) GetTopLevelAncestor←P4140,
0, (word) GetParent←P4080, 0, (word) IsParentType←P4020,
0, (word) IsParent←P3960, 0, (word) TallyIncludedChildren←P3900,
0, (word) TallyChildren←P3840, 0, (word) FirstIncludedChild←P3780,
0, (word) FirstChild←P3720, 0, (word) ListIncludedChildren←P3660,
0, (word) ListChildren←P3600, 0, (word) WalkIncludedParts←P3540,
0, (word) WalkIncludedChildren←P3480, 0, (word) WalkChildren←P3420,
0, (word) ChildList←P3360, 0, (word) Children←P3300,
0, (word) Parts2←P3240, 0, (word) PartsList←P3180,
0, (word) Parts←P3120, 0, (word) HasHoles←P3060,
0, (word) ListHoles←P3000, 0, (word) TrajectoriesOfOutline←P2940,
0, (word) TrajsInOutline←P2880, 0, (word) FindTrajShapeInOutline←P2820,
0, (word) UnpackSimpleDescriptor←P2760, 0, (word) UnpackOneSegmentDescriptor←P2700,
0, (word) UnpackHitData←P2640, 0, (word) SaveSelectionsInOutlineAllClasses←P2580,
0, (word) DeleteControlPoints←P2520, 0, (word) OutlineRemoveTraj←P2460,
0, (word) RemoveTraj←P2400, 0, (word) ChildDescriptorFromDescriptor←P2340,
0, (word) TopLevelDescriptorFromChildDescriptor←P2280, 0, (word) DescriptorFromChild←P2220,
0, (word) DescriptorFromChildDescriptor←P2160, 0, (word) SetFillText←P2100,
0, (word) GetWrapRule←P2040, 0, (word) SetWrapRule←P1980,
0, (word) ReplaceRunsInOutline←P1920, 0, (word) ReplaceChild←P1860,
0, (word) ReplaceFirstChild←P1800, 0, (word) AddChild←P1740,
0, (word) CreateOutline←P1680, 0, (word) GetOrientation←P1620,
0, (word) SetOrientation←P1560, 0, (word) GetDashed←P1500,
0, (word) SetDashed←P1440, 0, (word) GetFillColor←P1380,
0, (word) OutlineGetFillColor←P1320, 0, (word) SetFillColor←P1260,
0, (word) GetStrokeColor←P1200, 0, (word) SetStrokeColor←P1140,
0, (word) GetStrokeJoint←P1080, 0, (word) SetStrokeJoint←P1020,
0, (word) GetStrokeEnd←P960, 0, (word) SetStrokeEnd←P900,
0, (word) GetStrokeWidth←P840, 0, (word) SetStrokeWidth←P780,
0, (word) SetDefaults←P720, 0, (word) PathOfHitData←P660,
0, (word) HitDataAsSimpleCurve←P600, 0, (word) CircleIntersection←P540,
0, (word) LineIntersection←P480, 0, (word) OutlineFilledPathsUnderPoint←P420,
0, (word) ClusterFilledPathsUnderPoint←P360, 0, (word) ClosestSegment←P300,
0, (word) ClosestJointToHitData←P240, 0, (word) ClosestPoint←P180,
0, (word) BuildMoreClusterSliceClass←P120, 0, (word) BuildMoreOutlineSliceClass←P60,
0, (word) GGOutlineImplB←P0, {0}
};
static void NoName←Q10788()
{
register ptr gf←c0949 = (ptr) &globalframe;
word var←c87716;
(* (( (ptr) gf←c0949)+5) ) = (word) XR←GetTypeIndex((word) &string1, 0, (word) &string2);
(* (( (ptr) gf←c0949)+6) ) = (word) XR←GetTypeIndex((word) &string3, 0, (word) &string4);
(* (( (ptr) gf←c0949)+7) ) = (word) XR←GetTypeIndex((word) &string5, 0, (word) &string6);
(* (( (ptr) gf←c0949)+8) ) = (word) XR←GetTypeIndexS((word) (&string7));
(* (( (ptr) gf←c0949)+9) ) = (word) XR←GetTypeIndex((word) &string8, 0, (word) &string4);
(* (( (ptr) gf←c0949)+10) ) = (word) XR←GetTypeIndex((word) &string9, 0, (word) &string10);
(* (( (ptr) gf←c0949)+11) ) = (word) XR←GetTypeIndex((word) &string11, 0, (word) &string2);
(* (( (ptr) gf←c0949)+14) ) = (word) XR←GetTypeIndex((word) &string12, 0, (word) &string13);
(* (( (ptr) gf←c0949)+15) ) = (word) XR←GetTypeIndex((word) &string14, 0, (word) &string4);
(* (( (ptr) gf←c0949)+16) ) = (word) XR←GetTypeIndex((word) &string15, 0, (word) &string16);
(* (( (ptr) gf←c0949)+17) ) = (word) XR←GetTypeIndex((word) &string17, 0, (word) &string2);
(* (( (ptr) gf←c0949)+19) ) = (word) XR←GetTypeIndex((word) &string18, 0, (word) &string2);
(* (( (ptr) gf←c0949)+20) ) = (word) XR←GetTypeIndex((word) &string19, 0, (word) &string20);
(* (( (ptr) gf←c0949)+21) ) = (word) XR←GetTypeIndex((word) &string21, 0, (word) &string22);
(* (ptr) (( (bPt) gf←c0949)+88) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0949)+11) ), (word) &string23);
(* (ptr) (( (bPt) gf←c0949)+92) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0949)+11) ), (word) &string24);
(* (ptr) (( (bPt) gf←c0949)+96) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0949)+11) ), (word) &string25);
(* (ptr) (( (bPt) gf←c0949)+100) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0949)+11) ), (word) &string26);
(* (ptr) (( (bPt) gf←c0949)+104) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0949)+11) ), (word) &string27);
(* (ptr) (( (bPt) gf←c0949)+108) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0949)+11) ), (word) &string28);
(void) XR←DeclareGlobalFrame((word) "GGOutlineImplB", &globalframe, (word) XR←GetTypeIndex((word) &string29, 0, (word) &string30)
, (word) (( (bPt) gf←c0949)+800)/* var←c82052 */ );
var←c87716 = (word) XR←ImportInterface((word) "Feedback", (word) XR←GetTypeIndexS((word) (&string31)), 25);
(* (( (ptr) gf←c0949)+206)/* var←c82148 */ ) = var←c87716;
var←c87716 = (word) XR←ImportInterface((word) "GGBoundBox", (word) XR←GetTypeIndexS((word) (&string32)), 24);
(* (( (ptr) gf←c0949)+210)/* var←c82308 */ ) = var←c87716;
(void) XR←ImportProcS(var←c87716, 526850);
(void) XR←ImportProcS(var←c87716, 67109376);
(void) XR←ImportProcS(var←c87716, 67371777);
(void) XR←ImportProcS(var←c87716, 68162051);
var←c87716 = (word) XR←ImportInterface((word) "GGCoreOps", (word) XR←GetTypeIndexS((word) (&string33)), 37);
(* (( (ptr) gf←c0949)+213)/* var←c83620 */ ) = var←c87716;
(void) XR←ImportProcS(var←c87716, 67641090);
var←c87716 = (word) XR←ImportInterface((word) &string34, (word) XR←GetTypeIndexS((word) (&string35)), 19);
(* (( (ptr) gf←c0949)+215)/* var←c84324 */ ) = var←c87716;
(void) XR←ImportProcS(var←c87716, 67633410);
(void) XR←ImportProcS(var←c87716, 67375361);
var←c87716 = (word) XR←ImportInterface((word) &string36, (word) XR←GetTypeIndexS((word) (&string37)), 83);
(* (( (ptr) gf←c0949)+207)/* var←c82180 */ ) = var←c87716;
(void) XR←ImportProcS(var←c87716, 67649026);
(void) XR←ImportProcS(var←c87716, 67650306);
(void) XR←ImportProcS(var←c87716, 803331);
(void) XR←ImportProcS(var←c87716, 67387393);
(void) XR←ImportProcS(var←c87716, 67386113);
(void) XR←ImportProcS(var←c87716, 67650562);
(void) XR←ImportProcS(var←c87716, 68437509);
(void) XR←ImportProcS(var←c87716, 67386369);
(void) XR←ImportProcS(var←c87716, 68175108);
(void) XR←ImportProcS(var←c87716, 67913987);
(void) XR←ImportProcS(var←c87716, 68176388);
(void) XR←ImportProcS(var←c87716, 67385857);
(void) XR←ImportProcS(var←c87716, 67653122);
(void) XR←ImportProcS(var←c87716, 67653890);
(void) XR←ImportProcS(var←c87716, 134755330);
(void) XR←ImportProcS(var←c87716, 134756354);
(void) XR←ImportProcS(var←c87716, 68171524);
(void) XR←ImportProcS(var←c87716, 336082434);
(void) XR←ImportProcS(var←c87716, 1848583);
(void) XR←ImportProcS(var←c87716, 1323781);
(void) XR←ImportProcS(var←c87716, 134754818);
(void) XR←ImportProcS(var←c87716, 1323269);
(void) XR←ImportProcS(var←c87716, 134754306);
(void) XR←ImportProcS(var←c87716, 1060612);
(void) XR←ImportProcS(var←c87716, 134753794);
(void) XR←ImportProcS(var←c87716, 1060100);
(void) XR←ImportProcS(var←c87716, 134753282);
(void) XR←ImportProcS(var←c87716, 68168452);
(void) XR←ImportProcS(var←c87716, 1059332);
(void) XR←ImportProcS(var←c87716, 67643394);
(void) XR←ImportProcS(var←c87716, 134752002);
(void) XR←ImportProcS(var←c87716, 134751746);
(void) XR←ImportProcS(var←c87716, 470820099);
(void) XR←ImportProcS(var←c87716, 337126404);
(void) XR←ImportProcS(var←c87716, 470819587);
var←c87716 = (word) XR←ImportInterface((word) "GGScene", (word) XR←GetTypeIndexS((word) (&string38)), 50);
(* (( (ptr) gf←c0949)+217)/* var←c85028 */ ) = var←c87716;
(void) XR←ImportProcS(var←c87716, 526594);
(void) XR←ImportProcS(var←c87716, 67379969);
var←c87716 = (word) XR←ImportInterface((word) "GGSelect", (word) XR←GetTypeIndexS((word) (&string39)), 23);
(* (( (ptr) gf←c0949)+218)/* var←c85508 */ ) = var←c87716;
(void) XR←ImportProcS(var←c87716, 67637250);
var←c87716 = (word) XR←ImportInterface((word) "GGSequence", (word) XR←GetTypeIndexS((word) (&string40)), 58);
(* (( (ptr) gf←c0949)+219)/* var←c85636 */ ) = var←c87716;
(void) XR←ImportProcS(var←c87716, 671621122);
(void) XR←ImportProcS(var←c87716, 67378945);
var←c87716 = (word) XR←ImportInterface((word) &string41, (word) XR←GetTypeIndexS((word) (&string42)), 128);
(* (( (ptr) gf←c0949)+208)/* var←c82212 */ ) = var←c87716;
(void) XR←ImportProcS(var←c87716, 1321732);
(void) XR←ImportProcS(var←c87716, 201600257);
(void) XR←ImportProcS(var←c87716, 278529);
(void) XR←ImportProcS(var←c87716, 67634178);
(void) XR←ImportProcS(var←c87716, 67371777);
(void) XR←ImportProcS(var←c87716, 134511105);
(void) XR←ImportProcS(var←c87716, 1341701);
(void) XR←ImportProcS(var←c87716, 470837251);
var←c87716 = (word) XR←ImportInterface((word) "GGSliceOps", (word) XR←GetTypeIndexS((word) (&string43)), 73);
(* (( (ptr) gf←c0949)+209)/* var←c82276 */ ) = var←c87716;
(void) XR←ImportProcS(var←c87716, 67901699);
(void) XR←ImportProcS(var←c87716, 790531);
(void) XR←ImportProcS(var←c87716, 67637506);
(void) XR←ImportProcS(var←c87716, 67376897);
(void) XR←ImportProcS(var←c87716, 67634690);
(void) XR←ImportProcS(var←c87716, 67371521);
(void) XR←ImportProcS(var←c87716, 134758402);
(void) XR←ImportProcS(var←c87716, 68173572);
(void) XR←ImportProcS(var←c87716, 336084482);
(void) XR←ImportProcS(var←c87716, 134756866);
(void) XR←ImportProcS(var←c87716, 134756354);
(void) XR←ImportProcS(var←c87716, 134755842);
(void) XR←ImportProcS(var←c87716, 134755330);
(void) XR←ImportProcS(var←c87716, 134754818);
(void) XR←ImportProcS(var←c87716, 67633922);
(void) XR←ImportProcS(var←c87716, 1325317);
(void) XR←ImportProcS(var←c87716, 1324805);
(void) XR←ImportProcS(var←c87716, 1850631);
(void) XR←ImportProcS(var←c87716, 1062148);
(void) XR←ImportProcS(var←c87716, 1061636);
(void) XR←ImportProcS(var←c87716, 68169988);
(void) XR←ImportProcS(var←c87716, 67645186);
(void) XR←ImportProcS(var←c87716, 134752002);
(void) XR←ImportProcS(var←c87716, 67379969);
(void) XR←ImportProcS(var←c87716, 135277571);
(void) XR←ImportProcS(var←c87716, 337127684);
(void) XR←ImportProcS(var←c87716, 67634434);
var←c87716 = (word) XR←ImportInterface((word) "GGTraj", (word) XR←GetTypeIndexS((word) (&string44)), 55);
(* (( (ptr) gf←c0949)+214)/* var←c84292 */ ) = var←c87716;
(void) XR←ImportProcS(var←c87716, 67639298);
(void) XR←ImportProcS(var←c87716, 402927873);
(void) XR←ImportProcS(var←c87716, 67634434);
(void) XR←ImportProcS(var←c87716, 68159236);
(void) XR←ImportProcS(var←c87716, 527106);
var←c87716 = (word) XR←ImportInterface((word) "GGUtility", (word) XR←GetTypeIndexS((word) (&string45)), 42);
(* (( (ptr) gf←c0949)+212)/* var←c83236 */ ) = var←c87716;
(void) XR←ImportProcS(var←c87716, 268964866);
(void) XR←ImportProcS(var←c87716, 67638018);
(void) XR←ImportProcS(var←c87716, 67376385);
(void) XR←ImportProcS(var←c87716, 134221824);
(void) XR←ImportProcS(var←c87716, 135008515);
(void) XR←ImportProcS(var←c87716, 67897859);
(void) XR←ImportProcS(var←c87716, 135007235);
(void) XR←ImportProcS(var←c87716, 134220544);
(void) XR←ImportProcS(var←c87716, 67637762);
(void) XR←ImportProcS(var←c87716, 67641858);
(void) XR←ImportProcS(var←c87716, 67641346);
(void) XR←ImportProcS(var←c87716, 67379457);
var←c87716 = (word) XR←ImportInterface((word) "List", (word) XR←GetTypeIndexS((word) (&string46)), 28);
(* (( (ptr) gf←c0949)+211)/* var←c82628 */ ) = var←c87716;
(void) XR←ImportProcS(var←c87716, 67374081);
var←c87716 = (word) XR←ImportInterface((word) "TextNode", (word) XR←GetTypeIndexS((word) (&string47)), 34);
(* (( (ptr) gf←c0949)+216)/* var←c84868 */ ) = var←c87716;
(void) XR←ImportProcS(var←c87716, 67377153);
var←c87716 = (word) XR←ExportInterface((word) &string41, (word) XR←GetTypeIndexS((word) (&string42)), 128);
(* (( (ptr) gf←c0949)+220)/* var←c87748 */ ) = var←c87716;
(void) XR←ExportProcS(var←c87716, (word) (( (bPt) gf←c0949)+232)/* var←c79780 */ , 67372545, (word) "CreateCluster");
(void) XR←ExportProcS(var←c87716, (word) (( (bPt) gf←c0949)+224)/* var←c79748 */ , 788227, (word) "AddChildToCluster");
(void) XR←ExportProcS(var←c87716, (word) (( (bPt) gf←c0949)+216)/* var←c79716 */ , 788483, (word) "AddChildrenToCluster")
;
(void) XR←ExportProcS(var←c87716, (word) (( (bPt) gf←c0949)+208)/* var←c79684 */ , 67635458, (word) "RemoveChild");
(void) XR←ExportProcS(var←c87716, (word) (( (bPt) gf←c0949)+200)/* var←c79652 */ , 526850, (word) "PruneNullClusters");
(void) XR←ExportProcS(var←c87716, (word) (( (bPt) gf←c0949)+192)/* var←c79620 */ , 527106, (word) "SetFrozen");
(void) XR←ExportProcS(var←c87716, (word) (( (bPt) gf←c0949)+184)/* var←c79588 */ , 67374081, (word) "GetFrozen");
(void) XR←ExportProcS(var←c87716, (word) (( (bPt) gf←c0949)+784)/* var←c81988 */ , 265729, (word) "BuildMoreClusterSliceClass")
;
(void) XR←ExportProcS(var←c87716, (word) (( (bPt) gf←c0949)+792)/* var←c82020 */ , 277761, (word) "BuildMoreOutlineSliceClass")
;
var←c87716 = (word) XR←ExportInterface((word) &string34, (word) XR←GetTypeIndexS((word) (&string35)), 19);
(* (( (ptr) gf←c0949)+220)/* var←c87748 */ ) = var←c87716;
(void) XR←ExportProcS(var←c87716, (word) (( (bPt) gf←c0949)+576)/* var←c81156 */ , 67633410, (word) "CreateOutline");
(void) XR←ExportProcS(var←c87716, (word) (( (bPt) gf←c0949)+568)/* var←c81124 */ , 67633666, (word) "AddChild");
(void) XR←ExportProcS(var←c87716, (word) (( (bPt) gf←c0949)+560)/* var←c81092 */ , 67633922, (word) "ReplaceFirstChild");
(void) XR←ExportProcS(var←c87716, (word) (( (bPt) gf←c0949)+552)/* var←c81060 */ , 67896323, (word) "ReplaceChild");
(void) XR←ExportProcS(var←c87716, (word) (( (bPt) gf←c0949)+544)/* var←c81028 */ , 68158724, (word) "ReplaceRunsInOutline")
;
(void) XR←ExportProcS(var←c87716, (word) (( (bPt) gf←c0949)+536)/* var←c80996 */ , 525826, (word) "SetWrapRule");
(void) XR←ExportProcS(var←c87716, (word) (( (bPt) gf←c0949)+528)/* var←c80964 */ , 67372801, (word) "GetWrapRule");
(void) XR←ExportProcS(var←c87716, (word) (( (bPt) gf←c0949)+520)/* var←c80932 */ , 1050628, (word) "SetFillText");
(void) XR←ExportProcS(var←c87716, (word) (( (bPt) gf←c0949)+464)/* var←c80708 */ , 67635458, (word) "DeleteControlPoints")
;
(void) XR←ExportProcS(var←c87716, (word) (( (bPt) gf←c0949)+456)/* var←c80676 */ , 264705, (word) "SaveSelectionsInOutlineAllClasses")
;
(void) XR←ExportProcS(var←c87716, (word) (( (bPt) gf←c0949)+448)/* var←c80644 */ , 470027009, (word) "UnpackHitData");
(void) XR←ExportProcS(var←c87716, (word) (( (bPt) gf←c0949)+440)/* var←c80612 */ , 134482945, (word) "UnpackOneSegmentDescriptor")
;
(void) XR←ExportProcS(var←c87716, (word) (( (bPt) gf←c0949)+432)/* var←c80580 */ , 671354113, (word) "UnpackSimpleDescriptor")
;
(void) XR←ExportProcS(var←c87716, (word) (( (bPt) gf←c0949)+424)/* var←c80548 */ , 67636738, (word) "FindTrajShapeInOutline")
;
(void) XR←ExportProcS(var←c87716, (word) (( (bPt) gf←c0949)+416)/* var←c80516 */ , 67374849, (word) "TrajsInOutline");
(void) XR←ExportProcS(var←c87716, (word) (( (bPt) gf←c0949)+408)/* var←c80484 */ , 67375105, (word) "TrajectoriesOfOutline")
;
(void) XR←ExportProcS(var←c87716, (word) (( (bPt) gf←c0949)+400)/* var←c80452 */ , 67375361, (word) "ListHoles");
(void) XR←ExportProcS(var←c87716, (word) (( (bPt) gf←c0949)+392)/* var←c80420 */ , 67375617, (word) "HasHoles");
var←c87716 = (word) XR←ExportInterface((word) &string36, (word) XR←GetTypeIndexS((word) (&string37)), 83);
(* (( (ptr) gf←c0949)+220)/* var←c87748 */ ) = var←c87716;
(void) XR←ExportProcS(var←c87716, (word) (( (bPt) gf←c0949)+776)/* var←c81956 */ , 470819587, (word) "ClosestPoint");
(void) XR←ExportProcS(var←c87716, (word) (( (bPt) gf←c0949)+768)/* var←c81924 */ , 337126404, (word) "ClosestJointToHitData")
;
(void) XR←ExportProcS(var←c87716, (word) (( (bPt) gf←c0949)+760)/* var←c81892 */ , 470820099, (word) "ClosestSegment");
(void) XR←ExportProcS(var←c87716, (word) (( (bPt) gf←c0949)+736)/* var←c81796 */ , 134751746, (word) "LineIntersection");
(void) XR←ExportProcS(var←c87716, (word) (( (bPt) gf←c0949)+728)/* var←c81764 */ , 134752002, (word) "CircleIntersection")
;
(void) XR←ExportProcS(var←c87716, (word) (( (bPt) gf←c0949)+720)/* var←c81732 */ , 67643394, (word) "HitDataAsSimpleCurve")
;
(void) XR←ExportProcS(var←c87716, (word) (( (bPt) gf←c0949)+712)/* var←c81700 */ , 134752514, (word) "PathOfHitData");
(void) XR←ExportProcS(var←c87716, (word) (( (bPt) gf←c0949)+704)/* var←c81668 */ , 1059332, (word) "SetDefaults");
(void) XR←ExportProcS(var←c87716, (word) (( (bPt) gf←c0949)+696)/* var←c81636 */ , 68168452, (word) "SetStrokeWidth");
(void) XR←ExportProcS(var←c87716, (word) (( (bPt) gf←c0949)+688)/* var←c81604 */ , 134753282, (word) "GetStrokeWidth");
(void) XR←ExportProcS(var←c87716, (word) (( (bPt) gf←c0949)+680)/* var←c81572 */ , 1060100, (word) "SetStrokeEnd");
(void) XR←ExportProcS(var←c87716, (word) (( (bPt) gf←c0949)+672)/* var←c81540 */ , 134753794, (word) "GetStrokeEnd");
(void) XR←ExportProcS(var←c87716, (word) (( (bPt) gf←c0949)+664)/* var←c81508 */ , 1060612, (word) "SetStrokeJoint");
(void) XR←ExportProcS(var←c87716, (word) (( (bPt) gf←c0949)+656)/* var←c81476 */ , 134754306, (word) "GetStrokeJoint");
(void) XR←ExportProcS(var←c87716, (word) (( (bPt) gf←c0949)+648)/* var←c81444 */ , 1323269, (word) "SetStrokeColor");
(void) XR←ExportProcS(var←c87716, (word) (( (bPt) gf←c0949)+640)/* var←c81412 */ , 134754818, (word) "GetStrokeColor");
(void) XR←ExportProcS(var←c87716, (word) (( (bPt) gf←c0949)+632)/* var←c81380 */ , 1323781, (word) "SetFillColor");
(void) XR←ExportProcS(var←c87716, (word) (( (bPt) gf←c0949)+616)/* var←c81316 */ , 134755330, (word) "GetFillColor");
(void) XR←ExportProcS(var←c87716, (word) (( (bPt) gf←c0949)+608)/* var←c81284 */ , 1848583, (word) "SetDashed");
(void) XR←ExportProcS(var←c87716, (word) (( (bPt) gf←c0949)+600)/* var←c81252 */ , 336082434, (word) "GetDashed");
(void) XR←ExportProcS(var←c87716, (word) (( (bPt) gf←c0949)+592)/* var←c81220 */ , 68171524, (word) "SetOrientation");
(void) XR←ExportProcS(var←c87716, (word) (( (bPt) gf←c0949)+584)/* var←c81188 */ , 134756354, (word) "GetOrientation");
(void) XR←ExportProcS(var←c87716, (word) (( (bPt) gf←c0949)+272)/* var←c79940 */ , 67385857, (word) "IsParent");
(void) XR←ExportProcS(var←c87716, (word) (( (bPt) gf←c0949)+264)/* var←c79908 */ , 67386113, (word) "IsParentType");
(void) XR←ExportProcS(var←c87716, (word) (( (bPt) gf←c0949)+256)/* var←c79876 */ , 67386369, (word) "GetParent");
(void) XR←ExportProcS(var←c87716, (word) (( (bPt) gf←c0949)+248)/* var←c79844 */ , 67386625, (word) "GetTopLevelAncestor")
;
(void) XR←ExportProcS(var←c87716, (word) (( (bPt) gf←c0949)+136)/* var←c79396 */ , 67649026, (word) "GetChildPriority");
(void) XR←ExportProcS(var←c87716, (word) (( (bPt) gf←c0949)+128)/* var←c79364 */ , 67649282, (word) "ComparePriorities");
(void) XR←ExportProcS(var←c87716, (word) (( (bPt) gf←c0949)+168)/* var←c79524 */ , 67387393, (word) "TopPriority");
(void) XR←ExportProcS(var←c87716, (word) (( (bPt) gf←c0949)+160)/* var←c79492 */ , 803075, (word) "PutInFront");
(void) XR←ExportProcS(var←c87716, (word) (( (bPt) gf←c0949)+152)/* var←c79460 */ , 803331, (word) "PutBehind");
(void) XR←ExportProcS(var←c87716, (word) (( (bPt) gf←c0949)+144)/* var←c79428 */ , 67650306, (word) "GetAtPriority");
(void) XR←ExportProcS(var←c87716, (word) (( (bPt) gf←c0949)+240)/* var←c79812 */ , 67650562, (word) "IsLeafOfClass");
(void) XR←ExportProcS(var←c87716, (word) (( (bPt) gf←c0949)+344)/* var←c80228 */ , 68175108, (word) "WalkChildren");
(void) XR←ExportProcS(var←c87716, (word) (( (bPt) gf←c0949)+336)/* var←c80196 */ , 68437509, (word) "WalkIncludedChildren")
;
(void) XR←ExportProcS(var←c87716, (word) (( (bPt) gf←c0949)+320)/* var←c80132 */ , 67913475, (word) "ListChildren");
(void) XR←ExportProcS(var←c87716, (word) (( (bPt) gf←c0949)+312)/* var←c80100 */ , 68175876, (word) "ListIncludedChildren")
;
(void) XR←ExportProcS(var←c87716, (word) (( (bPt) gf←c0949)+304)/* var←c80068 */ , 67913987, (word) "FirstChild");
(void) XR←ExportProcS(var←c87716, (word) (( (bPt) gf←c0949)+296)/* var←c80036 */ , 68176388, (word) "FirstIncludedChild")
;
(void) XR←ExportProcS(var←c87716, (word) (( (bPt) gf←c0949)+288)/* var←c80004 */ , 134761474, (word) "TallyChildren");
(void) XR←ExportProcS(var←c87716, (word) (( (bPt) gf←c0949)+280)/* var←c79972 */ , 135023875, (word) "TallyIncludedChildren")
;
(void) XR←ExportProcS(var←c87716, (word) (( (bPt) gf←c0949)+512)/* var←c80900 */ , 67653122, (word) "DescriptorFromChildDescriptor")
;
(void) XR←ExportProcS(var←c87716, (word) (( (bPt) gf←c0949)+504)/* var←c80868 */ , 67653378, (word) "DescriptorFromChild")
;
(void) XR←ExportProcS(var←c87716, (word) (( (bPt) gf←c0949)+496)/* var←c80836 */ , 67391489, (word) "TopLevelDescriptorFromChildDescriptor")
;
(void) XR←ExportProcS(var←c87716, (word) (( (bPt) gf←c0949)+488)/* var←c80804 */ , 67653890, (word) "ChildDescriptorFromDescriptor")
;
(void) XR←ExportProcS(var←c87716, (word) (( (bPt) gf←c0949)+480)/* var←c80772 */ , 67654146, (word) "RemoveTraj");
}
static void GGOutlineImplB←P0(formal←c0109, formal←c0108)
word formal←c0109;
word formal←c0108;
{
register ptr gf←c87780 = (ptr) &globalframe;
/* GGOutlineImplB: */
SOURCE(291, 55913)
SOURCE(3404, 24)
(* (( (ptr) gf←c87780)+4)/* Problem←v5184 */ ) = (* (ptr) (* (( (ptr) (* (( (ptr) gf←c87780)+206)/* var←c82148 */ ))+28)
) );
}
static void BuildMoreOutlineSliceClass←P60(class←v7800)
word class←v7800;
{
register ptr gf←c87812 = (ptr) &globalframe;
/* BuildMoreOutlineSliceClass: */
SOURCE(3552, 1270)
SOURCE(3617, 42)
(* (( (ptr) class←v7800)+38) ) = (* (( (ptr) (* (( (ptr) gf←c87812)+207)/* var←c82180 */ ))+39) );
SOURCE(3661, 60)
(* (( (ptr) class←v7800)+39) ) = (* (( (ptr) (* (( (ptr) gf←c87812)+207)/* var←c82180 */ ))+40) );
SOURCE(3723, 65)
(* (( (ptr) class←v7800)+40) ) = (* (( (ptr) (* (( (ptr) gf←c87812)+208)/* var←c82212 */ ))+108) );
SOURCE(3790, 46)
(* (( (ptr) class←v7800)+41) ) = (* (( (ptr) (* (( (ptr) gf←c87812)+207)/* var←c82180 */ ))+41) );
SOURCE(3838, 58)
(* (( (ptr) class←v7800)+42) ) = (word) (( (bPt) gf←c87812)+744)/* var←c81828 */ ;
SOURCE(3898, 50)
(* (( (ptr) class←v7800)+43) ) = (* (( (ptr) (* (( (ptr) gf←c87812)+207)/* var←c82180 */ ))+42) );
SOURCE(3950, 54)
(* (( (ptr) class←v7800)+44) ) = (* (( (ptr) (* (( (ptr) gf←c87812)+207)/* var←c82180 */ ))+43) );
SOURCE(4006, 58)
(* (( (ptr) class←v7800)+45) ) = (* (( (ptr) (* (( (ptr) gf←c87812)+207)/* var←c82180 */ ))+44) );
SOURCE(4066, 40)
(* (( (ptr) class←v7800)+46) ) = (* (( (ptr) (* (( (ptr) gf←c87812)+207)/* var←c82180 */ ))+46) );
SOURCE(4108, 46)
(* (( (ptr) class←v7800)+47) ) = (* (( (ptr) (* (( (ptr) gf←c87812)+207)/* var←c82180 */ ))+47) );
SOURCE(4156, 46)
(* (( (ptr) class←v7800)+48) ) = (* (( (ptr) (* (( (ptr) gf←c87812)+207)/* var←c82180 */ ))+48) );
SOURCE(4204, 42)
(* (( (ptr) class←v7800)+49) ) = (* (( (ptr) (* (( (ptr) gf←c87812)+207)/* var←c82180 */ ))+49) );
SOURCE(4248, 42)
(* (( (ptr) class←v7800)+50) ) = (* (( (ptr) (* (( (ptr) gf←c87812)+207)/* var←c82180 */ ))+50) );
SOURCE(4292, 46)
(* (( (ptr) class←v7800)+51) ) = (* (( (ptr) (* (( (ptr) gf←c87812)+207)/* var←c82180 */ ))+51) );
SOURCE(4340, 46)
(* (( (ptr) class←v7800)+52) ) = (* (( (ptr) (* (( (ptr) gf←c87812)+207)/* var←c82180 */ ))+52) );
SOURCE(4388, 46)
(* (( (ptr) class←v7800)+53) ) = (* (( (ptr) (* (( (ptr) gf←c87812)+207)/* var←c82180 */ ))+53) );
SOURCE(4436, 46)
(* (( (ptr) class←v7800)+54) ) = (* (( (ptr) (* (( (ptr) gf←c87812)+207)/* var←c82180 */ ))+54) );
SOURCE(4484, 42)
(* (( (ptr) class←v7800)+55) ) = (* (( (ptr) (* (( (ptr) gf←c87812)+207)/* var←c82180 */ ))+55) );
SOURCE(4528, 40)
(* (( (ptr) class←v7800)+56) ) = (word) (( (bPt) gf←c87812)+624)/* var←c81348 */ ;
SOURCE(4570, 39)
(* (( (ptr) class←v7800)+57) ) = (* (( (ptr) (* (( (ptr) gf←c87812)+208)/* var←c82212 */ ))+125) );
SOURCE(4611, 39)
(* (( (ptr) class←v7800)+58) ) = (* (( (ptr) (* (( (ptr) gf←c87812)+208)/* var←c82212 */ ))+126) );
SOURCE(4652, 36)
(* (( (ptr) class←v7800)+59) ) = (* (( (ptr) (* (( (ptr) gf←c87812)+207)/* var←c82180 */ ))+57) );
SOURCE(4690, 36)
(* (( (ptr) class←v7800)+60) ) = (* (( (ptr) (* (( (ptr) gf←c87812)+207)/* var←c82180 */ ))+58) );
SOURCE(4728, 46)
(* (( (ptr) class←v7800)+61) ) = (* (( (ptr) (* (( (ptr) gf←c87812)+207)/* var←c82180 */ ))+59) );
SOURCE(4776, 46)
(* (( (ptr) class←v7800)+62) ) = (* (( (ptr) (* (( (ptr) gf←c87812)+207)/* var←c82180 */ ))+60) );
}
static void BuildMoreClusterSliceClass←P120(class←v7860)
word class←v7860;
{
register ptr gf←c87844 = (ptr) &globalframe;
/* BuildMoreClusterSliceClass: */
SOURCE(4828, 1272)
SOURCE(4893, 42)
(* (( (ptr) class←v7860)+38) ) = (* (( (ptr) (* (( (ptr) gf←c87844)+207)/* var←c82180 */ ))+39) );
SOURCE(4937, 60)
(* (( (ptr) class←v7860)+39) ) = (* (( (ptr) (* (( (ptr) gf←c87844)+207)/* var←c82180 */ ))+40) );
SOURCE(4999, 65)
(* (( (ptr) class←v7860)+40) ) = (* (( (ptr) (* (( (ptr) gf←c87844)+208)/* var←c82212 */ ))+108) );
SOURCE(5066, 46)
(* (( (ptr) class←v7860)+41) ) = (* (( (ptr) (* (( (ptr) gf←c87844)+207)/* var←c82180 */ ))+41) );
SOURCE(5114, 58)
(* (( (ptr) class←v7860)+42) ) = (word) (( (bPt) gf←c87844)+752)/* var←c81860 */ ;
SOURCE(5174, 50)
(* (( (ptr) class←v7860)+43) ) = (* (( (ptr) (* (( (ptr) gf←c87844)+207)/* var←c82180 */ ))+42) );
SOURCE(5226, 54)
(* (( (ptr) class←v7860)+44) ) = (* (( (ptr) (* (( (ptr) gf←c87844)+207)/* var←c82180 */ ))+43) );
SOURCE(5282, 58)
(* (( (ptr) class←v7860)+45) ) = (* (( (ptr) (* (( (ptr) gf←c87844)+207)/* var←c82180 */ ))+44) );
SOURCE(5342, 40)
(* (( (ptr) class←v7860)+46) ) = (* (( (ptr) (* (( (ptr) gf←c87844)+207)/* var←c82180 */ ))+46) );
SOURCE(5384, 46)
(* (( (ptr) class←v7860)+47) ) = (* (( (ptr) (* (( (ptr) gf←c87844)+207)/* var←c82180 */ ))+47) );
SOURCE(5432, 46)
(* (( (ptr) class←v7860)+48) ) = (* (( (ptr) (* (( (ptr) gf←c87844)+207)/* var←c82180 */ ))+48) );
SOURCE(5480, 42)
(* (( (ptr) class←v7860)+49) ) = (* (( (ptr) (* (( (ptr) gf←c87844)+207)/* var←c82180 */ ))+49) );
SOURCE(5524, 42)
(* (( (ptr) class←v7860)+50) ) = (* (( (ptr) (* (( (ptr) gf←c87844)+207)/* var←c82180 */ ))+50) );
SOURCE(5568, 46)
(* (( (ptr) class←v7860)+51) ) = (* (( (ptr) (* (( (ptr) gf←c87844)+207)/* var←c82180 */ ))+51) );
SOURCE(5616, 46)
(* (( (ptr) class←v7860)+52) ) = (* (( (ptr) (* (( (ptr) gf←c87844)+207)/* var←c82180 */ ))+52) );
SOURCE(5664, 46)
(* (( (ptr) class←v7860)+53) ) = (* (( (ptr) (* (( (ptr) gf←c87844)+207)/* var←c82180 */ ))+53) );
SOURCE(5712, 46)
(* (( (ptr) class←v7860)+54) ) = (* (( (ptr) (* (( (ptr) gf←c87844)+207)/* var←c82180 */ ))+54) );
SOURCE(5760, 42)
(* (( (ptr) class←v7860)+55) ) = (* (( (ptr) (* (( (ptr) gf←c87844)+207)/* var←c82180 */ ))+55) );
SOURCE(5804, 42)
(* (( (ptr) class←v7860)+56) ) = (* (( (ptr) (* (( (ptr) gf←c87844)+207)/* var←c82180 */ ))+56) );
SOURCE(5848, 39)
(* (( (ptr) class←v7860)+57) ) = (* (( (ptr) (* (( (ptr) gf←c87844)+208)/* var←c82212 */ ))+125) );
SOURCE(5889, 39)
(* (( (ptr) class←v7860)+58) ) = (* (( (ptr) (* (( (ptr) gf←c87844)+208)/* var←c82212 */ ))+126) );
SOURCE(5930, 36)
(* (( (ptr) class←v7860)+59) ) = (* (( (ptr) (* (( (ptr) gf←c87844)+207)/* var←c82180 */ ))+57) );
SOURCE(5968, 36)
(* (( (ptr) class←v7860)+60) ) = (* (( (ptr) (* (( (ptr) gf←c87844)+207)/* var←c82180 */ ))+58) );
SOURCE(6006, 46)
(* (( (ptr) class←v7860)+61) ) = (* (( (ptr) (* (( (ptr) gf←c87844)+207)/* var←c82180 */ ))+59) );
SOURCE(6054, 46)
(* (( (ptr) class←v7860)+62) ) = (* (( (ptr) (* (( (ptr) gf←c87844)+207)/* var←c82180 */ ))+60) );
}
static void ClosestPoint←P180(formal←c0135, sliceD←v7920, testPoint←v7948, tolerance←v7976)
word formal←c0135;
word sliceD←v7920;
W2 testPoint←v7948;
word tolerance←v7976;
{
register ptr gf←c87876 = (ptr) &globalframe;
W2 bestPoint←v8020;
word bestDist←v8048;
W2 bestNormal←v8076;
word hitData←v8104;
word success←v8132;
/* ClosestPoint: */
SOURCE(6106, 1154)
SOURCE(6106, 1154)
bestPoint←v8020.f0 = (* (ptr) &fc48 );
bestPoint←v8020.f1 = (* (ptr) &fc48 );
SOURCE(6106, 1154)
bestDist←v8048 = (* (ptr) &fc48 );
SOURCE(6106, 1154)
bestNormal←v8076.f0 = (* (ptr) &fc48 );
bestNormal←v8076.f1 = (* (ptr) &fc49 );
SOURCE(6106, 1154)
hitData←v8104 = 0;
SOURCE(6106, 1154)
success←v8132 = 0;
SOURCE(6329, 931)
if ((sliceD←v7920 == 0)) {
SOURCE(6348, 12)
goto lab←L100000;
}
else {
SOURCE(6360, 905)
{
word parts←v21468;
word outlineHitData←v21496 = 0;
W2 thisPoint←v21524;
word thisDist←v21552;
W2 thisNormal←v21580;
word thisHitData←v21608 = 0;
word bestHitData←v21636 = 0;
word thisSuccess←v21664 = 0;
word bestChild←v21692 = 0;
word var←c82244;
SOURCE(6362, 42)
parts←v21468 = XR←Narrow((* (( (ptr) sliceD←v7920)+1) ), (* (( (ptr) gf←c87876)+5) ));
SOURCE(6573, 107)
{
word pd51;
{
word pd50;
pd50 = (* (( (ptr) (* (( (ptr) gf←c87876)+209)/* var←c82276 */ ))+9) );
var←c82244 = (word) ( *( (fPt) ((* (ptr) pd50 ))))((* (ptr) sliceD←v7920 ), 0, pd50);
};
pd51 = (* (( (ptr) (* (( (ptr) gf←c87876)+210)/* var←c82308 */ ))+22) );
if ((0 == (word) ( *( (fPt) ((* (ptr) pd51 ))))(testPoint←v7948, var←c82244, tolerance←v7976, pd51))) {
SOURCE(6674, 6)
goto lab←L100000;
};
};
SOURCE(6683, 33)
bestDist←v8048 = (* (ptr) &fc52 );
SOURCE(6718, 433)
{
register word list←v21748;
list←v21748 = (* (ptr) parts←v21468 );
lab←L100004: ;
if ((list←v21748 != 0)) {
}
else {
goto lab←L100001;
};
SOURCE(6803, 23)
if (((* (ptr) list←v21748 ) == 0)) {
SOURCE(6826, 4)
goto lab←L100003;
};
SOURCE(6832, 131)
{
W7 var←c82340;
{
word pd53;
pd53 = (* (( (ptr) (* (ptr) (* (ptr) (* (ptr) list←v21748 ) ) ))+38) );
(void) ( *( (fPt) ((* (ptr) pd53 ))))((word) &var←c82340, (* (ptr) list←v21748 ), testPoint←v7948, tolerance←v7976, pd53)
;
};
thisSuccess←v21664 = var←c82340.f6;
thisHitData←v21608 = var←c82340.f5;
thisNormal←v21580 = (* (W2Pt) (( (ptr) &var←c82340)+3) );
thisDist←v21552 = var←c82340.f2;
thisPoint←v21524 = (* (W2Pt) &var←c82340 );
};
SOURCE(6965, 186)
{
word x54;
word x55;
if ( ( (0 != thisSuccess←v21664) ? ((
x54 = thisDist←v21552, *(float*)&x54
) < (
x55 = bestDist←v8048, *(float*)&x55
)) : 0 ) ) {
SOURCE(7011, 28)
bestChild←v21692 = (* (ptr) (* (ptr) list←v21748 ) );
SOURCE(7041, 21)
bestPoint←v8020 = thisPoint←v21524;
SOURCE(7064, 19)
bestDist←v8048 = thisDist←v21552;
SOURCE(7085, 23)
bestNormal←v8076 = thisNormal←v21580;
SOURCE(7110, 25)
bestHitData←v21636 = thisHitData←v21608;
SOURCE(7137, 14)
success←v8132 = 1;
};
};
lab←L100003: ;
list←v21748 = (* (( (ptr) list←v21748)+1) );
goto lab←L100004;
lab←L100001: ;
};
SOURCE(7165, 95)
if ((0 != success←v8132)) {
SOURCE(7183, 77)
{
word var←c82372;
{
word var←c82404;
var←c82404 = XR←NewObject(8, (* (( (ptr) gf←c87876)+6) ));
(* (ptr) var←c82404 ) = bestChild←v21692;
(* (( (ptr) var←c82404)+1) ) = bestHitData←v21636;
var←c82372 = var←c82404;
};
outlineHitData←v21496 = var←c82372;
hitData←v8104 = var←c82372;
};
};
};
};
/* removed tail goto */
lab←L100000: ;
(* (W2Pt) formal←c0135 ) = bestPoint←v8020;
(* (( (ptr) formal←c0135)+2) ) = bestDist←v8048;
(* (W2Pt) (( (ptr) formal←c0135)+3) ) = bestNormal←v8076;
(* (( (ptr) formal←c0135)+5) ) = hitData←v8104;
(* (( (ptr) formal←c0135)+6) ) = success←v8132;
return;
}
static void ClosestJointToHitData←P240(formal←c0150, sliceD←v8208, mapPoint←v8236, testPoint←v8264, hitData←v8292)
word formal←c0150;
word sliceD←v8208;
W2 mapPoint←v8236;
W2 testPoint←v8264;
word hitData←v8292;
{
register ptr gf←c87908 = (ptr) &globalframe;
word jointD←v8348;
W2 point←v8376;
W2 normal←v8404;
word outlineHitData←v21876;
word child←v21904;
word childHitData←v21932;
word childD←v21960;
word newChildD←v21988 = 0;
/* ClosestJointToHitData: */
SOURCE(7272, 611)
SOURCE(7272, 611)
jointD←v8348 = 0;
SOURCE(7272, 611)
normal←v8404.f0 = (* (ptr) &fc48 );
normal←v8404.f1 = (* (ptr) &fc49 );
SOURCE(7456, 48)
outlineHitData←v21876 = XR←Narrow(hitData←v8292, (* (( (ptr) gf←c87908)+6) ));
SOURCE(7506, 35)
child←v21904 = (* (ptr) outlineHitData←v21876 );
SOURCE(7543, 51)
childHitData←v21932 = (* (( (ptr) outlineHitData←v21876)+1) );
SOURCE(7596, 79)
{
word pd56;
pd56 = (* (( (ptr) (* (( (ptr) gf←c87908)+207)/* var←c82180 */ ))+85) );
childD←v21960 = (word) ( *( (fPt) ((* (ptr) pd56 ))))(sliceD←v8208, child←v21904, pd56);
};
SOURCE(7705, 104)
{
W5 var←c82436;
{
word pd57;
pd57 = (* (( (ptr) (* (( (ptr) gf←c87908)+209)/* var←c82276 */ ))+45) );
(void) ( *( (fPt) ((* (ptr) pd57 ))))((word) &var←c82436, childD←v21960, mapPoint←v8236, testPoint←v8264, childHitData←v21932, pd57)
;
};
normal←v8404 = (* (W2Pt) (( (ptr) &var←c82436)+3) );
point←v8376 = (* (W2Pt) (( (ptr) &var←c82436)+1) );
newChildD←v21988 = var←c82436.f0;
};
SOURCE(7811, 72)
{
word pd58;
pd58 = (* (( (ptr) (* (( (ptr) gf←c87908)+207)/* var←c82180 */ ))+82) );
jointD←v8348 = (word) ( *( (fPt) ((* (ptr) pd58 ))))((* (ptr) sliceD←v8208 ), newChildD←v21988, pd58);
};
/* removed tail goto */
(* (ptr) formal←c0150 ) = jointD←v8348;
(* (W2Pt) (( (ptr) formal←c0150)+1) ) = point←v8376;
(* (W2Pt) (( (ptr) formal←c0150)+3) ) = normal←v8404;
return;
}
static void ClosestSegment←P300(formal←c0174, sliceD←v8464, testPoint←v8492, tolerance←v8520)
word formal←c0174;
word sliceD←v8464;
W2 testPoint←v8492;
word tolerance←v8520;
{
register ptr gf←c87940 = (ptr) &globalframe;
W2 bestPoint←v8564;
word bestDist←v8592;
W2 bestNormal←v8620;
word hitData←v8648;
word success←v8676;
/* ClosestSegment: */
SOURCE(7889, 1208)
SOURCE(7889, 1208)
bestPoint←v8564.f0 = (* (ptr) &fc48 );
bestPoint←v8564.f1 = (* (ptr) &fc48 );
SOURCE(7889, 1208)
bestDist←v8592 = (* (ptr) &fc48 );
SOURCE(7889, 1208)
bestNormal←v8620.f0 = (* (ptr) &fc48 );
bestNormal←v8620.f1 = (* (ptr) &fc49 );
SOURCE(7889, 1208)
hitData←v8648 = 0;
SOURCE(7889, 1208)
success←v8676 = 0;
SOURCE(8114, 983)
if ((sliceD←v8464 == 0)) {
SOURCE(8133, 12)
goto lab←L100006;
}
else {
SOURCE(8145, 957)
{
word parts←v22044;
word outlineHitData←v22072 = 0;
W2 thisPoint←v22100;
word thisDist←v22128;
W2 thisNormal←v22156;
word thisHitData←v22184 = 0;
word bestHitData←v22212 = 0;
word thisSuccess←v22240 = 0;
word bestChild←v22268 = 0;
word var←c82468;
SOURCE(8147, 42)
parts←v22044 = XR←Narrow((* (( (ptr) sliceD←v8464)+1) ), (* (( (ptr) gf←c87940)+5) ));
SOURCE(8358, 107)
{
word pd60;
{
word pd59;
pd59 = (* (( (ptr) (* (( (ptr) gf←c87940)+209)/* var←c82276 */ ))+9) );
var←c82468 = (word) ( *( (fPt) ((* (ptr) pd59 ))))((* (ptr) sliceD←v8464 ), 0, pd59);
};
pd60 = (* (( (ptr) (* (( (ptr) gf←c87940)+210)/* var←c82308 */ ))+22) );
if ((0 == (word) ( *( (fPt) ((* (ptr) pd60 ))))(testPoint←v8492, var←c82468, tolerance←v8520, pd60))) {
SOURCE(8459, 6)
goto lab←L100006;
};
};
SOURCE(8518, 33)
bestDist←v8592 = (* (ptr) &fc52 );
SOURCE(8553, 435)
{
register word list←v22324;
list←v22324 = (* (ptr) parts←v22044 );
lab←L100010: ;
if ((list←v22324 != 0)) {
}
else {
goto lab←L100007;
};
SOURCE(8638, 23)
if (((* (ptr) list←v22324 ) == 0)) {
SOURCE(8661, 4)
goto lab←L100009;
};
SOURCE(8667, 133)
{
W7 var←c82500;
{
word pd61;
pd61 = (* (( (ptr) (* (ptr) (* (ptr) (* (ptr) list←v22324 ) ) ))+41) );
(void) ( *( (fPt) ((* (ptr) pd61 ))))((word) &var←c82500, (* (ptr) list←v22324 ), testPoint←v8492, tolerance←v8520, pd61)
;
};
thisSuccess←v22240 = var←c82500.f6;
thisHitData←v22184 = var←c82500.f5;
thisNormal←v22156 = (* (W2Pt) (( (ptr) &var←c82500)+3) );
thisDist←v22128 = var←c82500.f2;
thisPoint←v22100 = (* (W2Pt) &var←c82500 );
};
SOURCE(8802, 186)
{
word x62;
word x63;
if ( ( (0 != thisSuccess←v22240) ? ((
x62 = thisDist←v22128, *(float*)&x62
) < (
x63 = bestDist←v8592, *(float*)&x63
)) : 0 ) ) {
SOURCE(8848, 28)
bestChild←v22268 = (* (ptr) (* (ptr) list←v22324 ) );
SOURCE(8878, 21)
bestPoint←v8564 = thisPoint←v22100;
SOURCE(8901, 19)
bestDist←v8592 = thisDist←v22128;
SOURCE(8922, 23)
bestNormal←v8620 = thisNormal←v22156;
SOURCE(8947, 25)
bestHitData←v22212 = thisHitData←v22184;
SOURCE(8974, 14)
success←v8676 = 1;
};
};
lab←L100009: ;
list←v22324 = (* (( (ptr) list←v22324)+1) );
goto lab←L100010;
lab←L100007: ;
};
SOURCE(9002, 95)
if ((0 != success←v8676)) {
SOURCE(9020, 77)
{
word var←c82532;
{
word var←c82564;
var←c82564 = XR←NewObject(8, (* (( (ptr) gf←c87940)+6) ));
(* (ptr) var←c82564 ) = bestChild←v22268;
(* (( (ptr) var←c82564)+1) ) = bestHitData←v22212;
var←c82532 = var←c82564;
};
outlineHitData←v22072 = var←c82532;
hitData←v8648 = var←c82532;
};
};
};
};
/* removed tail goto */
lab←L100006: ;
(* (W2Pt) formal←c0174 ) = bestPoint←v8564;
(* (( (ptr) formal←c0174)+2) ) = bestDist←v8592;
(* (W2Pt) (( (ptr) formal←c0174)+3) ) = bestNormal←v8620;
(* (( (ptr) formal←c0174)+5) ) = hitData←v8648;
(* (( (ptr) formal←c0174)+6) ) = success←v8676;
return;
}
static void ClusterFilledPathsUnderPoint←P360(formal←c0197, slice←v8748, point←v8776, tolerance←v8804)
word formal←c0197;
word slice←v8748;
W2 point←v8776;
word tolerance←v8804;
{
register ptr gf←c87972 = (ptr) &globalframe;
word hitData←v8848;
word moreHitDatas←v8876;
word outlineData←v22452;
word clusterData←v22480;
word thisChild←v22508 = 0;
word thisHitData←v22536 = 0;
word childHitDatas←v22564 = 0;
word thisSuccess←v22592 = 0;
word success←v22620 = 0;
/* ClusterFilledPathsUnderPoint: */
SOURCE(9109, 1150)
SOURCE(9109, 1150)
hitData←v8848 = 0;
SOURCE(9109, 1150)
moreHitDatas←v8876 = 0;
SOURCE(9264, 45)
outlineData←v22452 = XR←Narrow((* (( (ptr) slice←v8748)+1) ), (* (( (ptr) gf←c87972)+7) ));
SOURCE(9311, 59)
clusterData←v22480 = XR←Narrow((* (( (ptr) outlineData←v22452)+8) ), (* (( (ptr) gf←c87972)+8) ));
SOURCE(9495, 764)
{
register word childList←v22772;
childList←v22772 = (* (( (ptr) outlineData←v22452)+4) );
lab←L100015: ;
if ((childList←v22772 != 0)) {
}
else {
goto lab←L100012;
};
SOURCE(9586, 27)
thisChild←v22508 = (* (ptr) childList←v22772 );
SOURCE(9615, 92)
{
W2 var←c82596;
{
word pd64;
pd64 = (* (( (ptr) (* (( (ptr) gf←c87972)+209)/* var←c82276 */ ))+48) );
(void) ( *( (fPt) ((* (ptr) pd64 ))))((word) &var←c82596, thisChild←v22508, point←v8776, tolerance←v8804, pd64);
};
childHitDatas←v22564 = var←c82596.f1;
thisHitData←v22536 = var←c82596.f0;
};
SOURCE(9709, 550)
if ((thisHitData←v22536 != 0)) {
SOURCE(9737, 297)
{
register word list←v22900;
{
word pd65;
pd65 = (* (( (ptr) (* (( (ptr) gf←c87972)+211)/* var←c82628 */ ))+16) );
list←v22900 = (word) ( *( (fPt) ((* (ptr) pd65 ))))(childHitDatas←v22564, pd65);
};
lab←L100019: ;
if ((list←v22900 != 0)) {
}
else {
goto lab←L100016;
};
SOURCE(9825, 209)
if ((0 == success←v22620)) {
SOURCE(9847, 14)
success←v22620 = 1;
SOURCE(9863, 58)
{
word var←c82660;
var←c82660 = XR←NewObject(8, (* (( (ptr) gf←c87972)+6) ));
(* (ptr) var←c82660 ) = thisChild←v22508;
(* (( (ptr) var←c82660)+1) ) = (* (ptr) list←v22900 );
hitData←v8848 = var←c82660;
};
}
else {
SOURCE(9932, 42)
{
word var←c82692;
var←c82692 = XR←NewObject(8, (* (( (ptr) gf←c87972)+9) ));
(* (ptr) var←c82692 ) = hitData←v8848;
(* (( (ptr) var←c82692)+1) ) = moreHitDatas←v8876;
moreHitDatas←v8876 = var←c82692;
};
SOURCE(9976, 58)
{
word var←c82724;
var←c82724 = XR←NewObject(8, (* (( (ptr) gf←c87972)+6) ));
(* (ptr) var←c82724 ) = thisChild←v22508;
(* (( (ptr) var←c82724)+1) ) = (* (ptr) list←v22900 );
hitData←v8848 = var←c82724;
};
};
list←v22900 = (* (( (ptr) list←v22900)+1) );
goto lab←L100019;
lab←L100016: ;
};
SOURCE(10048, 211)
if ((0 == success←v22620)) {
SOURCE(10070, 14)
success←v22620 = 1;
SOURCE(10086, 59)
{
word var←c82756;
var←c82756 = XR←NewObject(8, (* (( (ptr) gf←c87972)+6) ));
(* (ptr) var←c82756 ) = thisChild←v22508;
(* (( (ptr) var←c82756)+1) ) = thisHitData←v22536;
hitData←v8848 = var←c82756;
};
}
else {
SOURCE(10156, 42)
{
word var←c82788;
var←c82788 = XR←NewObject(8, (* (( (ptr) gf←c87972)+9) ));
(* (ptr) var←c82788 ) = hitData←v8848;
(* (( (ptr) var←c82788)+1) ) = moreHitDatas←v8876;
moreHitDatas←v8876 = var←c82788;
};
SOURCE(10200, 59)
{
word var←c82820;
var←c82820 = XR←NewObject(8, (* (( (ptr) gf←c87972)+6) ));
(* (ptr) var←c82820 ) = thisChild←v22508;
(* (( (ptr) var←c82820)+1) ) = thisHitData←v22536;
hitData←v8848 = var←c82820;
};
};
};
childList←v22772 = (* (( (ptr) childList←v22772)+1) );
goto lab←L100015;
lab←L100012: ;
};
/* removed tail goto */
(* (ptr) formal←c0197 ) = hitData←v8848;
(* (( (ptr) formal←c0197)+1) ) = moreHitDatas←v8876;
return;
}
static void OutlineFilledPathsUnderPoint←P420(formal←c0220, slice←v9044, point←v9072, tolerance←v9100)
word formal←c0220;
word slice←v9044;
W2 point←v9072;
word tolerance←v9100;
{
register ptr gf←c88004 = (ptr) &globalframe;
word hitData←v9144;
word moreHitDatas←v9172;
word outlineData←v23040;
word thisHole←v23068 = 0;
word thisHitData←v23096 = 0;
word holeHitData←v23124 = 0;
word childHitDatas←v23152 = 0;
word thisSuccess←v23180 = 0;
word success←v23208 = 0;
word fence←v23236;
word pointInSomeHole←v23264 = 0;
/* OutlineFilledPathsUnderPoint: */
SOURCE(10280, 1179)
SOURCE(10280, 1179)
hitData←v9144 = 0;
SOURCE(10280, 1179)
moreHitDatas←v9172 = 0;
SOURCE(10435, 45)
outlineData←v23040 = XR←Narrow((* (( (ptr) slice←v9044)+1) ), (* (( (ptr) gf←c88004)+7) ));
SOURCE(10616, 41)
fence←v23236 = (* (ptr) (* (( (ptr) outlineData←v23040)+4) ) );
{
word var←c82852;
SOURCE(10691, 42)
if (((* (( (ptr) outlineData←v23040)+1) ) == 0)) {
SOURCE(10727, 6)
goto lab←L100020;
};
SOURCE(10735, 96)
{
word pd67;
{
word pd66;
pd66 = (* (( (ptr) (* (( (ptr) gf←c88004)+209)/* var←c82276 */ ))+9) );
var←c82852 = (word) ( *( (fPt) ((* (ptr) pd66 ))))(slice←v9044, 0, pd66);
};
pd67 = (* (( (ptr) (* (( (ptr) gf←c88004)+210)/* var←c82308 */ ))+22) );
if ((0 == (word) ( *( (fPt) ((* (ptr) pd67 ))))(point←v9072, var←c82852, tolerance←v9100, pd67))) {
SOURCE(10825, 6)
goto lab←L100020;
};
};
SOURCE(10834, 267)
{
register word childList←v23416;
childList←v23416 = (* (( (ptr) (* (( (ptr) outlineData←v23040)+4) ))+1) );
lab←L100024: ;
if ((childList←v23416 != 0)) {
}
else {
goto lab←L100021;
};
SOURCE(10930, 26)
thisHole←v23068 = (* (ptr) childList←v23416 );
SOURCE(10958, 91)
{
W2 var←c82884;
{
word pd68;
pd68 = (* (( (ptr) (* (( (ptr) gf←c88004)+209)/* var←c82276 */ ))+48) );
(void) ( *( (fPt) ((* (ptr) pd68 ))))((word) &var←c82884, thisHole←v23068, point←v9072, tolerance←v9100, pd68);
};
childHitDatas←v23152 = var←c82884.f1;
holeHitData←v23124 = var←c82884.f0;
};
SOURCE(11051, 50)
if ((holeHitData←v23124 != 0)) {
SOURCE(11079, 22)
pointInSomeHole←v23264 = 1;
SOURCE(11103, 4)
goto lab←L100022;
};
childList←v23416 = (* (( (ptr) childList←v23416)+1) );
goto lab←L100024;
lab←L100021: ;
lab←L100022: ;
};
SOURCE(11121, 75)
{
W2 var←c82916;
{
word pd69;
pd69 = (* (( (ptr) (* (( (ptr) gf←c88004)+209)/* var←c82276 */ ))+48) );
(void) ( *( (fPt) ((* (ptr) pd69 ))))((word) &var←c82916, fence←v23236, point←v9072, tolerance←v9100, pd69);
};
thisHitData←v23096 = var←c82916.f0;
};
SOURCE(11198, 261)
if ((thisHitData←v23096 != 0)) {
SOURCE(11245, 101)
if ((0 != pointInSomeHole←v23264)) {
SOURCE(11269, 22)
hitData←v9144 = 0;
moreHitDatas←v9172 = 0;
goto lab←L100020;
}
else {
SOURCE(11291, 55)
{
word var←c82948;
var←c82948 = XR←NewObject(8, (* (( (ptr) gf←c88004)+6) ));
(* (ptr) var←c82948 ) = fence←v23236;
(* (( (ptr) var←c82948)+1) ) = thisHitData←v23096;
hitData←v9144 = var←c82948;
};
};
}
else {
SOURCE(11355, 104)
if ((0 != pointInSomeHole←v23264)) {
SOURCE(11379, 64)
{
word var←c82980;
var←c82980 = XR←NewObject(8, (* (( (ptr) gf←c88004)+6) ));
(* (ptr) var←c82980 ) = thisHole←v23068;
(* (( (ptr) var←c82980)+1) ) = holeHitData←v23124;
hitData←v9144 = var←c82980;
};
}
else {
SOURCE(11443, 16)
hitData←v9144 = 0;
moreHitDatas←v9172 = 0;
goto lab←L100020;
};
};
};
/* removed tail goto */
lab←L100020: ;
(* (ptr) formal←c0220 ) = hitData←v9144;
(* (( (ptr) formal←c0220)+1) ) = moreHitDatas←v9172;
return;
}
static void LineIntersection←P480(formal←c0238, sliceD←v9340, line←v9368)
word formal←c0238;
word sliceD←v9340;
word line←v9368;
{
register ptr gf←c88036 = (ptr) &globalframe;
word points←v9412;
word pointCount←v9440;
word segGen←v23544 = 0;
word outlineParts←v23572;
word thesePoints←v23600 = 0;
word thisCount←v23628;
/* LineIntersection: */
SOURCE(11465, 845)
SOURCE(11465, 845)
points←v9412 = 0;
SOURCE(11465, 845)
pointCount←v9440 = 0;
SOURCE(11629, 49)
outlineParts←v23572 = XR←Narrow((* (( (ptr) sliceD←v9340)+1) ), (* (( (ptr) gf←c88036)+5) ));
SOURCE(11724, 586)
{
register word descriptors←v23756;
descriptors←v23756 = (* (ptr) outlineParts←v23572 );
lab←L100029: ;
if ((descriptors←v23756 != 0)) {
}
else {
goto lab←L100026;
};
{
word childD←v23884;
SOURCE(11837, 43)
childD←v23884 = (* (ptr) descriptors←v23756 );
SOURCE(11882, 21)
if ((childD←v23884 == 0)) {
SOURCE(11903, 4)
goto lab←L100028;
};
SOURCE(11909, 48)
{
word pd70;
pd70 = (* (( (ptr) (* (( (ptr) gf←c88036)+209)/* var←c82276 */ ))+39) );
segGen←v23544 = (word) ( *( (fPt) ((* (ptr) pd70 ))))(childD←v23884, pd70);
};
SOURCE(11959, 351)
{
register word seg←v23928;
W2 var←c0232;
W2 var←c0237;
{
word pd71;
pd71 = (* (( (ptr) (* (( (ptr) gf←c88036)+209)/* var←c82276 */ ))+43) );
(void) ( *( (fPt) ((* (ptr) pd71 ))))((word) &var←c0232, (* (ptr) childD←v23884 ), segGen←v23544, pd71);
};
seg←v23928 = var←c0232.f0;
lab←L100033: ;
if ((seg←v23928 != 0)) {
}
else {
goto lab←L100030;
};
SOURCE(12096, 64)
{
W2 var←c83012;
{
word pd72;
pd72 = (* (( (ptr) (* (ptr) seg←v23928 ))+21) );
(void) ( *( (fPt) ((* (ptr) pd72 ))))((word) &var←c83012, seg←v23928, line←v9368, pd72);
};
thisCount←v23628 = var←c83012.f1;
thesePoints←v23600 = var←c83012.f0;
};
SOURCE(12162, 102)
{
register word list←v23972;
list←v23972 = thesePoints←v23600;
lab←L100037: ;
if ((list←v23972 != 0)) {
}
else {
goto lab←L100034;
};
SOURCE(12231, 33)
{
word var←c83044;
var←c83044 = XR←NewObject(12, (* (( (ptr) gf←c88036)+10) ));
(* (W2Pt) var←c83044 ) = (* (W2Pt) list←v23972 );
(* (( (ptr) var←c83044)+2) ) = points←v9412;
points←v9412 = var←c83044;
};
list←v23972 = (* (( (ptr) list←v23972)+2) );
goto lab←L100037;
lab←L100034: ;
};
SOURCE(12275, 35)
pointCount←v9440 = SGNCK((pointCount←v9440 + thisCount←v23628));
{
word pd73;
pd73 = (* (( (ptr) (* (( (ptr) gf←c88036)+209)/* var←c82276 */ ))+43) );
(void) ( *( (fPt) ((* (ptr) pd73 ))))((word) &var←c0237, (* (ptr) childD←v23884 ), segGen←v23544, pd73);
};
seg←v23928 = var←c0237.f0;
goto lab←L100033;
lab←L100030: ;
};
};
lab←L100028: ;
descriptors←v23756 = (* (( (ptr) descriptors←v23756)+1) );
goto lab←L100029;
lab←L100026: ;
};
/* removed tail goto */
(* (ptr) formal←c0238 ) = points←v9412;
(* (( (ptr) formal←c0238)+1) ) = pointCount←v9440;
return;
}
static void CircleIntersection←P540(formal←c0256, sliceD←v9584, circle←v9612)
word formal←c0256;
word sliceD←v9584;
word circle←v9612;
{
register ptr gf←c88068 = (ptr) &globalframe;
word points←v9656;
word pointCount←v9684;
word segGen←v24100 = 0;
word outlineParts←v24128;
word thesePoints←v24156 = 0;
word thisCount←v24184;
/* CircleIntersection: */
SOURCE(12334, 855)
SOURCE(12334, 855)
points←v9656 = 0;
SOURCE(12334, 855)
pointCount←v9684 = 0;
SOURCE(12504, 49)
outlineParts←v24128 = XR←Narrow((* (( (ptr) sliceD←v9584)+1) ), (* (( (ptr) gf←c88068)+5) ));
SOURCE(12599, 590)
{
register word descriptors←v24312;
descriptors←v24312 = (* (ptr) outlineParts←v24128 );
lab←L100042: ;
if ((descriptors←v24312 != 0)) {
}
else {
goto lab←L100039;
};
{
word childD←v24440;
SOURCE(12712, 43)
childD←v24440 = (* (ptr) descriptors←v24312 );
SOURCE(12757, 21)
if ((childD←v24440 == 0)) {
SOURCE(12778, 4)
goto lab←L100041;
};
SOURCE(12784, 48)
{
word pd74;
pd74 = (* (( (ptr) (* (( (ptr) gf←c88068)+209)/* var←c82276 */ ))+39) );
segGen←v24100 = (word) ( *( (fPt) ((* (ptr) pd74 ))))(childD←v24440, pd74);
};
SOURCE(12834, 355)
{
register word seg←v24484;
W2 var←c0250;
W2 var←c0255;
{
word pd75;
pd75 = (* (( (ptr) (* (( (ptr) gf←c88068)+209)/* var←c82276 */ ))+43) );
(void) ( *( (fPt) ((* (ptr) pd75 ))))((word) &var←c0250, (* (ptr) childD←v24440 ), segGen←v24100, pd75);
};
seg←v24484 = var←c0250.f0;
lab←L100046: ;
if ((seg←v24484 != 0)) {
}
else {
goto lab←L100043;
};
SOURCE(12971, 68)
{
W2 var←c83076;
{
word pd76;
pd76 = (* (( (ptr) (* (ptr) seg←v24484 ))+22) );
(void) ( *( (fPt) ((* (ptr) pd76 ))))((word) &var←c83076, seg←v24484, circle←v9612, pd76);
};
thisCount←v24184 = var←c83076.f1;
thesePoints←v24156 = var←c83076.f0;
};
SOURCE(13041, 102)
{
register word list←v24528;
list←v24528 = thesePoints←v24156;
lab←L100050: ;
if ((list←v24528 != 0)) {
}
else {
goto lab←L100047;
};
SOURCE(13110, 33)
{
word var←c83108;
var←c83108 = XR←NewObject(12, (* (( (ptr) gf←c88068)+10) ));
(* (W2Pt) var←c83108 ) = (* (W2Pt) list←v24528 );
(* (( (ptr) var←c83108)+2) ) = points←v9656;
points←v9656 = var←c83108;
};
list←v24528 = (* (( (ptr) list←v24528)+2) );
goto lab←L100050;
lab←L100047: ;
};
SOURCE(13154, 35)
pointCount←v9684 = SGNCK((pointCount←v9684 + thisCount←v24184));
{
word pd77;
pd77 = (* (( (ptr) (* (( (ptr) gf←c88068)+209)/* var←c82276 */ ))+43) );
(void) ( *( (fPt) ((* (ptr) pd77 ))))((word) &var←c0255, (* (ptr) childD←v24440 ), segGen←v24100, pd77);
};
seg←v24484 = var←c0255.f0;
goto lab←L100046;
lab←L100043: ;
};
};
lab←L100041: ;
descriptors←v24312 = (* (( (ptr) descriptors←v24312)+1) );
goto lab←L100042;
lab←L100039: ;
};
/* removed tail goto */
(* (ptr) formal←c0256 ) = points←v9656;
(* (( (ptr) formal←c0256)+1) ) = pointCount←v9684;
return;
}
static word HitDataAsSimpleCurve←P600(slice←v9828, hitData←v9856)
word slice←v9828;
word hitData←v9856;
{
register ptr gf←c88100 = (ptr) &globalframe;
word simpleCurve←v9912;
word outlineHitData←v24656;
/* HitDataAsSimpleCurve: */
SOURCE(13213, 248)
SOURCE(13213, 248)
simpleCurve←v9912 = 0;
SOURCE(13315, 48)
outlineHitData←v24656 = XR←Narrow(hitData←v9856, (* (( (ptr) gf←c88100)+6) ));
SOURCE(13365, 96)
{
word pd78;
pd78 = (* (( (ptr) (* (( (ptr) gf←c88100)+209)/* var←c82276 */ ))+51) );
simpleCurve←v9912 = (word) ( *( (fPt) ((* (ptr) pd78 ))))((* (ptr) outlineHitData←v24656 ), (* (( (ptr) outlineHitData←v24656)+1)
), pd78);
};
SOURCE(13213, 248)
return(simpleCurve←v9912);
}
static void PathOfHitData←P660(formal←c0266, slice←v9984, hitData←v10012)
word formal←c0266;
word slice←v9984;
word hitData←v10012;
{
register ptr gf←c88132 = (ptr) &globalframe;
word path←v10068;
word pathHitData←v10096;
/* PathOfHitData: */
SOURCE(13467, 306)
SOURCE(13467, 306)
path←v10068 = 0;
SOURCE(13467, 306)
pathHitData←v10096 = 0;
SOURCE(13575, 12)
path←v10068 = slice←v9984;
SOURCE(13589, 21)
pathHitData←v10096 = hitData←v10012;
SOURCE(13612, 161)
lab←L100054: ;
{
word pd79;
pd79 = (* (( (ptr) (* (( (ptr) gf←c88132)+207)/* var←c82180 */ ))+62) );
if ((word) ( *( (fPt) ((* (ptr) pd79 ))))(path←v10068, pd79)) {
}
else {
goto lab←L100052;
};
};
{
word outlineHitData←v24700;
SOURCE(13649, 52)
outlineHitData←v24700 = XR←Narrow(pathHitData←v10096, (* (( (ptr) gf←c88132)+6) ));
SOURCE(13703, 27)
path←v10068 = (* (ptr) outlineHitData←v24700 );
SOURCE(13732, 41)
pathHitData←v10096 = (* (( (ptr) outlineHitData←v24700)+1) );
};
goto lab←L100054;
lab←L100052: ;
/* removed tail goto */
(* (ptr) formal←c0266 ) = path←v10068;
(* (( (ptr) formal←c0266)+1) ) = pathHitData←v10096;
return;
}
static void SetDefaults←P720(slice←v10168, parts←v10196, formal←c01098, history←v10252)
word slice←v10168;
word parts←v10196;
word formal←c01098;
word history←v10252;
{
W7 var←c88164;
/* declaration of defaults←v10224 skipped */
register ptr gf←c88196 = (ptr) &globalframe;
/* declaration of var←c83140 skipped */
word outlineParts←v24772;
word outlineData←v24800;
var←c88164.f4/* defaults←v10224 */ = formal←c01098;
/* SetDefaults: */
SOURCE(13789, 1218)
{
word tmpAddr80;
tmpAddr80 = (word) (( (ptr) &var←c88164)+5)/* var←c83140 */ ;
(* (ptr) tmpAddr80 ) = ( ((word) (fPt) ChildSetDefaults←P5988) );
(* (( (ptr) tmpAddr80) + 1) ) = 1;
};
SOURCE(14509, 42)
outlineParts←v24772 = XR←Narrow(parts←v10196, (* (( (ptr) gf←c88196)+5) ));
SOURCE(14553, 45)
outlineData←v24800 = XR←Narrow((* (( (ptr) slice←v10168)+1) ), (* (( (ptr) gf←c88196)+7) ));
SOURCE(14600, 42)
(* (( (ptr) outlineData←v24800)+1) ) = (* (( (ptr) var←c88164.f4/* defaults←v10224 */ )+8) );
SOURCE(14644, 363)
if ((parts←v10196 == 0)) {
SOURCE(14664, 131)
{
register word childList←v24932;
childList←v24932 = (* (( (ptr) outlineData←v24800)+4) );
lab←L100058: ;
if ((childList←v24932 != 0)) {
}
else {
goto lab←L100055;
};
SOURCE(14757, 38)
(void) ChildSetDefaults←P5988((* (ptr) childList←v24932 ), 0, (word) (( (bPt) &var←c88164)+20)/* var←c83140 */ );
childList←v24932 = (* (( (ptr) childList←v24932)+1) );
goto lab←L100058;
lab←L100055: ;
};
}
else {
SOURCE(14810, 197)
{
register word partsList←v25060;
partsList←v25060 = (* (ptr) outlineParts←v24772 );
lab←L100062: ;
if ((partsList←v25060 != 0)) {
}
else {
goto lab←L100059;
};
SOURCE(14917, 90)
if (((* (ptr) partsList←v25060 ) != 0)) {
SOURCE(14945, 62)
(void) ChildSetDefaults←P5988((* (ptr) (* (ptr) partsList←v25060 ) ), (* (( (ptr) (* (ptr) partsList←v25060 ))+1) ), (word) (
( (bPt) &var←c88164)+20)/* var←c83140 */ );
};
partsList←v25060 = (* (( (ptr) partsList←v25060)+1) );
goto lab←L100062;
lab←L100059: ;
};
};
}
static void ChildSetDefaults←P5988(child←v24876, parts←v24904, formal←c88260)
word child←v24876;
word parts←v24904;
word formal←c88260;
{
register ptr gf←c88228 = (ptr) &globalframe;
formal←c88260 = (formal←c88260 - 20);
/* ChildSetDefaults: */
SOURCE(13898, 573)
SOURCE(13959, 71)
{
word var←c83172;
word pd81;
pd81 = (* (( (ptr) (* (( (ptr) gf←c88228)+209)/* var←c82276 */ ))+53) );
var←c83172 = (word) ( *( (fPt) ((* (ptr) pd81 ))))(child←v24876, parts←v24904, (* (ptr) (* (( (ptr) formal←c88260)+4) ) ), 0, pd81)
;
};
SOURCE(14032, 62)
{
word pd82;
pd82 = (* (( (ptr) (* (( (ptr) gf←c88228)+209)/* var←c82276 */ ))+55) );
(void) ( *( (fPt) ((* (ptr) pd82 ))))(child←v24876, parts←v24904, (* (( (ptr) (* (( (ptr) formal←c88260)+4) ))+2) ), 0, pd82)
;
};
SOURCE(14096, 66)
{
word pd83;
pd83 = (* (( (ptr) (* (( (ptr) gf←c88228)+209)/* var←c82276 */ ))+57) );
(void) ( *( (fPt) ((* (ptr) pd83 ))))(child←v24876, parts←v24904, (* (( (ptr) (* (( (ptr) formal←c88260)+4) ))+1) ), 0, pd83)
;
};
SOURCE(14164, 131)
{
word var←c83204;
{
word pd84;
pd84 = (* (( (ptr) (* (( (ptr) gf←c88228)+212)/* var←c83236 */ ))+37) );
var←c83204 = (word) ( *( (fPt) ((* (ptr) pd84 ))))((* ((( (ptr) (* (( (ptr) formal←c88260)+4) ))+4)) ), pd84);
};
{
word pd85;
pd85 = (* (( (ptr) (* (( (ptr) gf←c88228)+209)/* var←c82276 */ ))+65) );
(void) ( *( (fPt) ((* (ptr) pd85 ))))(child←v24876, parts←v24904, (* (( (ptr) (* (( (ptr) formal←c88260)+4) ))+3) ), var←c83204, (* (
( (ptr) (* (( (ptr) formal←c88260)+4) ))+5) ), (* (( (ptr) (* (( (ptr) formal←c88260)+4) ))+6) )
, 0, pd85);
};
};
SOURCE(14297, 72)
{
word pd86;
pd86 = (* (( (ptr) (* (( (ptr) gf←c88228)+209)/* var←c82276 */ ))+59) );
(void) ( *( (fPt) ((* (ptr) pd86 ))))(child←v24876, parts←v24904, (* (( (ptr) (* (( (ptr) formal←c88260)+4) ))+7) ), (* (
( (ptr) gf←c88228)+27) ), 0, pd86);
};
SOURCE(14403, 68)
{
word pd87;
pd87 = (* (( (ptr) (* (( (ptr) gf←c88228)+209)/* var←c82276 */ ))+61) );
(void) ( *( (fPt) ((* (ptr) pd87 ))))(child←v24876, parts←v24904, (* (( (ptr) (* (( (ptr) formal←c88260)+4) ))+8) ), (* (
( (ptr) gf←c88228)+27) ), 0, pd87);
};
}
static word SetStrokeWidth←P780(slice←v10312, parts←v10340, strokeWidth←v10368, history←v10396)
word slice←v10312;
word parts←v10340;
word strokeWidth←v10368;
word history←v10396;
{
register ptr gf←c88292 = (ptr) &globalframe;
word box←v10440;
word outlineParts←v25188;
word outlineData←v25216;
/* SetStrokeWidth: */
SOURCE(15022, 703)
SOURCE(15022, 703)
box←v10440 = 0;
SOURCE(15154, 42)
outlineParts←v25188 = XR←Narrow(parts←v10340, (* (( (ptr) gf←c88292)+5) ));
SOURCE(15198, 45)
outlineData←v25216 = XR←Narrow((* (( (ptr) slice←v10312)+1) ), (* (( (ptr) gf←c88292)+7) ));
SOURCE(15245, 399)
if ((parts←v10340 == 0)) {
SOURCE(15265, 163)
{
register word childList←v25260;
childList←v25260 = (* (( (ptr) outlineData←v25216)+4) );
lab←L100066: ;
if ((childList←v25260 != 0)) {
}
else {
goto lab←L100063;
};
SOURCE(15358, 70)
{
word var←c83268;
word pd88;
pd88 = (* (( (ptr) (* (( (ptr) gf←c88292)+209)/* var←c82276 */ ))+53) );
var←c83268 = (word) ( *( (fPt) ((* (ptr) pd88 ))))((* (ptr) childList←v25260 ), 0, strokeWidth←v10368, 0, pd88);
};
childList←v25260 = (* (( (ptr) childList←v25260)+1) );
goto lab←L100066;
lab←L100063: ;
};
}
else {
SOURCE(15443, 201)
{
register word list←v25388;
list←v25388 = (* (ptr) outlineParts←v25188 );
lab←L100070: ;
if ((list←v25388 != 0)) {
}
else {
goto lab←L100067;
};
SOURCE(15535, 109)
if (((* (ptr) list←v25388 ) != 0)) {
SOURCE(15560, 84)
{
word var←c83300;
word pd89;
pd89 = (* (( (ptr) (* (( (ptr) gf←c88292)+209)/* var←c82276 */ ))+53) );
var←c83300 = (word) ( *( (fPt) ((* (ptr) pd89 ))))((* (ptr) (* (ptr) list←v25388 ) ), (* (( (ptr) (* (ptr) list←v25388 ))+1)
), strokeWidth←v10368, 0, pd89);
};
};
list←v25388 = (* (( (ptr) list←v25388)+1) );
goto lab←L100070;
lab←L100067: ;
};
};
SOURCE(15658, 67)
{
word var←c83332;
{
word pd90;
pd90 = (* (( (ptr) (* (( (ptr) gf←c88292)+209)/* var←c82276 */ ))+7) );
var←c83332 = (word) ( *( (fPt) ((* (ptr) pd90 ))))(slice←v10312, parts←v10340, pd90);
};
{
word pd91;
pd91 = (* (( (ptr) (* (( (ptr) gf←c88292)+210)/* var←c82308 */ ))+7) );
box←v10440 = (word) ( *( (fPt) ((* (ptr) pd91 ))))(var←c83332, pd91);
};
};
SOURCE(15022, 703)
return(box←v10440);
}
static void GetStrokeWidth←P840(formal←c0298, slice←v10500, parts←v10528)
word formal←c0298;
word slice←v10500;
word parts←v10528;
{
W8 var←c88324;
/* declaration of strokeWidth←v10572 skipped */
word isUnique←v10600;
/* declaration of var←c83364 skipped */
/* declaration of found←v25516 skipped */
/* GetStrokeWidth: */
SOURCE(15731, 637)
{
word tmpAddr92;
tmpAddr92 = (word) (( (ptr) &var←c88324)+5)/* var←c83364 */ ;
(* (ptr) tmpAddr92 ) = ( ((word) (fPt) DoCheckStrokeWidth←P6240) );
(* (( (ptr) tmpAddr92) + 1) ) = 1;
};
SOURCE(15731, 637)
var←c88324.f4/* strokeWidth←v10572 */ = (* (ptr) &fc49 );
SOURCE(15731, 637)
isUnique←v10600 = 1;
SOURCE(15855, 19)
var←c88324.f7/* found←v25516 */ = 0;
SOURCE(16285, 83)
if ((0 == (word) WalkIncludedParts←P3540(slice←v10500, parts←v10528, 0, (word) (( (bPt) &var←c88324)+20)/* var←c83364 */ , 0)
)) {
isUnique←v10600 = (unsigned) (0 != var←c88324.f7/* found←v25516 */ );
}
else {
isUnique←v10600 = (unsigned) 0;
};
/* removed tail goto */
(* (ptr) formal←c0298 ) = var←c88324.f4/* strokeWidth←v10572 */ ;
(* (( (ptr) formal←c0298)+1) ) = isUnique←v10600;
return;
}
static word DoCheckStrokeWidth←P6240(child←v25620, childParts←v25648, formal←c88388)
word child←v25620;
word childParts←v25648;
word formal←c88388;
{
register ptr gf←c88356 = (ptr) &globalframe;
word done←v25692;
word thisIsUnique←v25720 = 1;
word thisWidth←v25748;
formal←c88388 = (formal←c88388 - 20);
/* DoCheckStrokeWidth: */
SOURCE(15876, 398)
SOURCE(15876, 398)
done←v25692 = 0;
SOURCE(16017, 72)
{
W2 var←c83396;
{
word pd93;
pd93 = (* (( (ptr) (* (( (ptr) gf←c88356)+209)/* var←c82276 */ ))+54) );
(void) ( *( (fPt) ((* (ptr) pd93 ))))((word) &var←c83396, child←v25620, childParts←v25648, pd93);
};
thisIsUnique←v25720 = var←c83396.f1;
thisWidth←v25748 = var←c83396.f0;
};
SOURCE(16091, 183)
if ((0 == thisIsUnique←v25720)) {
SOURCE(16118, 23)
(* (( (ptr) formal←c88388)+4) ) = thisWidth←v25748;
SOURCE(16143, 12)
return(1);
}
else {
SOURCE(16166, 108)
if ((0 != (* (( (ptr) formal←c88388)+7) ))) {
SOURCE(16182, 44)
{
word x94;
word x95;
if (((
x94 = thisWidth←v25748, *(float*)&x94
) != (
x95 = (* (( (ptr) formal←c88388)+4) ), *(float*)&x95
))) {
SOURCE(16214, 12)
return(1);
};
};
}
else {
SOURCE(16237, 23)
(* (( (ptr) formal←c88388)+4) ) = thisWidth←v25748;
SOURCE(16262, 12)
(* (( (ptr) formal←c88388)+7) ) = 1;
};
};
SOURCE(15876, 398)
return(done←v25692);
}
static void SetStrokeEnd←P900(slice←v10660, parts←v10688, strokeEnd←v10716, history←v10744)
word slice←v10660;
word parts←v10688;
word strokeEnd←v10716;
word history←v10744;
{
register ptr gf←c88420 = (ptr) &globalframe;
word outlineParts←v25792;
word outlineData←v25820;
/* SetStrokeEnd: */
SOURCE(16374, 589)
SOURCE(16483, 42)
outlineParts←v25792 = XR←Narrow(parts←v10688, (* (( (ptr) gf←c88420)+5) ));
SOURCE(16527, 45)
outlineData←v25820 = XR←Narrow((* (( (ptr) slice←v10660)+1) ), (* (( (ptr) gf←c88420)+7) ));
SOURCE(16574, 389)
if ((parts←v10688 == 0)) {
SOURCE(16594, 159)
{
register word childList←v25864;
childList←v25864 = (* (( (ptr) outlineData←v25820)+4) );
lab←L100075: ;
if ((childList←v25864 != 0)) {
}
else {
goto lab←L100072;
};
SOURCE(16687, 66)
{
word pd96;
pd96 = (* (( (ptr) (* (( (ptr) gf←c88420)+209)/* var←c82276 */ ))+55) );
(void) ( *( (fPt) ((* (ptr) pd96 ))))((* (ptr) childList←v25864 ), 0, strokeEnd←v10716, 0, pd96);
};
childList←v25864 = (* (( (ptr) childList←v25864)+1) );
goto lab←L100075;
lab←L100072: ;
};
}
else {
SOURCE(16768, 195)
{
register word list←v25992;
list←v25992 = (* (ptr) outlineParts←v25792 );
lab←L100079: ;
if ((list←v25992 != 0)) {
}
else {
goto lab←L100076;
};
SOURCE(16860, 103)
if (((* (ptr) list←v25992 ) != 0)) {
SOURCE(16883, 80)
{
word pd97;
pd97 = (* (( (ptr) (* (( (ptr) gf←c88420)+209)/* var←c82276 */ ))+55) );
(void) ( *( (fPt) ((* (ptr) pd97 ))))((* (ptr) (* (ptr) list←v25992 ) ), (* (( (ptr) (* (ptr) list←v25992 ))+1) ), strokeEnd←v10716, 0, pd97)
;
};
};
list←v25992 = (* (( (ptr) list←v25992)+1) );
goto lab←L100079;
lab←L100076: ;
};
};
}
static void GetStrokeEnd←P960(formal←c0320, slice←v10804, parts←v10832)
word formal←c0320;
word slice←v10804;
word parts←v10832;
{
W8 var←c88452;
/* declaration of strokeEnd←v10876 skipped */
word isUnique←v10904;
/* declaration of var←c83428 skipped */
/* declaration of found←v26120 skipped */
/* GetStrokeEnd: */
SOURCE(16978, 622)
{
word tmpAddr98;
tmpAddr98 = (word) (( (ptr) &var←c88452)+5)/* var←c83428 */ ;
(* (ptr) tmpAddr98 ) = ( ((word) (fPt) DoCheckStrokeEnd←P6396) );
(* (( (ptr) tmpAddr98) + 1) ) = 1;
};
SOURCE(16978, 622)
var←c88452.f4/* strokeEnd←v10876 */ = 2;
SOURCE(16978, 622)
isUnique←v10904 = 1;
SOURCE(17104, 19)
var←c88452.f7/* found←v26120 */ = 0;
SOURCE(17519, 81)
if ((0 == (word) WalkIncludedParts←P3540(slice←v10804, parts←v10832, 0, (word) (( (bPt) &var←c88452)+20)/* var←c83428 */ , 0)
)) {
isUnique←v10904 = (unsigned) (0 != var←c88452.f7/* found←v26120 */ );
}
else {
isUnique←v10904 = (unsigned) 0;
};
/* removed tail goto */
(* (ptr) formal←c0320 ) = var←c88452.f4/* strokeEnd←v10876 */ ;
(* (( (ptr) formal←c0320)+1) ) = isUnique←v10904;
return;
}
static word DoCheckStrokeEnd←P6396(child←v26224, childParts←v26252, formal←c88516)
word child←v26224;
word childParts←v26252;
word formal←c88516;
{
register ptr gf←c88484 = (ptr) &globalframe;
word done←v26296;
word thisIsUnique←v26324 = 1;
word thisEnd←v26352;
formal←c88516 = (formal←c88516 - 20);
/* DoCheckStrokeEnd: */
SOURCE(17125, 383)
SOURCE(17125, 383)
done←v26296 = 0;
SOURCE(17267, 68)
{
W2 var←c83460;
{
word pd99;
pd99 = (* (( (ptr) (* (( (ptr) gf←c88484)+209)/* var←c82276 */ ))+56) );
(void) ( *( (fPt) ((* (ptr) pd99 ))))((word) &var←c83460, child←v26224, childParts←v26252, pd99);
};
thisIsUnique←v26324 = var←c83460.f1;
thisEnd←v26352 = var←c83460.f0;
};
SOURCE(17337, 171)
if ((0 == thisIsUnique←v26324)) {
SOURCE(17364, 19)
(* (( (ptr) formal←c88516)+4) ) = thisEnd←v26352;
SOURCE(17385, 12)
return(1);
}
else {
SOURCE(17408, 100)
if ((0 != (* (( (ptr) formal←c88516)+7) ))) {
SOURCE(17424, 40)
if ((thisEnd←v26352 != (* (( (ptr) formal←c88516)+4) ))) {
SOURCE(17452, 12)
return(1);
};
}
else {
SOURCE(17475, 19)
(* (( (ptr) formal←c88516)+4) ) = thisEnd←v26352;
SOURCE(17496, 12)
(* (( (ptr) formal←c88516)+7) ) = 1;
};
};
SOURCE(17125, 383)
return(done←v26296);
}
static void SetStrokeJoint←P1020(slice←v10964, parts←v10992, strokeJoint←v11020, history←v11048)
word slice←v10964;
word parts←v10992;
word strokeJoint←v11020;
word history←v11048;
{
register ptr gf←c88548 = (ptr) &globalframe;
word outlineParts←v26396;
word outlineData←v26424;
/* SetStrokeJoint: */
SOURCE(17606, 603)
SOURCE(17721, 42)
outlineParts←v26396 = XR←Narrow(parts←v10992, (* (( (ptr) gf←c88548)+5) ));
SOURCE(17765, 45)
outlineData←v26424 = XR←Narrow((* (( (ptr) slice←v10964)+1) ), (* (( (ptr) gf←c88548)+7) ));
SOURCE(17812, 397)
if ((parts←v10992 == 0)) {
SOURCE(17832, 163)
{
register word childList←v26468;
childList←v26468 = (* (( (ptr) outlineData←v26424)+4) );
lab←L100084: ;
if ((childList←v26468 != 0)) {
}
else {
goto lab←L100081;
};
SOURCE(17925, 70)
{
word pd100;
pd100 = (* (( (ptr) (* (( (ptr) gf←c88548)+209)/* var←c82276 */ ))+57) );
(void) ( *( (fPt) ((* (ptr) pd100 ))))((* (ptr) childList←v26468 ), 0, strokeJoint←v11020, 0, pd100);
};
childList←v26468 = (* (( (ptr) childList←v26468)+1) );
goto lab←L100084;
lab←L100081: ;
};
}
else {
SOURCE(18010, 199)
{
register word list←v26596;
list←v26596 = (* (ptr) outlineParts←v26396 );
lab←L100088: ;
if ((list←v26596 != 0)) {
}
else {
goto lab←L100085;
};
SOURCE(18102, 107)
if (((* (ptr) list←v26596 ) != 0)) {
SOURCE(18125, 84)
{
word pd101;
pd101 = (* (( (ptr) (* (( (ptr) gf←c88548)+209)/* var←c82276 */ ))+57) );
(void) ( *( (fPt) ((* (ptr) pd101 ))))((* (ptr) (* (ptr) list←v26596 ) ), (* (( (ptr) (* (ptr) list←v26596 ))+1) ), strokeJoint←v11020, 0, pd101)
;
};
};
list←v26596 = (* (( (ptr) list←v26596)+1) );
goto lab←L100088;
lab←L100085: ;
};
};
}
static void GetStrokeJoint←P1080(formal←c0342, slice←v11108, parts←v11136)
word formal←c0342;
word slice←v11108;
word parts←v11136;
{
W8 var←c88580;
/* declaration of strokeJoint←v11180 skipped */
word isUnique←v11208;
/* declaration of var←c83492 skipped */
/* declaration of found←v26724 skipped */
/* GetStrokeJoint: */
SOURCE(18224, 652)
{
word tmpAddr102;
tmpAddr102 = (word) (( (ptr) &var←c88580)+5)/* var←c83492 */ ;
(* (ptr) tmpAddr102 ) = ( ((word) (fPt) DoCheckStrokeJoint←P6552) );
(* (( (ptr) tmpAddr102) + 1) ) = 1;
};
SOURCE(18224, 652)
var←c88580.f4/* strokeJoint←v11180 */ = 2;
SOURCE(18224, 652)
isUnique←v11208 = 1;
SOURCE(18356, 19)
var←c88580.f7/* found←v26724 */ = 0;
SOURCE(18793, 83)
if ((0 == (word) WalkIncludedParts←P3540(slice←v11108, parts←v11136, 0, (word) (( (bPt) &var←c88580)+20)/* var←c83492 */ , 0)
)) {
isUnique←v11208 = (unsigned) (0 != var←c88580.f7/* found←v26724 */ );
}
else {
isUnique←v11208 = (unsigned) 0;
};
/* removed tail goto */
(* (ptr) formal←c0342 ) = var←c88580.f4/* strokeJoint←v11180 */ ;
(* (( (ptr) formal←c0342)+1) ) = isUnique←v11208;
return;
}
static word DoCheckStrokeJoint←P6552(child←v26828, childParts←v26856, formal←c88644)
word child←v26828;
word childParts←v26856;
word formal←c88644;
{
register ptr gf←c88612 = (ptr) &globalframe;
word done←v26900;
word thisIsUnique←v26928 = 1;
word thisJoint←v26956;
formal←c88644 = (formal←c88644 - 20);
/* DoCheckStrokeJoint: */
SOURCE(18377, 405)
SOURCE(18377, 405)
done←v26900 = 0;
SOURCE(18525, 72)
{
W2 var←c83524;
{
word pd103;
pd103 = (* (( (ptr) (* (( (ptr) gf←c88612)+209)/* var←c82276 */ ))+58) );
(void) ( *( (fPt) ((* (ptr) pd103 ))))((word) &var←c83524, child←v26828, childParts←v26856, pd103);
};
thisIsUnique←v26928 = var←c83524.f1;
thisJoint←v26956 = var←c83524.f0;
};
SOURCE(18599, 183)
if ((0 == thisIsUnique←v26928)) {
SOURCE(18626, 23)
(* (( (ptr) formal←c88644)+4) ) = thisJoint←v26956;
SOURCE(18651, 12)
return(1);
}
else {
SOURCE(18674, 108)
if ((0 != (* (( (ptr) formal←c88644)+7) ))) {
SOURCE(18690, 44)
if ((thisJoint←v26956 != (* (( (ptr) formal←c88644)+4) ))) {
SOURCE(18722, 12)
return(1);
};
}
else {
SOURCE(18745, 23)
(* (( (ptr) formal←c88644)+4) ) = thisJoint←v26956;
SOURCE(18770, 12)
(* (( (ptr) formal←c88644)+7) ) = 1;
};
};
SOURCE(18377, 405)
return(done←v26900);
}
static void SetStrokeColor←P1140(slice←v11268, parts←v11296, color←v11324, setHow←v11352, history←v11380)
word slice←v11268;
word parts←v11296;
word color←v11324;
word setHow←v11352;
word history←v11380;
{
register ptr gf←c88676 = (ptr) &globalframe;
word outlineParts←v27000;
word outlineData←v27028;
/* SetStrokeColor: */
SOURCE(18882, 611)
SOURCE(18999, 42)
outlineParts←v27000 = XR←Narrow(parts←v11296, (* (( (ptr) gf←c88676)+5) ));
SOURCE(19043, 45)
outlineData←v27028 = XR←Narrow((* (( (ptr) slice←v11268)+1) ), (* (( (ptr) gf←c88676)+7) ));
SOURCE(19090, 403)
if ((parts←v11296 == 0)) {
SOURCE(19110, 165)
{
register word childList←v27072;
childList←v27072 = (* (( (ptr) outlineData←v27028)+4) );
lab←L100093: ;
if ((childList←v27072 != 0)) {
}
else {
goto lab←L100090;
};
SOURCE(19203, 72)
{
word pd104;
pd104 = (* (( (ptr) (* (( (ptr) gf←c88676)+209)/* var←c82276 */ ))+59) );
(void) ( *( (fPt) ((* (ptr) pd104 ))))((* (ptr) childList←v27072 ), 0, color←v11324, setHow←v11352, 0, pd104);
};
childList←v27072 = (* (( (ptr) childList←v27072)+1) );
goto lab←L100093;
lab←L100090: ;
};
}
else {
SOURCE(19290, 203)
{
register word list←v27200;
list←v27200 = (* (ptr) outlineParts←v27000 );
lab←L100097: ;
if ((list←v27200 != 0)) {
}
else {
goto lab←L100094;
};
SOURCE(19382, 111)
if (((* (ptr) list←v27200 ) != 0)) {
SOURCE(19407, 86)
{
word pd105;
pd105 = (* (( (ptr) (* (( (ptr) gf←c88676)+209)/* var←c82276 */ ))+59) );
(void) ( *( (fPt) ((* (ptr) pd105 ))))((* (ptr) (* (ptr) list←v27200 ) ), (* (( (ptr) (* (ptr) list←v27200 ))+1) ), color←v11324, setHow←v11352, 0, pd105)
;
};
};
list←v27200 = (* (( (ptr) list←v27200)+1) );
goto lab←L100097;
lab←L100094: ;
};
};
}
static void GetStrokeColor←P1200(formal←c0365, slice←v11440, parts←v11468)
word formal←c0365;
word slice←v11440;
word parts←v11468;
{
W8 var←c88708;
/* declaration of color←v11512 skipped */
word isUnique←v11540;
/* declaration of var←c83556 skipped */
/* declaration of found←v27328 skipped */
/* GetStrokeColor: */
SOURCE(19511, 639)
{
word tmpAddr106;
tmpAddr106 = (word) (( (ptr) &var←c88708)+5)/* var←c83556 */ ;
(* (ptr) tmpAddr106 ) = ( ((word) (fPt) DoCheckStrokeColor←P6708) );
(* (( (ptr) tmpAddr106) + 1) ) = 1;
};
SOURCE(19511, 639)
var←c88708.f4/* color←v11512 */ = 0;
SOURCE(19511, 639)
isUnique←v11540 = 1;
SOURCE(19623, 19)
var←c88708.f7/* found←v27328 */ = 0;
SOURCE(20067, 83)
if ((0 == (word) WalkIncludedParts←P3540(slice←v11440, parts←v11468, 0, (word) (( (bPt) &var←c88708)+20)/* var←c83556 */ , 0)
)) {
isUnique←v11540 = (unsigned) (0 != var←c88708.f7/* found←v27328 */ );
}
else {
isUnique←v11540 = (unsigned) 0;
};
/* removed tail goto */
(* (ptr) formal←c0365 ) = var←c88708.f4/* color←v11512 */ ;
(* (( (ptr) formal←c0365)+1) ) = isUnique←v11540;
return;
}
static word DoCheckStrokeColor←P6708(child←v27432, childParts←v27460, formal←c88772)
word child←v27432;
word childParts←v27460;
word formal←c88772;
{
register ptr gf←c88740 = (ptr) &globalframe;
word done←v27504;
word thisIsUnique←v27532 = 1;
word thisColor←v27560 = 0;
formal←c88772 = (formal←c88772 - 20);
/* DoCheckStrokeColor: */
SOURCE(19644, 412)
SOURCE(19644, 412)
done←v27504 = 0;
SOURCE(19786, 72)
{
W2 var←c83588;
{
word pd107;
pd107 = (* (( (ptr) (* (( (ptr) gf←c88740)+209)/* var←c82276 */ ))+60) );
(void) ( *( (fPt) ((* (ptr) pd107 ))))((word) &var←c83588, child←v27432, childParts←v27460, pd107);
};
thisIsUnique←v27532 = var←c83588.f1;
thisColor←v27560 = var←c83588.f0;
};
SOURCE(19860, 196)
if ((0 == thisIsUnique←v27532)) {
SOURCE(19887, 17)
(* (( (ptr) formal←c88772)+4) ) = thisColor←v27560;
SOURCE(19906, 12)
return(1);
}
else {
SOURCE(19929, 127)
if ((0 != (* (( (ptr) formal←c88772)+7) ))) {
SOURCE(19945, 69)
{
word pd108;
pd108 = (* (( (ptr) (* (( (ptr) gf←c88740)+213)/* var←c83620 */ ))+35) );
if ((0 == (word) ( *( (fPt) ((* (ptr) pd108 ))))(thisColor←v27560, (* (( (ptr) formal←c88772)+4) ), pd108))) {
SOURCE(20002, 12)
return(1);
};
};
}
else {
SOURCE(20025, 17)
(* (( (ptr) formal←c88772)+4) ) = thisColor←v27560;
SOURCE(20044, 12)
(* (( (ptr) formal←c88772)+7) ) = 1;
};
};
SOURCE(19644, 412)
return(done←v27504);
}
static void SetFillColor←P1260(slice←v11600, parts←v11628, color←v11656, setHow←v11684, history←v11712)
word slice←v11600;
word parts←v11628;
word color←v11656;
word setHow←v11684;
word history←v11712;
{
register ptr gf←c88804 = (ptr) &globalframe;
word outlineData←v27604;
word outlineParts←v27632;
/* SetFillColor: */
SOURCE(20156, 810)
SOURCE(20271, 45)
outlineData←v27604 = XR←Narrow((* (( (ptr) slice←v11600)+1) ), (* (( (ptr) gf←c88804)+7) ));
SOURCE(20318, 42)
outlineParts←v27632 = XR←Narrow(parts←v11628, (* (( (ptr) gf←c88804)+5) ));
SOURCE(20362, 175)
{
word var←c83652;
var←c83652 = setHow←v11684;
if ((var←c83652 == (* (( (ptr) gf←c88804)+27) ))) {
SOURCE(20389, 29)
(* (( (ptr) outlineData←v27604)+1) ) = color←v11656;
}
else {
if ((var←c83652 == (* (( (ptr) gf←c88804)+26) ))) {
SOURCE(20434, 105)
{
word newColor←v27676;
SOURCE(20436, 67)
{
word pd109;
pd109 = (* (( (ptr) (* (( (ptr) gf←c88804)+212)/* var←c83236 */ ))+36) );
newColor←v27676 = (word) ( *( (fPt) ((* (ptr) pd109 ))))((* (( (ptr) outlineData←v27604)+1) ), color←v11656, pd109);
};
SOURCE(20505, 32)
(* (( (ptr) outlineData←v27604)+1) ) = newColor←v27676;
};
}
else {
SOURCE(20553, 5)
(void) XR←RaiseUnnamedError();
};
};
};
SOURCE(20560, 406)
if ((parts←v11628 == 0)) {
SOURCE(20582, 163)
{
register word childList←v27720;
childList←v27720 = (* (( (ptr) outlineData←v27604)+4) );
lab←L100102: ;
if ((childList←v27720 != 0)) {
}
else {
goto lab←L100099;
};
SOURCE(20675, 70)
{
word pd110;
pd110 = (* (( (ptr) (* (( (ptr) gf←c88804)+209)/* var←c82276 */ ))+61) );
(void) ( *( (fPt) ((* (ptr) pd110 ))))((* (ptr) childList←v27720 ), 0, color←v11656, setHow←v11684, 0, pd110);
};
childList←v27720 = (* (( (ptr) childList←v27720)+1) );
goto lab←L100102;
lab←L100099: ;
};
}
else {
SOURCE(20765, 201)
{
register word list←v27848;
list←v27848 = (* (ptr) outlineParts←v27632 );
lab←L100106: ;
if ((list←v27848 != 0)) {
}
else {
goto lab←L100103;
};
SOURCE(20857, 109)
if (((* (ptr) list←v27848 ) != 0)) {
SOURCE(20882, 84)
{
word pd111;
pd111 = (* (( (ptr) (* (( (ptr) gf←c88804)+209)/* var←c82276 */ ))+61) );
(void) ( *( (fPt) ((* (ptr) pd111 ))))((* (ptr) (* (ptr) list←v27848 ) ), (* (( (ptr) (* (ptr) list←v27848 ))+1) ), color←v11656, setHow←v11684, 0, pd111)
;
};
};
list←v27848 = (* (( (ptr) list←v27848)+1) );
goto lab←L100106;
lab←L100103: ;
};
};
}
static void OutlineGetFillColor←P1320(formal←c0389, slice←v11772, parts←v11800)
word formal←c0389;
word slice←v11772;
word parts←v11800;
{
register ptr gf←c88836 = (ptr) &globalframe;
word color←v11844;
word isUnique←v11872;
word outlineData←v27976;
/* OutlineGetFillColor: */
SOURCE(20987, 193)
SOURCE(20987, 193)
color←v11844 = 0;
SOURCE(20987, 193)
isUnique←v11872 = 1;
SOURCE(21104, 45)
outlineData←v27976 = XR←Narrow((* (( (ptr) slice←v11772)+1) ), (* (( (ptr) gf←c88836)+7) ));
SOURCE(21151, 29)
color←v11844 = (* (( (ptr) outlineData←v27976)+1) );
/* removed tail goto */
(* (ptr) formal←c0389 ) = color←v11844;
(* (( (ptr) formal←c0389)+1) ) = isUnique←v11872;
return;
}
static void GetFillColor←P1380(formal←c0396, slice←v11932, parts←v11960)
word formal←c0396;
word slice←v11932;
word parts←v11960;
{
W8 var←c88868;
/* declaration of color←v12004 skipped */
word isUnique←v12032;
/* declaration of var←c83684 skipped */
/* declaration of found←v28020 skipped */
/* GetFillColor: */
SOURCE(21186, 631)
{
word tmpAddr112;
tmpAddr112 = (word) (( (ptr) &var←c88868)+5)/* var←c83684 */ ;
(* (ptr) tmpAddr112 ) = ( ((word) (fPt) DoCheckFillColor←P6912) );
(* (( (ptr) tmpAddr112) + 1) ) = 1;
};
SOURCE(21186, 631)
var←c88868.f4/* color←v12004 */ = 0;
SOURCE(21186, 631)
isUnique←v12032 = 1;
SOURCE(21296, 19)
var←c88868.f7/* found←v28020 */ = 0;
SOURCE(21736, 81)
if ((0 == (word) WalkIncludedParts←P3540(slice←v11932, parts←v11960, 0, (word) (( (bPt) &var←c88868)+20)/* var←c83684 */ , 0)
)) {
isUnique←v12032 = (unsigned) (0 != var←c88868.f7/* found←v28020 */ );
}
else {
isUnique←v12032 = (unsigned) 0;
};
/* removed tail goto */
(* (ptr) formal←c0396 ) = var←c88868.f4/* color←v12004 */ ;
(* (( (ptr) formal←c0396)+1) ) = isUnique←v12032;
return;
}
static word DoCheckFillColor←P6912(child←v28124, childParts←v28152, formal←c88932)
word child←v28124;
word childParts←v28152;
word formal←c88932;
{
register ptr gf←c88900 = (ptr) &globalframe;
word done←v28196;
word thisIsUnique←v28224 = 1;
word thisColor←v28252 = 0;
formal←c88932 = (formal←c88932 - 20);
/* DoCheckFillColor: */
SOURCE(21317, 408)
SOURCE(21317, 408)
done←v28196 = 0;
SOURCE(21457, 70)
{
W2 var←c83716;
{
word pd113;
pd113 = (* (( (ptr) (* (( (ptr) gf←c88900)+209)/* var←c82276 */ ))+62) );
(void) ( *( (fPt) ((* (ptr) pd113 ))))((word) &var←c83716, child←v28124, childParts←v28152, pd113);
};
thisIsUnique←v28224 = var←c83716.f1;
thisColor←v28252 = var←c83716.f0;
};
SOURCE(21529, 196)
if ((0 == thisIsUnique←v28224)) {
SOURCE(21556, 17)
(* (( (ptr) formal←c88932)+4) ) = thisColor←v28252;
SOURCE(21575, 12)
return(1);
}
else {
SOURCE(21598, 127)
if ((0 != (* (( (ptr) formal←c88932)+7) ))) {
SOURCE(21614, 69)
{
word pd114;
pd114 = (* (( (ptr) (* (( (ptr) gf←c88900)+213)/* var←c83620 */ ))+35) );
if ((0 == (word) ( *( (fPt) ((* (ptr) pd114 ))))(thisColor←v28252, (* (( (ptr) formal←c88932)+4) ), pd114))) {
SOURCE(21671, 12)
return(1);
};
};
}
else {
SOURCE(21694, 17)
(* (( (ptr) formal←c88932)+4) ) = thisColor←v28252;
SOURCE(21713, 12)
(* (( (ptr) formal←c88932)+7) ) = 1;
};
};
SOURCE(21317, 408)
return(done←v28196);
}
static void SetDashed←P1440(slice←v12092, parts←v12120, dashed←v12148, pattern←v12176, offset←v12204, length←v12232, history←v12260)
word slice←v12092;
word parts←v12120;
word dashed←v12148;
word pattern←v12176;
word offset←v12204;
word length←v12232;
word history←v12260;
{
register ptr gf←c88964 = (ptr) &globalframe;
word outlineParts←v28296;
word outlineData←v28324;
/* SetDashed: */
SOURCE(21823, 690)
SOURCE(21993, 42)
outlineParts←v28296 = XR←Narrow(parts←v12120, (* (( (ptr) gf←c88964)+5) ));
SOURCE(22037, 45)
outlineData←v28324 = XR←Narrow((* (( (ptr) slice←v12092)+1) ), (* (( (ptr) gf←c88964)+7) ));
SOURCE(22084, 429)
if ((parts←v12120 == 0)) {
SOURCE(22104, 178)
{
register word childList←v28368;
childList←v28368 = (* (( (ptr) outlineData←v28324)+4) );
lab←L100112: ;
if ((childList←v28368 != 0)) {
}
else {
goto lab←L100109;
};
SOURCE(22197, 85)
{
word pd115;
pd115 = (* (( (ptr) (* (( (ptr) gf←c88964)+209)/* var←c82276 */ ))+65) );
(void) ( *( (fPt) ((* (ptr) pd115 ))))((* (ptr) childList←v28368 ), 0, dashed←v12148, pattern←v12176, offset←v12204, length←v12232
, 0, pd115);
};
childList←v28368 = (* (( (ptr) childList←v28368)+1) );
goto lab←L100112;
lab←L100109: ;
};
}
else {
SOURCE(22297, 216)
{
register word list←v28496;
list←v28496 = (* (ptr) outlineParts←v28296 );
lab←L100116: ;
if ((list←v28496 != 0)) {
}
else {
goto lab←L100113;
};
SOURCE(22389, 124)
if (((* (ptr) list←v28496 ) != 0)) {
SOURCE(22414, 99)
{
word pd116;
pd116 = (* (( (ptr) (* (( (ptr) gf←c88964)+209)/* var←c82276 */ ))+65) );
(void) ( *( (fPt) ((* (ptr) pd116 ))))((* (ptr) (* (ptr) list←v28496 ) ), (* (( (ptr) (* (ptr) list←v28496 ))+1) ), dashed←v12148, pattern←v12176, offset←v12204, length←v12232
, 0, pd116);
};
};
list←v28496 = (* (( (ptr) list←v28496)+1) );
goto lab←L100116;
lab←L100113: ;
};
};
}
static void GetDashed←P1500(formal←c0424, slice←v12320, parts←v12348)
word formal←c0424;
word slice←v12320;
word parts←v12348;
{
W11 var←c88996;
/* declaration of dashed←v12392 skipped */
/* declaration of pattern←v12420 skipped */
/* declaration of offset←v12448 skipped */
/* declaration of length←v12476 skipped */
word isUnique←v12504;
/* declaration of var←c83748 skipped */
/* declaration of found←v28624 skipped */
/* GetDashed: */
SOURCE(22531, 1013)
{
word tmpAddr117;
tmpAddr117 = (word) (( (ptr) &var←c88996)+8)/* var←c83748 */ ;
(* (ptr) tmpAddr117 ) = ( ((word) (fPt) DoCheckDashes←P7068) );
(* (( (ptr) tmpAddr117) + 1) ) = 1;
};
SOURCE(22531, 1013)
(* (( (ptr) &var←c88996)+4)/* dashed←v12392 */ ) = 0;
SOURCE(22531, 1013)
(* (( (ptr) &var←c88996)+5)/* pattern←v12420 */ ) = 0;
SOURCE(22531, 1013)
(* (( (ptr) &var←c88996)+6)/* offset←v12448 */ ) = (* (ptr) &fc48 );
SOURCE(22531, 1013)
(* (( (ptr) &var←c88996)+7)/* length←v12476 */ ) = (* (ptr) &fc48 );
SOURCE(22531, 1013)
isUnique←v12504 = 1;
SOURCE(22699, 19)
(* (( (ptr) &var←c88996)+10)/* found←v28624 */ ) = 0;
SOURCE(23466, 78)
if ((0 == (word) WalkIncludedParts←P3540(slice←v12320, parts←v12348, 0, (word) (( (bPt) &var←c88996)+32)/* var←c83748 */ , 0)
)) {
isUnique←v12504 = (unsigned) (0 != (* (( (ptr) &var←c88996)+10)/* found←v28624 */ ));
}
else {
isUnique←v12504 = (unsigned) 0;
};
/* removed tail goto */
(* (ptr) formal←c0424 ) = (* (( (ptr) &var←c88996)+4)/* dashed←v12392 */ );
(* (( (ptr) formal←c0424)+1) ) = (* (( (ptr) &var←c88996)+5)/* pattern←v12420 */ );
(* (( (ptr) formal←c0424)+2) ) = (* (( (ptr) &var←c88996)+6)/* offset←v12448 */ );
(* (( (ptr) formal←c0424)+3) ) = (* (( (ptr) &var←c88996)+7)/* length←v12476 */ );
(* (( (ptr) formal←c0424)+4) ) = isUnique←v12504;
return;
}
static word DoCheckDashes←P7068(child←v28728, childParts←v28756, formal←c89060)
word child←v28728;
word childParts←v28756;
word formal←c89060;
{
register ptr gf←c89028 = (ptr) &globalframe;
word done←v28800;
word thisIsUnique←v28828 = 1;
word thisDashed←v28856 = 0;
word thisPattern←v28884 = 0;
word thisOffset←v28912;
word thisLength←v28940;
formal←c89060 = (formal←c89060 - 32);
/* DoCheckDashes: */
SOURCE(22720, 735)
SOURCE(22720, 735)
done←v28800 = 0;
SOURCE(22924, 105)
{
W5 var←c83780;
{
word pd118;
pd118 = (* (( (ptr) (* (( (ptr) gf←c89028)+209)/* var←c82276 */ ))+66) );
(void) ( *( (fPt) ((* (ptr) pd118 ))))((word) &var←c83780, child←v28728, childParts←v28756, pd118);
};
thisIsUnique←v28828 = var←c83780.f4;
thisLength←v28940 = var←c83780.f3;
thisOffset←v28912 = var←c83780.f2;
thisPattern←v28884 = var←c83780.f1;
thisDashed←v28856 = var←c83780.f0;
};
SOURCE(23031, 424)
if ((0 == thisIsUnique←v28828)) {
SOURCE(23058, 19)
(* (( (ptr) formal←c89060)+4) ) = thisDashed←v28856;
SOURCE(23079, 21)
(* (( (ptr) formal←c89060)+5) ) = thisPattern←v28884;
SOURCE(23102, 19)
(* (( (ptr) formal←c89060)+6) ) = thisOffset←v28912;
SOURCE(23123, 19)
(* (( (ptr) formal←c89060)+7) ) = thisLength←v28940;
SOURCE(23144, 12)
return(1);
}
else {
SOURCE(23167, 288)
if ((0 != (* (( (ptr) formal←c89060)+10) ))) {
SOURCE(23183, 163)
{
word tc120;
word x121;
word x122;
word x123;
word x124;
word pd125;
if ((thisDashed←v28856 != (* (( (ptr) formal←c89060)+4) ))) { goto then0119;};
if ((0 != thisDashed←v28856)) {
if (((
x121 = thisOffset←v28912, *(float*)&x121
) != (
x122 = (* (( (ptr) formal←c89060)+6) ), *(float*)&x122
)) || ((
x123 = thisLength←v28940, *(float*)&x123
) != (
x124 = (* (( (ptr) formal←c89060)+7) ), *(float*)&x124
))) {
tc120 = (word) 1;
}
else {
pd125 = (* (( (ptr) (* (( (ptr) gf←c89028)+212)/* var←c83236 */ ))+38) );
tc120 = (word) (0 == (word) ( *( (fPt) ((* (ptr) pd125 ))))(thisPattern←v28884, (* (( (ptr) formal←c89060)+5) ), pd125)
);
};
}
else {
tc120 = (word) 0;
};
if (tc120) {
then0119: ;
SOURCE(23334, 12)
return(1);
};
};
}
else {
SOURCE(23357, 12)
(* (( (ptr) formal←c89060)+10) ) = 1;
SOURCE(23371, 19)
(* (( (ptr) formal←c89060)+4) ) = thisDashed←v28856;
SOURCE(23392, 21)
(* (( (ptr) formal←c89060)+5) ) = thisPattern←v28884;
SOURCE(23415, 19)
(* (( (ptr) formal←c89060)+6) ) = thisOffset←v28912;
SOURCE(23436, 19)
(* (( (ptr) formal←c89060)+7) ) = thisLength←v28940;
};
};
SOURCE(22720, 735)
return(done←v28800);
}
static word SetOrientation←P1560(slice←v12564, parts←v12592, orientation←v12620, history←v12648)
word slice←v12564;
word parts←v12592;
word orientation←v12620;
word history←v12648;
{
register ptr gf←c89092 = (ptr) &globalframe;
word success←v12692;
word outlineData←v28984;
word outlineParts←v29012;
/* SetOrientation: */
SOURCE(23550, 637)
SOURCE(23550, 637)
success←v12692 = 0;
SOURCE(23697, 45)
outlineData←v28984 = XR←Narrow((* (( (ptr) slice←v12564)+1) ), (* (( (ptr) gf←c89092)+7) ));
SOURCE(23744, 42)
outlineParts←v29012 = XR←Narrow(parts←v12592, (* (( (ptr) gf←c89092)+5) ));
SOURCE(23788, 399)
if ((parts←v12592 == 0)) {
SOURCE(23808, 163)
{
register word childList←v29056;
childList←v29056 = (* (( (ptr) outlineData←v28984)+4) );
lab←L100121: ;
if ((childList←v29056 != 0)) {
}
else {
goto lab←L100118;
};
SOURCE(23901, 70)
{
word var←c83812;
word pd126;
pd126 = (* (( (ptr) (* (( (ptr) gf←c89092)+209)/* var←c82276 */ ))+67) );
var←c83812 = (word) ( *( (fPt) ((* (ptr) pd126 ))))((* (ptr) childList←v29056 ), 0, orientation←v12620, 0, pd126);
};
childList←v29056 = (* (( (ptr) childList←v29056)+1) );
goto lab←L100121;
lab←L100118: ;
};
}
else {
SOURCE(23986, 201)
{
register word list←v29184;
list←v29184 = (* (ptr) outlineParts←v29012 );
lab←L100125: ;
if ((list←v29184 != 0)) {
}
else {
goto lab←L100122;
};
SOURCE(24078, 109)
if (((* (ptr) list←v29184 ) != 0)) {
SOURCE(24103, 84)
{
word var←c83844;
word pd127;
pd127 = (* (( (ptr) (* (( (ptr) gf←c89092)+209)/* var←c82276 */ ))+67) );
var←c83844 = (word) ( *( (fPt) ((* (ptr) pd127 ))))((* (ptr) (* (ptr) list←v29184 ) ), (* (( (ptr) (* (ptr) list←v29184 ))+1)
), orientation←v12620, 0, pd127);
};
};
list←v29184 = (* (( (ptr) list←v29184)+1) );
goto lab←L100125;
lab←L100122: ;
};
};
SOURCE(23550, 637)
return(success←v12692);
}
static void GetOrientation←P1620(formal←c0453, slice←v12752, parts←v12780)
word formal←c0453;
word slice←v12752;
word parts←v12780;
{
W8 var←c89124;
register ptr gf←c89156 = (ptr) &globalframe;
/* declaration of orientation←v12824 skipped */
word isUnique←v12852;
/* declaration of var←c83876 skipped */
word outlineData←v29312;
/* declaration of found←v29340 skipped */
/* GetOrientation: */
SOURCE(24205, 702)
{
word tmpAddr128;
tmpAddr128 = (word) (( (ptr) &var←c89124)+5)/* var←c83876 */ ;
(* (ptr) tmpAddr128 ) = ( ((word) (fPt) DoCheckOrientation←P7224) );
(* (( (ptr) tmpAddr128) + 1) ) = 1;
};
SOURCE(24205, 702)
var←c89124.f4/* orientation←v12824 */ = 1;
SOURCE(24205, 702)
isUnique←v12852 = 1;
SOURCE(24335, 45)
outlineData←v29312 = XR←Narrow((* (( (ptr) slice←v12752)+1) ), (* (( (ptr) gf←c89156)+7) ));
SOURCE(24382, 19)
var←c89124.f7/* found←v29340 */ = 0;
SOURCE(24824, 83)
if ((0 == (word) WalkIncludedParts←P3540(slice←v12752, parts←v12780, 0, (word) (( (bPt) &var←c89124)+20)/* var←c83876 */ , 0)
)) {
isUnique←v12852 = (unsigned) (0 != var←c89124.f7/* found←v29340 */ );
}
else {
isUnique←v12852 = (unsigned) 0;
};
/* removed tail goto */
(* (ptr) formal←c0453 ) = var←c89124.f4/* orientation←v12824 */ ;
(* (( (ptr) formal←c0453)+1) ) = isUnique←v12852;
return;
}
static word DoCheckOrientation←P7224(child←v29444, childParts←v29472, formal←c89220)
word child←v29444;
word childParts←v29472;
word formal←c89220;
{
register ptr gf←c89188 = (ptr) &globalframe;
word done←v29516;
word thisIsUnique←v29544 = 1;
word thisOrient←v29572;
formal←c89220 = (formal←c89220 - 20);
/* DoCheckOrientation: */
SOURCE(24403, 410)
SOURCE(24403, 410)
done←v29516 = 0;
SOURCE(24552, 73)
{
W2 var←c83908;
{
word pd129;
pd129 = (* (( (ptr) (* (( (ptr) gf←c89188)+209)/* var←c82276 */ ))+68) );
(void) ( *( (fPt) ((* (ptr) pd129 ))))((word) &var←c83908, child←v29444, childParts←v29472, pd129);
};
thisIsUnique←v29544 = var←c83908.f1;
thisOrient←v29572 = var←c83908.f0;
};
SOURCE(24627, 186)
if ((0 == thisIsUnique←v29544)) {
SOURCE(24654, 24)
(* (( (ptr) formal←c89220)+4) ) = thisOrient←v29572;
SOURCE(24680, 12)
return(1);
}
else {
SOURCE(24703, 110)
if ((0 != (* (( (ptr) formal←c89220)+7) ))) {
SOURCE(24719, 45)
if ((thisOrient←v29572 != (* (( (ptr) formal←c89220)+4) ))) {
SOURCE(24752, 12)
return(1);
};
}
else {
SOURCE(24775, 24)
(* (( (ptr) formal←c89220)+4) ) = thisOrient←v29572;
SOURCE(24801, 12)
(* (( (ptr) formal←c89220)+7) ) = 1;
};
};
SOURCE(24403, 410)
return(done←v29516);
}
static word CreateOutline←P1680(child←v12912, fillColor←v12940)
word child←v12912;
word fillColor←v12940;
{
register ptr gf←c89252 = (ptr) &globalframe;
word parent←v12984;
word data←v29616;
/* CreateOutline: */
SOURCE(24913, 633)
SOURCE(24913, 633)
parent←v12984 = 0;
SOURCE(25009, 103)
{
word var←c83940;
word var←c84036;
{
word var←c83972;
word var←c84004;
var←c83972 = XR←NewObject(8, (* (( (ptr) gf←c89252)+15) ));
var←c84004 = var←c83972;
(* (ptr) var←c84004 ) = child←v12912;
var←c83940 = var←c83972;
};
var←c84036 = XR←NewObject(36, (* (( (ptr) gf←c89252)+7) ));
(* (ptr) var←c84036 ) = 1;
(* (( (ptr) var←c84036)+1) ) = fillColor←v12940;
(* (( (ptr) var←c84036)+3) ) = 1;
(* (( (ptr) var←c84036)+4) ) = var←c83940;
data←v29616 = var←c84036;
};
SOURCE(25114, 210)
{
word var←c84068;
word var←c84100;
word var←c84132;
word var←c84164;
{
word pd130;
pd130 = (* (( (ptr) (* (( (ptr) gf←c89252)+208)/* var←c82212 */ ))+7) );
var←c84068 = (word) ( *( (fPt) ((* (ptr) pd130 ))))((* ((( (ptr) gf←c89252)+25)) ), pd130);
};
{
word pd131;
pd131 = (* (( (ptr) (* (( (ptr) gf←c89252)+210)/* var←c82308 */ ))+6) );
var←c84100 = (word) ( *( (fPt) ((* (ptr) pd131 ))))(pd131);
};
{
word pd132;
pd132 = (* (( (ptr) (* (( (ptr) gf←c89252)+210)/* var←c82308 */ ))+6) );
var←c84132 = (word) ( *( (fPt) ((* (ptr) pd132 ))))(pd132);
};
var←c84164 = XR←NewObject(92, (* (( (ptr) gf←c89252)+16) ));
(* (ptr) var←c84164 ) = var←c84068;
(* (( (ptr) var←c84164)+1) ) = data←v29616;
(* (W4Pt) (( (ptr) var←c84164)+3) ) = (* (W4Pt) (( (ptr) gf←c89252)+202)/* var←c82116 */ );
(* (( (ptr) var←c84164)+13) ) = var←c84100;
(* (( (ptr) var←c84164)+15) ) = var←c84132;
(* (( (ptr) var←c84164)+21) ) = (word) -1;
parent←v12984 = var←c84164;
};
SOURCE(25326, 64)
{
word pd133;
pd133 = (* (( (ptr) (* (( (ptr) gf←c89252)+208)/* var←c82212 */ ))+8) );
(* (( (ptr) parent←v12984)+11) ) = (word) ( *( (fPt) ((* (ptr) pd133 ))))(parent←v12984, 0, pd133);
};
SOURCE(25392, 21)
(* (( (ptr) child←v12912)+2) ) = parent←v12984;
SOURCE(25415, 131)
{
word pd134;
pd134 = (* (( (ptr) (* (( (ptr) gf←c89252)+209)/* var←c82276 */ ))+6) );
if (((word) ( *( (fPt) ((* (ptr) pd134 ))))(child←v12912, pd134) == (* (( (ptr) gf←c89252)+24) ))) {
SOURCE(25455, 93)
{
word trajData←v29660;
SOURCE(25457, 39)
trajData←v29660 = XR←Narrow((* (( (ptr) child←v12912)+1) ), (* (( (ptr) gf←c89252)+20) ));
SOURCE(25498, 48)
if (((* (ptr) trajData←v29660 ) == 1)) {
SOURCE(25525, 21)
(* (ptr) trajData←v29660 ) = 0;
};
};
};
};
SOURCE(24913, 633)
return(parent←v12984);
}
static word AddChild←P1740(outline←v13044, child←v13072)
word outline←v13044;
word child←v13072;
{
register ptr gf←c89284 = (ptr) &globalframe;
word holier←v13116;
word holyData←v29704 = 0;
/* AddChild: */
SOURCE(25555, 554)
SOURCE(25555, 554)
holier←v13116 = 0;
SOURCE(25659, 45)
{
word pd135;
pd135 = (* (( (ptr) (* (( (ptr) gf←c89284)+209)/* var←c82276 */ ))+6) );
if (((word) ( *( (fPt) ((* (ptr) pd135 ))))(outline←v13044, pd135) != (* (( (ptr) gf←c89284)+25) ))) {
SOURCE(25704, 5)
(void) XR←RaiseUnnamedError();
};
};
SOURCE(25711, 39)
{
word pd136;
pd136 = (* (( (ptr) (* (( (ptr) gf←c89284)+209)/* var←c82276 */ ))+10) );
holier←v13116 = (* (ptr) ( *( (fPt) ((* (ptr) pd136 ))))(outline←v13044, 0, pd136) );
};
SOURCE(25772, 30)
holyData←v29704 = XR←Narrow((* (( (ptr) holier←v13116)+1) ), (* (( (ptr) gf←c89284)+7) ));
SOURCE(25836, 77)
{
word var←c84196;
{
word var←c84228;
word var←c84260;
var←c84228 = XR←NewObject(8, (* (( (ptr) gf←c89284)+15) ));
var←c84260 = var←c84228;
(* (ptr) var←c84260 ) = child←v13072;
var←c84196 = var←c84228;
};
{
word pd137;
pd137 = (* (( (ptr) (* (( (ptr) gf←c89284)+212)/* var←c83236 */ ))+22) );
(* (( (ptr) holyData←v29704)+4) ) = (word) ( *( (fPt) ((* (ptr) pd137 ))))((* (( (ptr) holyData←v29704)+4) ), var←c84196, pd137)
;
};
};
SOURCE(25942, 21)
(* (( (ptr) child←v13072)+2) ) = holier←v13116;
SOURCE(26008, 71)
{
word pd138;
pd138 = (* (( (ptr) (* (( (ptr) gf←c89284)+209)/* var←c82276 */ ))+6) );
if (((word) ( *( (fPt) ((* (ptr) pd138 ))))(child←v13072, pd138) == (* (( (ptr) gf←c89284)+24) ))) {
SOURCE(26048, 31)
{
word pd139;
pd139 = (* (( (ptr) (* (( (ptr) gf←c89284)+214)/* var←c84292 */ ))+15) );
(void) ( *( (fPt) ((* (ptr) pd139 ))))(child←v13072, 1, pd139);
};
};
};
SOURCE(26081, 28)
{
word pd140;
pd140 = (* (( (ptr) (* (( (ptr) gf←c89284)+208)/* var←c82212 */ ))+68) );
(void) ( *( (fPt) ((* (ptr) pd140 ))))(holier←v13116, pd140);
};
SOURCE(25555, 554)
return(holier←v13116);
}
static word ReplaceFirstChild←P1800(outline←v13176, newChild←v13204)
word outline←v13176;
word newChild←v13204;
{
register ptr gf←c89316 = (ptr) &globalframe;
word newOutline←v13248;
word isClosed←v29748 = 0;
word holeList←v29776;
word newData←v29804 = 0;
word newFirstChild←v29832 = 0;
/* ReplaceFirstChild: */
SOURCE(26115, 1097)
SOURCE(26115, 1097)
newOutline←v13248 = 0;
SOURCE(26236, 10)
{
word pd141;
pd141 = (* (( (ptr) (* (( (ptr) gf←c89316)+215)/* var←c84324 */ ))+21) );
holeList←v29776 = (word) ( *( (fPt) ((* (ptr) pd141 ))))(outline←v13176, pd141);
};
SOURCE(26363, 45)
{
word pd142;
pd142 = (* (( (ptr) (* (( (ptr) gf←c89316)+209)/* var←c82276 */ ))+6) );
if (((word) ( *( (fPt) ((* (ptr) pd142 ))))(outline←v13176, pd142) != (* (( (ptr) gf←c89316)+25) ))) {
SOURCE(26408, 5)
(void) XR←RaiseUnnamedError();
};
};
SOURCE(26415, 159)
if ((newChild←v13204 != 0)) {
SOURCE(26436, 30)
newFirstChild←v29832 = newChild←v13204;
}
else {
SOURCE(26468, 106)
if ((holeList←v29776 == 0)) {
SOURCE(26491, 25)
newFirstChild←v29832 = 0;
}
else {
SOURCE(26518, 30)
newFirstChild←v29832 = (* (ptr) holeList←v29776 );
SOURCE(26550, 24)
holeList←v29776 = (* (( (ptr) holeList←v29776)+1) );
};
};
SOURCE(26582, 37)
if ((newFirstChild←v29832 == 0)) {
SOURCE(26608, 11)
return(0);
};
SOURCE(26621, 100)
{
word pd143;
pd143 = (* (( (ptr) (* (( (ptr) gf←c89316)+209)/* var←c82276 */ ))+6) );
if (((word) ( *( (fPt) ((* (ptr) pd143 ))))(newFirstChild←v29832, pd143) != (* (( (ptr) gf←c89316)+24) ))) {
isClosed←v29748 = (unsigned) 1;
}
else {
isClosed←v29748 = (unsigned) ((* (ptr) XR←Narrow((* (( (ptr) newFirstChild←v29832)+1) ), (* (( (ptr) gf←c89316)+20) )) ) != 2);
};
};
SOURCE(26723, 21)
if ((0 == isClosed←v29748)) {
SOURCE(26744, 5)
(void) XR←RaiseUnnamedError();
};
SOURCE(26751, 96)
{
W2 var←c0489;
word var←c84356;
{
word pd144;
pd144 = (* (( (ptr) (* (( (ptr) gf←c89316)+209)/* var←c82276 */ ))+62) );
(void) ( *( (fPt) ((* (ptr) pd144 ))))((word) &var←c0489, outline←v13176, 0, pd144);
};
var←c84356 = var←c0489.f0;
{
word pd145;
pd145 = (* (( (ptr) (* (( (ptr) gf←c89316)+215)/* var←c84324 */ ))+5) );
newOutline←v13248 = (word) ( *( (fPt) ((* (ptr) pd145 ))))(newFirstChild←v29832, var←c84356, pd145);
};
};
SOURCE(26849, 33)
newData←v29804 = XR←Narrow((* (( (ptr) newOutline←v13248)+1) ), (* (( (ptr) gf←c89316)+7) ));
SOURCE(26884, 285)
{
register word list←v29960;
list←v29960 = holeList←v29776;
lab←L100130: ;
if ((list←v29960 != 0)) {
}
else {
goto lab←L100127;
};
{
word hole←v30088;
word newSlice←v30116;
SOURCE(26950, 24)
hole←v30088 = (* (ptr) list←v29960 );
SOURCE(26976, 45)
{
word pd146;
pd146 = (* (( (ptr) (* (( (ptr) gf←c89316)+209)/* var←c82276 */ ))+10) );
newSlice←v30116 = (* (ptr) ( *( (fPt) ((* (ptr) pd146 ))))(hole←v30088, 0, pd146) );
};
SOURCE(27061, 78)
{
word var←c84388;
{
word var←c84420;
word var←c84452;
var←c84420 = XR←NewObject(8, (* (( (ptr) gf←c89316)+15) ));
var←c84452 = var←c84420;
(* (ptr) var←c84452 ) = newSlice←v30116;
var←c84388 = var←c84420;
};
{
word pd147;
pd147 = (* (( (ptr) (* (( (ptr) gf←c89316)+212)/* var←c83236 */ ))+22) );
(* (( (ptr) newData←v29804)+4) ) = (word) ( *( (fPt) ((* (ptr) pd147 ))))((* (( (ptr) newData←v29804)+4) ), var←c84388, pd147)
;
};
};
SOURCE(27141, 28)
(* (( (ptr) newSlice←v30116)+2) ) = newOutline←v13248;
};
list←v29960 = (* (( (ptr) list←v29960)+1) );
goto lab←L100130;
lab←L100127: ;
};
SOURCE(27180, 32)
{
word pd148;
pd148 = (* (( (ptr) (* (( (ptr) gf←c89316)+208)/* var←c82212 */ ))+68) );
(void) ( *( (fPt) ((* (ptr) pd148 ))))(newOutline←v13248, pd148);
};
SOURCE(26115, 1097)
return(newOutline←v13248);
}
static word ReplaceChild←P1860(outline←v13308, oldChild←v13336, newChild←v13364)
word outline←v13308;
word oldChild←v13336;
word newChild←v13364;
{
register ptr gf←c89348 = (ptr) &globalframe;
word newOutline←v13408;
word newSlice←v30160 = 0;
word newData←v30188 = 0;
word holeList←v30216 = 0;
word oldData←v30244;
/* ReplaceChild: */
SOURCE(27218, 1214)
SOURCE(27218, 1214)
newOutline←v13408 = 0;
SOURCE(27384, 43)
oldData←v30244 = XR←Narrow((* (( (ptr) outline←v13308)+1) ), (* (( (ptr) gf←c89348)+7) ));
SOURCE(27429, 45)
{
word pd149;
pd149 = (* (( (ptr) (* (( (ptr) gf←c89348)+209)/* var←c82276 */ ))+6) );
if (((word) ( *( (fPt) ((* (ptr) pd149 ))))(outline←v13308, pd149) != (* (( (ptr) gf←c89348)+25) ))) {
SOURCE(27474, 5)
(void) XR←RaiseUnnamedError();
};
};
SOURCE(27481, 37)
if ((oldChild←v13336 == 0)) {
SOURCE(27502, 16)
return(outline←v13308);
};
SOURCE(27520, 85)
if ((oldChild←v13336 == (* (ptr) (* (( (ptr) oldData←v30244)+4) ) ))) {
SOURCE(27560, 45)
return((word) ReplaceFirstChild←P1800(outline←v13308, newChild←v13364));
};
SOURCE(27607, 56)
{
word pd150;
pd150 = (* (( (ptr) (* (( (ptr) gf←c89348)+209)/* var←c82276 */ ))+10) );
newSlice←v30160 = (* (ptr) ( *( (fPt) ((* (ptr) pd150 ))))((* (ptr) (* (( (ptr) oldData←v30244)+4) ) ), 0, pd150) );
};
SOURCE(27665, 65)
{
word pd151;
pd151 = (* (( (ptr) (* (( (ptr) gf←c89348)+215)/* var←c84324 */ ))+5) );
newOutline←v13408 = (word) ( *( (fPt) ((* (ptr) pd151 ))))(newSlice←v30160, (* (( (ptr) oldData←v30244)+1) ), pd151);
};
SOURCE(27732, 33)
newData←v30188 = XR←Narrow((* (( (ptr) newOutline←v13408)+1) ), (* (( (ptr) gf←c89348)+7) ));
SOURCE(27767, 39)
{
word pd152;
pd152 = (* (( (ptr) (* (( (ptr) gf←c89348)+215)/* var←c84324 */ ))+21) );
holeList←v30216 = (word) ( *( (fPt) ((* (ptr) pd152 ))))(outline←v13308, pd152);
};
SOURCE(27835, 551)
{
register word list←v30372;
list←v30372 = holeList←v30216;
lab←L100134: ;
if ((list←v30372 != 0)) {
}
else {
goto lab←L100131;
};
{
word hole←v30500;
SOURCE(27901, 24)
hole←v30500 = (* (ptr) list←v30372 );
SOURCE(27927, 459)
if ( ( (hole←v30500 == oldChild←v13336) ? (newChild←v13364 != 0) : 0 ) ) {
SOURCE(28016, 42)
{
word pd153;
pd153 = (* (( (ptr) (* (( (ptr) gf←c89348)+209)/* var←c82276 */ ))+10) );
newSlice←v30160 = (* (ptr) ( *( (fPt) ((* (ptr) pd153 ))))(newChild←v13364, 0, pd153) );
};
SOURCE(28060, 78)
{
word var←c84516;
{
word var←c84548;
word var←c84580;
var←c84548 = XR←NewObject(8, (* (( (ptr) gf←c89348)+15) ));
var←c84580 = var←c84548;
(* (ptr) var←c84580 ) = newSlice←v30160;
var←c84516 = var←c84548;
};
{
word pd154;
pd154 = (* (( (ptr) (* (( (ptr) gf←c89348)+212)/* var←c83236 */ ))+22) );
(* (( (ptr) newData←v30188)+4) ) = (word) ( *( (fPt) ((* (ptr) pd154 ))))((* (( (ptr) newData←v30188)+4) ), var←c84516, pd154)
;
};
};
SOURCE(28140, 28)
(* (( (ptr) newSlice←v30160)+2) ) = newOutline←v13408;
}
else {
SOURCE(28177, 209)
if ((hole←v30500 != oldChild←v13336)) {
SOURCE(28238, 38)
{
word pd155;
pd155 = (* (( (ptr) (* (( (ptr) gf←c89348)+209)/* var←c82276 */ ))+10) );
newSlice←v30160 = (* (ptr) ( *( (fPt) ((* (ptr) pd155 ))))(hole←v30500, 0, pd155) );
};
SOURCE(28278, 78)
{
word var←c84612;
{
word var←c84644;
word var←c84676;
var←c84644 = XR←NewObject(8, (* (( (ptr) gf←c89348)+15) ));
var←c84676 = var←c84644;
(* (ptr) var←c84676 ) = newSlice←v30160;
var←c84612 = var←c84644;
};
{
word pd156;
pd156 = (* (( (ptr) (* (( (ptr) gf←c89348)+212)/* var←c83236 */ ))+22) );
(* (( (ptr) newData←v30188)+4) ) = (word) ( *( (fPt) ((* (ptr) pd156 ))))((* (( (ptr) newData←v30188)+4) ), var←c84612, pd156)
;
};
};
SOURCE(28358, 28)
(* (( (ptr) newSlice←v30160)+2) ) = newOutline←v13408;
};
};
};
list←v30372 = (* (( (ptr) list←v30372)+1) );
goto lab←L100134;
lab←L100131: ;
};
SOURCE(28400, 32)
{
word pd157;
pd157 = (* (( (ptr) (* (( (ptr) gf←c89348)+208)/* var←c82212 */ ))+68) );
(void) ( *( (fPt) ((* (ptr) pd157 ))))(newOutline←v13408, pd157);
};
SOURCE(27218, 1214)
return(newOutline←v13408);
}
static word ReplaceRunsInOutline←P1920(outlineD←v13468, runProc←v13496, segmentsOnly←v13524, selectNewRuns←v13552)
word outlineD←v13468;
word runProc←v13496;
word segmentsOnly←v13524;
word selectNewRuns←v13552;
{
register ptr gf←c89380 = (ptr) &globalframe;
word newOutline←v13596;
/* ReplaceRunsInOutline: */
SOURCE(28438, 1012)
SOURCE(28438, 1012)
newOutline←v13596 = 0;
SOURCE(28612, 838)
lab←L100137: ;
{
word tc158;
word pd159;
if ((outlineD←v13468 != 0)) {
pd159 = (* (( (ptr) (* (( (ptr) gf←c89380)+209)/* var←c82276 */ ))+27) );
tc158 = (word) (0 == (word) ( *( (fPt) ((* (ptr) pd159 ))))(outlineD←v13468, pd159));
}
else {
tc158 = (word) 0;
};
if (tc158) {
}
else {
goto lab←L100135;
};
};
{
word thisChildD←v30544;
SOURCE(28678, 96)
{
word pd160;
pd160 = (* (( (ptr) (* (( (ptr) gf←c89380)+207)/* var←c82180 */ ))+78) );
thisChildD←v30544 = (word) ( *( (fPt) ((* (ptr) pd160 ))))((* (ptr) outlineD←v13468 ), (* (( (ptr) outlineD←v13468)+1) ), 0, 0, pd160)
;
};
SOURCE(28776, 674)
{
word var←c84708;
{
word pd161;
pd161 = (* (( (ptr) (* (( (ptr) gf←c89380)+209)/* var←c82276 */ ))+6) );
var←c84708 = (word) ( *( (fPt) ((* (ptr) pd161 ))))((* (ptr) (thisChildD←v30544) ), pd161);
};
if ((var←c84708 == (* (( (ptr) gf←c89380)+24) ))) {
SOURCE(28836, 85)
{
word pd162;
pd162 = (* (( (ptr) (* (( (ptr) gf←c89380)+214)/* var←c84292 */ ))+11) );
newOutline←v13596 = (word) ( *( (fPt) ((* (ptr) pd162 ))))(thisChildD←v30544, runProc←v13496, segmentsOnly←v13524, selectNewRuns←v13552, pd162)
;
};
SOURCE(28923, 209)
if ((newOutline←v13596 == 0)) {
SOURCE(28948, 20)
outlineD←v13468 = 0;
}
else {
SOURCE(28968, 166)
{
word parts←v30588;
SOURCE(28970, 67)
{
word pd163;
pd163 = (* (( (ptr) (* (( (ptr) gf←c89380)+209)/* var←c82276 */ ))+21) );
parts←v30588 = (word) ( *( (fPt) ((* (ptr) pd163 ))))(newOutline←v13596, 2, pd163);
};
SOURCE(29046, 86)
{
word pd164;
if ((parts←v30588 == 0)) {
outlineD←v13468 = 0;
}
else {
pd164 = (* (( (ptr) (* (( (ptr) gf←c89380)+208)/* var←c82212 */ ))+8) );
outlineD←v13468 = (word) ( *( (fPt) ((* (ptr) pd164 ))))(newOutline←v13596, parts←v30588, pd164);
};
};
};
};
}
else {
SOURCE(29151, 301)
{
word parts←v30632 = 0;
SOURCE(29237, 56)
{
word pd165;
pd165 = (* (( (ptr) (* (( (ptr) gf←c89380)+209)/* var←c82276 */ ))+20) );
(void) ( *( (fPt) ((* (ptr) pd165 ))))((* (ptr) thisChildD←v30544 ), 0, 2, pd165);
};
SOURCE(29295, 61)
{
word pd166;
pd166 = (* (( (ptr) (* (( (ptr) gf←c89380)+209)/* var←c82276 */ ))+21) );
parts←v30632 = (word) ( *( (fPt) ((* (ptr) pd166 ))))((* (ptr) thisChildD←v30544 ), 2, pd166);
};
SOURCE(29358, 92)
{
word pd167;
if ((parts←v30632 == 0)) {
outlineD←v13468 = 0;
}
else {
pd167 = (* (( (ptr) (* (( (ptr) gf←c89380)+208)/* var←c82212 */ ))+8) );
outlineD←v13468 = (word) ( *( (fPt) ((* (ptr) pd167 ))))((* (ptr) thisChildD←v30544 ), parts←v30632, pd167);
};
};
};
};
};
};
goto lab←L100137;
lab←L100135: ;
SOURCE(28438, 1012)
return(newOutline←v13596);
}
static void SetWrapRule←P1980(outline←v13656, oddWrap←v13684)
word outline←v13656;
word oddWrap←v13684;
{
register ptr gf←c89412 = (ptr) &globalframe;
/* SetWrapRule: */
SOURCE(29468, 112)
SOURCE(29529, 51)
(* (ptr) XR←Narrow((* (( (ptr) outline←v13656)+1) ), (* (( (ptr) gf←c89412)+7) )) ) = oddWrap←v13684;
}
static word GetWrapRule←P2040(outline←v13744)
word outline←v13744;
{
register ptr gf←c89444 = (ptr) &globalframe;
word oddWrap←v13788;
/* GetWrapRule: */
SOURCE(29586, 119)
SOURCE(29656, 49)
return((* (ptr) XR←Narrow((* (( (ptr) outline←v13744)+1) ), (* (( (ptr) gf←c89444)+7) )) ));
}
static void SetFillText←P2100(slice←v13848, node←v13876, formal←c01099, formal←c01100)
word slice←v13848;
word node←v13876;
word formal←c01099;
word formal←c01100;
{
W14 var←c89476;
/* declaration of screenStyle←v13904 skipped */
/* declaration of history←v13932 skipped */
register ptr gf←c89508 = (ptr) &globalframe;
/* declaration of var←c84772 skipped */
(* (( (ptr) &var←c89476)+4)/* screenStyle←v13904 */ ) = formal←c01099;
(* (( (ptr) &var←c89476)+5)/* history←v13932 */ ) = formal←c01100;
/* SetFillText: */
SOURCE(29711, 929)
{
word tmpAddr168;
tmpAddr168 = (word) (( (ptr) &var←c89476)+6)/* var←c84772 */ ;
(* (ptr) tmpAddr168 ) = ( ((word) (fPt) PutTextInBox←P7716) );
(* (( (ptr) tmpAddr168) + 1) ) = 1;
};
SOURCE(29825, 815)
{
word pd169;
pd169 = (* (( (ptr) (* (( (ptr) gf←c89508)+209)/* var←c82276 */ ))+6) );
if (((word) ( *( (fPt) ((* (ptr) pd169 ))))(slice←v13848, pd169) != (* (( (ptr) gf←c89508)+25) ))) {
SOURCE(29868, 26)
(void) XR←RaiseUnnamedError();
}
else {
SOURCE(29894, 751)
{
/* declaration of siblingNodes←v30704 skipped */
/* declaration of resumeLoc←v30732 skipped */
/* declaration of previousChild←v30760 skipped */
SOURCE(30177, 40)
(* (( (ptr) &var←c89476)+8) ) = 0;
(* (( (ptr) &var←c89476)+9) ) = 0;
(* (( (ptr) &var←c89476)+10) ) = 0;
SOURCE(30219, 39)
(* (( (ptr) &var←c89476)+11) ) = 0;
(* (( (ptr) &var←c89476)+12) ) = 0;
SOURCE(30260, 26)
(* (( (ptr) &var←c89476)+13)/* previousChild←v30760 */ ) = 0;
SOURCE(30288, 352)
{
word pd170;
pd170 = (* (( (ptr) (* (( (ptr) gf←c89508)+207)/* var←c82180 */ ))+77) );
if (((word) ( *( (fPt) ((* (ptr) pd170 ))))(slice←v13848, 0, (* (( (ptr) gf←c89508)+23) ), pd170) != 0)) {
SOURCE(30342, 300)
{
word outlineData←v30908;
SOURCE(30344, 45)
outlineData←v30908 = XR←Narrow((* (( (ptr) slice←v13848)+1) ), (* (( (ptr) gf←c89508)+7) ));
SOURCE(30391, 27)
(* (( (ptr) outlineData←v30908)+2) ) = node←v13876;
SOURCE(30461, 37)
(* (( (ptr) outlineData←v30908)+3) ) = (* (( (ptr) &var←c89476)+4)/* screenStyle←v13904 */ );
SOURCE(30500, 42)
{
word pd171;
pd171 = (* (( (ptr) (* (( (ptr) gf←c89508)+216)/* var←c84868 */ ))+28) );
(* (( (ptr) &var←c89476)+11) ) = (word) ( *( (fPt) ((* (ptr) pd171 ))))(node←v13876, pd171);
};
SOURCE(30580, 60)
{
word var←c84900;
word pd172;
pd172 = (* (( (ptr) (* (( (ptr) gf←c89508)+207)/* var←c82180 */ ))+73) );
var←c84900 = (word) ( *( (fPt) ((* (ptr) pd172 ))))(slice←v13848, 0, (word) (( (bPt) &var←c89476)+24)/* var←c84772 */ , (* (
/*1*/ ( (ptr) gf←c89508)+23) ), pd172);
};
};
};
};
};
};
};
}
static word PutTextInBox←P7716(thisChild←v30836, formal←c89572)
word thisChild←v30836;
word formal←c89572;
{
register ptr gf←c89540 = (ptr) &globalframe;
word done←v30880;
formal←c89572 = (formal←c89572 - 24);
/* PutTextInBox: */
SOURCE(29896, 20)
SOURCE(29896, 20)
done←v30880 = 0;
SOURCE(29967, 110)
if (((* (( (ptr) formal←c89572)+13) ) != 0)) {
SOURCE(29995, 49)
{
word pd173;
pd173 = (* (( (ptr) (* (( (ptr) gf←c89540)+208)/* var←c82212 */ ))+49) );
(void) ( *( (fPt) ((* (ptr) pd173 ))))((word) (( (bPt) formal←c89572)+32), (* (( (ptr) formal←c89572)+13) ), pd173);
};
SOURCE(30046, 31)
(* (W2Pt) (( (ptr) formal←c89572)+11) ) = (* (W2Pt) (( (ptr) formal←c89572)+9) );
};
SOURCE(30082, 62)
{
word pd174;
pd174 = (* (( (ptr) (* (( (ptr) gf←c89540)+208)/* var←c82212 */ ))+47) );
(void) ( *( (fPt) ((* (ptr) pd174 ))))(thisChild←v30836, (* (W2Pt) (( (ptr) formal←c89572)+11) ), (* (( (ptr) formal←c89572)+4)
), (* (( (ptr) formal←c89572)+5) ), pd174);
};
SOURCE(30146, 25)
(* (( (ptr) formal←c89572)+13) ) = thisChild←v30836;
SOURCE(29896, 20)
return(done←v30880);
}
static word DescriptorFromChildDescriptor←P2160(slice←v13992, childD←v14020)
word slice←v13992;
word childD←v14020;
{
register ptr gf←c89604 = (ptr) &globalframe;
word sliceD←v14064;
word outlineData←v30952;
word outlineChildren←v30980;
word ptr←v31008 = 0;
word newParts←v31036;
/* DescriptorFromChildDescriptor: */
SOURCE(30652, 653)
SOURCE(30652, 653)
sliceD←v14064 = 0;
SOURCE(30773, 45)
outlineData←v30952 = XR←Narrow((* (( (ptr) slice←v13992)+1) ), (* (( (ptr) gf←c89604)+7) ));
SOURCE(30820, 17)
outlineChildren←v30980 = (* (( (ptr) outlineData←v30952)+4) );
SOURCE(30905, 45)
newParts←v31036 = XR←NewObject(4, (* (( (ptr) gf←c89604)+5) ));
SOURCE(30952, 66)
{
W2 var←c84964;
{
word pd175;
pd175 = (* (( (ptr) (* (( (ptr) gf←c89604)+212)/* var←c83236 */ ))+15) );
(void) ( *( (fPt) ((* (ptr) pd175 ))))((word) (&var←c84964), pd175);
};
ptr←v31008 = var←c84964.f1;
(* (ptr) newParts←v31036 ) = var←c84964.f0;
};
SOURCE(31020, 221)
{
register word children←v31248;
children←v31248 = outlineChildren←v30980;
lab←L100141: ;
if ((children←v31248 != 0)) {
}
else {
goto lab←L100138;
};
SOURCE(31103, 138)
{
W2 var←c84996;
{
word pd176;
pd176 = (* (( (ptr) (* (( (ptr) gf←c89604)+212)/* var←c83236 */ ))+16) );
(void) ( *( (fPt) ((* (ptr) pd176 ))))((word) &var←c84996, ( ((* (ptr) children←v31248 ) == (* (ptr) childD←v14020 )) ? childD←v14020 : 0 ) , (* (ptr) newParts←v31036 ), ptr←v31008, pd176)
;
};
ptr←v31008 = var←c84996.f1;
(* (ptr) newParts←v31036 ) = var←c84996.f0;
};
children←v31248 = (* (( (ptr) children←v31248)+1) );
goto lab←L100141;
lab←L100138: ;
};
SOURCE(31252, 53)
{
word pd177;
pd177 = (* (( (ptr) (* (( (ptr) gf←c89604)+208)/* var←c82212 */ ))+8) );
sliceD←v14064 = (word) ( *( (fPt) ((* (ptr) pd177 ))))(slice←v13992, newParts←v31036, pd177);
};
SOURCE(30652, 653)
return(sliceD←v14064);
}
static word DescriptorFromChild←P2220(slice←v14124, child←v14152)
word slice←v14124;
word child←v14152;
{
register ptr gf←c89636 = (ptr) &globalframe;
word sliceD←v14196;
word childD←v31376;
/* DescriptorFromChild: */
SOURCE(31311, 219)
SOURCE(31311, 219)
sliceD←v14196 = 0;
SOURCE(31411, 64)
{
word pd178;
pd178 = (* (( (ptr) (* (( (ptr) gf←c89636)+209)/* var←c82276 */ ))+29) );
childD←v31376 = (word) ( *( (fPt) ((* (ptr) pd178 ))))(child←v14152, 0, 6, pd178);
};
SOURCE(31477, 53)
sliceD←v14196 = (word) DescriptorFromChildDescriptor←P2160(slice←v14124, childD←v31376);
SOURCE(31311, 219)
return(sliceD←v14196);
}
static word TopLevelDescriptorFromChildDescriptor←P2280(childD←v14256)
word childD←v14256;
{
register ptr gf←c89668 = (ptr) &globalframe;
word ancestorD←v14300;
/* TopLevelDescriptorFromChildDescriptor: */
SOURCE(31536, 307)
SOURCE(31536, 307)
ancestorD←v14300 = 0;
SOURCE(31654, 189)
{
word pd179;
pd179 = (* (( (ptr) (* (( (ptr) gf←c89668)+217)/* var←c85028 */ ))+39) );
if ((0 != (word) ( *( (fPt) ((* (ptr) pd179 ))))((* (ptr) (childD←v14256) ), pd179))) {
SOURCE(31695, 20)
return(childD←v14256);
}
else {
SOURCE(31715, 128)
{
word var←c85124;
word var←c85092;
{
word pd181;
{
word pd180;
pd180 = (* (( (ptr) (* (( (ptr) gf←c89668)+207)/* var←c82180 */ ))+64) );
var←c85124 = (word) ( *( (fPt) ((* (ptr) pd180 ))))((* (ptr) (childD←v14256) ), pd180);
};
pd181 = (* (( (ptr) (* (( (ptr) gf←c89668)+207)/* var←c82180 */ ))+82) );
var←c85092 = (word) ( *( (fPt) ((* (ptr) pd181 ))))(var←c85124, childD←v14256, pd181);
};
return((word) TopLevelDescriptorFromChildDescriptor←P2280(var←c85092));
};
};
};
}
static word ChildDescriptorFromDescriptor←P2340(sliceD←v14360, child←v14388)
word sliceD←v14360;
word child←v14388;
{
register ptr gf←c89700 = (ptr) &globalframe;
word childD←v14432;
word outlineParts←v31420;
/* ChildDescriptorFromDescriptor: */
SOURCE(31849, 457)
SOURCE(31849, 457)
childD←v14432 = 0;
SOURCE(31970, 49)
outlineParts←v31420 = XR←Narrow((* (( (ptr) sliceD←v14360)+1) ), (* (( (ptr) gf←c89700)+5) ));
SOURCE(32021, 29)
if ((child←v14388 == 0)) {
SOURCE(32039, 11)
return(0);
};
SOURCE(32052, 72)
if ((outlineParts←v31420 == 0)) {
SOURCE(32077, 47)
{
word pd182;
pd182 = (* (( (ptr) (* (( (ptr) gf←c89700)+208)/* var←c82212 */ ))+8) );
return((word) ( *( (fPt) ((* (ptr) pd182 ))))(child←v14388, 0, pd182));
};
};
SOURCE(32126, 158)
{
register word list←v31464;
list←v31464 = (* (ptr) outlineParts←v31420 );
lab←L100145: ;
if ((list←v31464 != 0)) {
}
else {
goto lab←L100142;
};
SOURCE(32216, 68)
if ( ( ((* (ptr) list←v31464 ) != 0) ? ((* (ptr) (* (ptr) list←v31464 ) ) == child←v14388) : 0 ) ) {
SOURCE(32266, 18)
return((* (ptr) list←v31464 ));
};
list←v31464 = (* (( (ptr) list←v31464)+1) );
goto lab←L100145;
lab←L100142: ;
};
SOURCE(32295, 11)
return(0);
}
static word RemoveTraj←P2400(sliceD←v14492, traj←v14520)
word sliceD←v14492;
word traj←v14520;
{
register ptr gf←c89732 = (ptr) &globalframe;
word newD←v14564;
/* RemoveTraj: */
SOURCE(32312, 823)
SOURCE(32312, 823)
newD←v14564 = 0;
SOURCE(32411, 724)
{
word var←c85188;
{
word pd183;
pd183 = (* (( (ptr) (* (( (ptr) gf←c89732)+209)/* var←c82276 */ ))+6) );
var←c85188 = (word) ( *( (fPt) ((* (ptr) pd183 ))))((* (ptr) (sliceD←v14492) ), pd183);
};
if ((var←c85188 == (* (( (ptr) gf←c89732)+22) ))) {
SOURCE(32468, 581)
{
word outlineParts←v31592;
word newChildD←v31620 = 0;
word newParts←v31648 = 0;
word newChildDList←v31676 = 0;
word ptr←v31704 = 0;
SOURCE(32470, 49)
outlineParts←v31592 = XR←Narrow((* (( (ptr) sliceD←v14492)+1) ), (* (( (ptr) gf←c89732)+5) ));
SOURCE(32618, 59)
{
W2 var←c85220;
{
word pd184;
pd184 = (* (( (ptr) (* (( (ptr) gf←c89732)+212)/* var←c83236 */ ))+15) );
(void) ( *( (fPt) ((* (ptr) pd184 ))))((word) (&var←c85220), pd184);
};
ptr←v31704 = var←c85220.f1;
newChildDList←v31676 = var←c85220.f0;
};
SOURCE(32679, 248)
{
register word list←v31832;
list←v31832 = (* (ptr) outlineParts←v31592 );
lab←L100149: ;
if ((list←v31832 != 0)) {
}
else {
goto lab←L100146;
};
SOURCE(32769, 74)
if (((* (ptr) list←v31832 ) == 0)) {
newChildD←v31620 = 0;
}
else {
newChildD←v31620 = (word) RemoveTraj←P2400((* (ptr) list←v31832 ), traj←v14520);
};
SOURCE(32845, 82)
{
W2 var←c85252;
{
word pd185;
pd185 = (* (( (ptr) (* (( (ptr) gf←c89732)+212)/* var←c83236 */ ))+16) );
(void) ( *( (fPt) ((* (ptr) pd185 ))))((word) &var←c85252, newChildD←v31620, newChildDList←v31676, ptr←v31704, pd185);
};
ptr←v31704 = var←c85252.f1;
newChildDList←v31676 = var←c85252.f0;
};
list←v31832 = (* (( (ptr) list←v31832)+1) );
goto lab←L100149;
lab←L100146: ;
};
SOURCE(32938, 49)
{
word var←c85284;
var←c85284 = XR←NewObject(4, (* (( (ptr) gf←c89732)+5) ));
(* (ptr) var←c85284 ) = newChildDList←v31676;
newParts←v31648 = var←c85284;
};
SOURCE(32989, 58)
{
word pd186;
pd186 = (* (( (ptr) (* (( (ptr) gf←c89732)+208)/* var←c82212 */ ))+8) );
newD←v14564 = (word) ( *( (fPt) ((* (ptr) pd186 ))))((* (ptr) sliceD←v14492 ), newParts←v31648, pd186);
};
};
}
else {
if ((var←c85188 == (* (( (ptr) gf←c89732)+25) ))) {
SOURCE(33066, 38)
newD←v14564 = (word) OutlineRemoveTraj←P2460(sliceD←v14492, traj←v14520);
}
else {
SOURCE(33122, 13)
newD←v14564 = sliceD←v14492;
};
};
};
SOURCE(32312, 823)
return(newD←v14564);
}
static word OutlineRemoveTraj←P2460(outlineD←v14624, traj←v14652)
word outlineD←v14624;
word traj←v14652;
{
register ptr gf←c89764 = (ptr) &globalframe;
word newD←v14696;
word outlineParts←v31960;
word seq←v31988 = 0;
/* OutlineRemoveTraj: */
SOURCE(33144, 630)
SOURCE(33144, 630)
newD←v14696 = 0;
SOURCE(33244, 51)
outlineParts←v31960 = XR←Narrow((* (( (ptr) outlineD←v14624)+1) ), (* (( (ptr) gf←c89764)+5) ));
SOURCE(33319, 455)
{
register word list←v32032;
list←v32032 = (* (ptr) outlineParts←v31960 );
lab←L100154: ;
if ((list←v32032 != 0)) {
}
else {
goto lab←L100150;
};
SOURCE(33411, 69)
if ( ( ((* (ptr) list←v32032 ) != 0) ? ((* (ptr) (* (ptr) list←v32032 ) ) == traj←v14652) : 0 ) ) {
SOURCE(33464, 16)
seq←v31988 = (* (ptr) list←v32032 );
SOURCE(33482, 9)
goto lab←L100153;
};
list←v32032 = (* (( (ptr) list←v32032)+1) );
goto lab←L100154;
lab←L100153: ;
SOURCE(33511, 233)
{
word newSeqs←v32160;
word newParts←v32188;
SOURCE(33513, 9)
{
word pd187;
pd187 = (* (( (ptr) (* (( (ptr) gf←c89764)+212)/* var←c83236 */ ))+14) );
newSeqs←v32160 = (word) ( *( (fPt) ((* (ptr) pd187 ))))(0, seq←v31988, (* (ptr) outlineParts←v31960 ), pd187);
};
SOURCE(33625, 55)
newParts←v32188 = XR←NewObject(4, (* (( (ptr) gf←c89764)+5) ));
(* (ptr) newParts←v32188 ) = newSeqs←v32160;
SOURCE(33682, 60)
{
word pd188;
pd188 = (* (( (ptr) (* (( (ptr) gf←c89764)+208)/* var←c82212 */ ))+8) );
newD←v14696 = (word) ( *( (fPt) ((* (ptr) pd188 ))))((* (ptr) outlineD←v14624 ), newParts←v32188, pd188);
};
};
goto lab←L100151;
lab←L100150: ;
SOURCE(33759, 15)
newD←v14696 = outlineD←v14624;
lab←L100151: ;
};
SOURCE(33144, 630)
return(newD←v14696);
}
static word DeleteControlPoints←P2520(outlineD←v14756, formal←c01101)
word outlineD←v14756;
word formal←c01101;
{
W8 var←c89796;
/* declaration of scene←v14784 skipped */
register ptr gf←c89828 = (ptr) &globalframe;
/* declaration of bBox←v14828 skipped */
/* declaration of var←c85348 skipped */
var←c89796.f4/* scene←v14784 */ = formal←c01101;
/* DeleteControlPoints: */
SOURCE(33789, 439)
{
word tmpAddr189;
tmpAddr189 = (word) (( (ptr) &var←c89796)+6)/* var←c85348 */ ;
(* (ptr) tmpAddr189 ) = ( ((word) (fPt) DoDelete←P8112) );
(* (( (ptr) tmpAddr189) + 1) ) = 1;
};
SOURCE(33789, 439)
var←c89796.f5/* bBox←v14828 */ = 0;
SOURCE(34054, 32)
{
word pd190;
pd190 = (* (( (ptr) (* (( (ptr) gf←c89828)+210)/* var←c82308 */ ))+6) );
var←c89796.f5/* bBox←v14828 */ = (word) ( *( (fPt) ((* (ptr) pd190 ))))(pd190);
};
SOURCE(34139, 89)
{
word var←c85380;
word pd191;
pd191 = (* (( (ptr) (* (( (ptr) gf←c89828)+207)/* var←c82180 */ ))+74) );
var←c85380 = (word) ( *( (fPt) ((* (ptr) pd191 ))))((* (ptr) outlineD←v14756 ), (* (( (ptr) outlineD←v14756)+1) ), 1, (word) (
( (bPt) &var←c89796)+24)/* var←c85348 */ , (* (( (ptr) gf←c89828)+24) ), pd191);
};
SOURCE(33789, 439)
return(var←c89796.f5/* bBox←v14828 */ );
}
static word DoDelete←P8112(nextPartsD←v32392, formal←c89892)
word nextPartsD←v32392;
word formal←c89892;
{
register ptr gf←c89860 = (ptr) &globalframe;
word done←v32436;
formal←c89892 = (formal←c89892 - 24);
/* DoDelete: */
SOURCE(33894, 154)
SOURCE(33894, 154)
done←v32436 = 0;
SOURCE(33972, 76)
{
word var←c85412;
{
word pd192;
pd192 = (* (( (ptr) (* (( (ptr) gf←c89860)+214)/* var←c84292 */ ))+9) );
var←c85412 = (word) ( *( (fPt) ((* (ptr) pd192 ))))(nextPartsD←v32392, (* (( (ptr) formal←c89892)+4) ), pd192);
};
{
word pd193;
pd193 = (* (( (ptr) (* (( (ptr) gf←c89860)+210)/* var←c82308 */ ))+14) );
(void) ( *( (fPt) ((* (ptr) pd193 ))))((* (( (ptr) formal←c89892)+5) ), var←c85412, pd193);
};
};
SOURCE(33894, 154)
return(done←v32436);
}
static void SaveSelectionsInOutlineAllClasses←P2580(formal←c01102)
word formal←c01102;
{
W7 var←c89924;
/* declaration of outline←v14888 skipped */
register ptr gf←c89956 = (ptr) &globalframe;
/* declaration of var←c85444 skipped */
word outlineData←v32492;
word children←v32520;
var←c89924.f4/* outline←v14888 */ = formal←c01102;
/* SaveSelectionsInOutlineAllClasses: */
SOURCE(34234, 1100)
{
word tmpAddr194;
tmpAddr194 = (word) (( (ptr) &var←c89924)+5)/* var←c85444 */ ;
(* (ptr) tmpAddr194 ) = ( ((word) (fPt) SaveSelectionsAux←P8172) );
(* (( (ptr) tmpAddr194) + 1) ) = 1;
};
SOURCE(34719, 47)
outlineData←v32492 = XR←Narrow((* (( (ptr) var←c89924.f4/* outline←v14888 */ )+1) ), (* (( (ptr) gf←c89956)+7) ));
SOURCE(34768, 10)
children←v32520 = (* (( (ptr) outlineData←v32492)+4) );
SOURCE(34816, 396)
{
register word nextChildren←v32708;
nextChildren←v32708 = children←v32520;
lab←L100158: ;
if ((nextChildren←v32708 != 0)) {
}
else {
goto lab←L100155;
};
{
word nextChild←v32836;
SOURCE(34904, 37)
nextChild←v32836 = (* (ptr) nextChildren←v32708 );
SOURCE(34987, 49)
{
word pd195;
pd195 = (* (( (ptr) (* (( (ptr) gf←c89956)+209)/* var←c82276 */ ))+20) );
(void) ( *( (fPt) ((* (ptr) pd195 ))))(nextChild←v32836, 0, 0, pd195);
};
SOURCE(35047, 46)
{
word pd196;
pd196 = (* (( (ptr) (* (( (ptr) gf←c89956)+209)/* var←c82276 */ ))+20) );
(void) ( *( (fPt) ((* (ptr) pd196 ))))(nextChild←v32836, 0, 1, pd196);
};
SOURCE(35104, 49)
{
word pd197;
pd197 = (* (( (ptr) (* (( (ptr) gf←c89956)+209)/* var←c82276 */ ))+20) );
(void) ( *( (fPt) ((* (ptr) pd197 ))))(nextChild←v32836, 0, 2, pd197);
};
SOURCE(35164, 48)
{
word pd198;
pd198 = (* (( (ptr) (* (( (ptr) gf←c89956)+209)/* var←c82276 */ ))+20) );
(void) ( *( (fPt) ((* (ptr) pd198 ))))(nextChild←v32836, 0, 3, pd198);
};
};
nextChildren←v32708 = (* (( (ptr) nextChildren←v32708)+1) );
goto lab←L100158;
lab←L100155: ;
};
SOURCE(35232, 25)
(void) SaveSelectionsAux←P8172(0, (word) (( (bPt) &var←c89924)+20)/* var←c85444 */ );
SOURCE(35259, 22)
(void) SaveSelectionsAux←P8172(1, (word) (( (bPt) &var←c89924)+20)/* var←c85444 */ );
SOURCE(35283, 25)
(void) SaveSelectionsAux←P8172(2, (word) (( (bPt) &var←c89924)+20)/* var←c85444 */ );
SOURCE(35310, 24)
(void) SaveSelectionsAux←P8172(3, (word) (( (bPt) &var←c89924)+20)/* var←c85444 */ );
}
static void SaveSelectionsAux←P8172(formal←c01103, formal←c90052)
word formal←c01103;
word formal←c90052;
{
W7 var←c89988;
/* declaration of selectClass←v32596 skipped */
register ptr gf←c90020 = (ptr) &globalframe;
/* declaration of var←c85476 skipped */
word outlineD←v32880;
formal←c90052 = (formal←c90052 - 20);
var←c89988.f4/* selectClass←v32596 */ = formal←c01103;
var←c89988.f0 = formal←c90052;
/* SaveSelectionsAux: */
SOURCE(34302, 409)
{
word tmpAddr199;
tmpAddr199 = (word) (( (ptr) &var←c89988)+5)/* var←c85476 */ ;
(* (ptr) tmpAddr199 ) = ( ((word) (fPt) DoSaveSelections←P8376) );
(* (( (ptr) tmpAddr199) + 1) ) = 1;
};
SOURCE(34360, 76)
{
word pd200;
pd200 = (* (( (ptr) (* (( (ptr) gf←c90020)+218)/* var←c85508 */ ))+20) );
outlineD←v32880 = (word) ( *( (fPt) ((* (ptr) pd200 ))))((* (( (ptr) formal←c90052)+4) ), var←c89988.f4/* selectClass←v32596 */ , pd200)
;
};
SOURCE(34438, 273)
if ((outlineD←v32880 != 0)) {
SOURCE(34459, 254)
SOURCE(34620, 91)
{
word var←c85540;
word pd201;
pd201 = (* (( (ptr) (* (( (ptr) gf←c90020)+207)/* var←c82180 */ ))+74) );
var←c85540 = (word) ( *( (fPt) ((* (ptr) pd201 ))))((* (ptr) outlineD←v32880 ), (* (( (ptr) outlineD←v32880)+1) ), 0, (word) (
( (bPt) &var←c89988)+20)/* var←c85476 */ , 0, pd201);
};
};
}
static word DoSaveSelections←P8376(nextPart←v33000, formal←c90116)
word nextPart←v33000;
word formal←c90116;
{
register ptr gf←c90084 = (ptr) &globalframe;
word done←v33044;
formal←c90116 = (formal←c90116 - 20);
/* DoSaveSelections: */
SOURCE(34461, 24)
SOURCE(34461, 24)
done←v33044 = 0;
SOURCE(34545, 70)
{
word pd202;
pd202 = (* (( (ptr) (* (( (ptr) gf←c90084)+209)/* var←c82276 */ ))+20) );
(void) ( *( (fPt) ((* (ptr) pd202 ))))((* (ptr) nextPart←v33000 ), (* (( (ptr) nextPart←v33000)+1) ), (* (( (ptr) formal←c90116)+4)
), pd202);
};
SOURCE(34461, 24)
return(done←v33044);
}
static void UnpackHitData←P2640(formal←c0616, hitData←v14948)
word formal←c0616;
word hitData←v14948;
{
register ptr gf←c90148 = (ptr) &globalframe;
word child←v15004;
word hitType←v15032;
word segNum←v15060;
word cpNum←v15088;
word jointNum←v15116;
W2 hitPoint←v15144;
word outlineHitData←v33072;
/* UnpackHitData: */
SOURCE(35340, 373)
SOURCE(35340, 373)
child←v15004 = 0;
SOURCE(35340, 373)
hitType←v15032 = 0;
SOURCE(35340, 373)
segNum←v15060 = (word) -999;
SOURCE(35340, 373)
cpNum←v15088 = (word) -999;
SOURCE(35340, 373)
jointNum←v15116 = (word) -999;
SOURCE(35497, 48)
outlineHitData←v33072 = XR←Narrow(hitData←v14948, (* (( (ptr) gf←c90148)+6) ));
SOURCE(35547, 28)
child←v15004 = (* (ptr) outlineHitData←v33072 );
SOURCE(35577, 136)
{
word pd203;
pd203 = (* (( (ptr) (* (( (ptr) gf←c90148)+209)/* var←c82276 */ ))+6) );
if (((word) ( *( (fPt) ((* (ptr) pd203 ))))(child←v15004, pd203) == (* (( (ptr) gf←c90148)+24) ))) {
SOURCE(35617, 96)
{
W6 var←c85572;
{
word pd204;
pd204 = (* (( (ptr) (* (( (ptr) gf←c90148)+214)/* var←c84292 */ ))+53) );
(void) ( *( (fPt) ((* (ptr) pd204 ))))((word) &var←c85572, (* (( (ptr) outlineHitData←v33072)+1) ), pd204);
};
hitPoint←v15144 = (* (W2Pt) (( (ptr) &var←c85572)+4) );
jointNum←v15116 = var←c85572.f3;
cpNum←v15088 = var←c85572.f2;
segNum←v15060 = var←c85572.f1;
hitType←v15032 = var←c85572.f0;
};
};
};
/* removed tail goto */
(* (ptr) formal←c0616 ) = child←v15004;
(* (( (ptr) formal←c0616)+1) ) = hitType←v15032;
(* (( (ptr) formal←c0616)+2) ) = segNum←v15060;
(* (( (ptr) formal←c0616)+3) ) = cpNum←v15088;
(* (( (ptr) formal←c0616)+4) ) = jointNum←v15116;
(* (W2Pt) (( (ptr) formal←c0616)+5) ) = hitPoint←v15144;
return;
}
static void UnpackOneSegmentDescriptor←P2700(formal←c0623, outlineD←v15204)
word formal←c0623;
word outlineD←v15204;
{
register ptr gf←c90180 = (ptr) &globalframe;
word childDescriptor←v15248;
word segNum←v15276;
word outlineParts←v33116 = 0;
/* UnpackOneSegmentDescriptor: */
SOURCE(35719, 608)
SOURCE(35719, 608)
childDescriptor←v15248 = 0;
SOURCE(35719, 608)
segNum←v15276 = 999;
SOURCE(35881, 84)
{
word pd206;
if ((outlineD←v15204 == 0)) { goto then0205;};
pd206 = (* (( (ptr) (* (( (ptr) gf←c90180)+209)/* var←c82276 */ ))+6) );
if (((word) ( *( (fPt) ((* (ptr) pd206 ))))((* (ptr) (outlineD←v15204) ), pd206) != (* (( (ptr) gf←c90180)+25) ))) {
then0205: ;
SOURCE(35949, 16)
childDescriptor←v15248 = 0;
segNum←v15276 = 999;
goto lab←L100160;
};
};
SOURCE(35967, 37)
outlineParts←v33116 = XR←Narrow((* (( (ptr) outlineD←v15204)+1) ), (* (( (ptr) gf←c90180)+5) ));
SOURCE(36006, 321)
{
register word descriptors←v33160;
descriptors←v33160 = (* (ptr) outlineParts←v33116 );
lab←L100164: ;
if ((descriptors←v33160 != 0)) {
}
else {
goto lab←L100161;
};
SOURCE(36119, 208)
if (((* (ptr) descriptors←v33160 ) != 0)) {
SOURCE(36151, 35)
childDescriptor←v15248 = (* (ptr) descriptors←v33160 );
SOURCE(36188, 131)
{
word pd207;
pd207 = (* (( (ptr) (* (( (ptr) gf←c90180)+209)/* var←c82276 */ ))+6) );
if (((word) ( *( (fPt) ((* (ptr) pd207 ))))((* (ptr) (childDescriptor←v15248) ), pd207) == (* (( (ptr) gf←c90180)+24) ))) {
SOURCE(36244, 75)
{
word var←c85604;
var←c85604 = XR←Narrow((* (( (ptr) childDescriptor←v15248)+1) ), (* (( (ptr) gf←c90180)+21) ));
{
word pd208;
pd208 = (* (( (ptr) (* (( (ptr) gf←c90180)+219)/* var←c85636 */ ))+35) );
segNum←v15276 = (word) ( *( (fPt) ((* (ptr) pd208 ))))(var←c85604, pd208);
};
};
};
};
SOURCE(36321, 6)
goto lab←L100160;
};
descriptors←v33160 = (* (( (ptr) descriptors←v33160)+1) );
goto lab←L100164;
lab←L100161: ;
};
/* removed tail goto */
lab←L100160: ;
(* (ptr) formal←c0623 ) = childDescriptor←v15248;
(* (( (ptr) formal←c0623)+1) ) = segNum←v15276;
return;
}
static void UnpackSimpleDescriptor←P2760(formal←c0638, outlineD←v15336)
word formal←c0638;
word outlineD←v15336;
{
register ptr gf←c90212 = (ptr) &globalframe;
word success←v15380;
word hitType←v15408;
word childDescriptor←v15436;
word joint←v15464;
word jointNum←v15492;
W2 cp←v15520;
word cpNum←v15548;
word seg←v15576;
word segNum←v15604;
word outlineParts←v33288 = 0;
/* UnpackSimpleDescriptor: */
SOURCE(36345, 877)
SOURCE(36345, 877)
success←v15380 = 0;
SOURCE(36345, 877)
hitType←v15408 = 0;
SOURCE(36345, 877)
childDescriptor←v15436 = 0;
SOURCE(36345, 877)
joint←v15464 = 0;
SOURCE(36345, 877)
jointNum←v15492 = 999;
SOURCE(36345, 877)
cp←v15520.f0 = (* (ptr) &fc48 );
cp←v15520.f1 = (* (ptr) &fc48 );
SOURCE(36345, 877)
cpNum←v15548 = 999;
SOURCE(36345, 877)
seg←v15576 = 0;
SOURCE(36345, 877)
segNum←v15604 = 999;
SOURCE(36660, 74)
{
word pd210;
if ((outlineD←v15336 == 0)) { goto then0209;};
pd210 = (* (( (ptr) (* (( (ptr) gf←c90212)+209)/* var←c82276 */ ))+6) );
if (((word) ( *( (fPt) ((* (ptr) pd210 ))))((* (ptr) (outlineD←v15336) ), pd210) != (* (( (ptr) gf←c90212)+25) ))) {
then0209: ;
SOURCE(36728, 6)
goto lab←L100165;
};
};
SOURCE(36736, 37)
outlineParts←v33288 = XR←Narrow((* (( (ptr) outlineD←v15336)+1) ), (* (( (ptr) gf←c90212)+5) ));
SOURCE(36775, 447)
{
register word descriptors←v33332;
descriptors←v33332 = (* (ptr) outlineParts←v33288 );
lab←L100169: ;
if ((descriptors←v33332 != 0)) {
}
else {
goto lab←L100166;
};
SOURCE(36888, 334)
if (((* (ptr) descriptors←v33332 ) != 0)) {
SOURCE(36920, 14)
success←v15380 = 1;
SOURCE(36975, 35)
childDescriptor←v15436 = (* (ptr) descriptors←v33332 );
SOURCE(37012, 202)
{
word pd211;
pd211 = (* (( (ptr) (* (( (ptr) gf←c90212)+209)/* var←c82276 */ ))+6) );
if (((word) ( *( (fPt) ((* (ptr) pd211 ))))((* (ptr) (childDescriptor←v15436) ), pd211) == (* (( (ptr) gf←c90212)+24) ))) {
SOURCE(37069, 145)
{
W10 var←c85668;
{
word pd212;
pd212 = (* (( (ptr) (* (( (ptr) gf←c90212)+219)/* var←c85636 */ ))+36) );
(void) ( *( (fPt) ((* (ptr) pd212 ))))((word) &var←c85668, (* (ptr) childDescriptor←v15436 ), (* (( (ptr) childDescriptor←v15436)+1)
), pd212);
};
segNum←v15604 = (* (( (ptr) &var←c85668)+9) );
seg←v15576 = (* (( (ptr) &var←c85668)+8) );
cpNum←v15548 = (* (( (ptr) &var←c85668)+7) );
cp←v15520 = (* (W2Pt) (( (ptr) &var←c85668)+5) );
jointNum←v15492 = (* (( (ptr) &var←c85668)+4) );
joint←v15464 = (* (( (ptr) &var←c85668)+3) );
hitType←v15408 = (* (( (ptr) &var←c85668)+1) );
success←v15380 = (* (ptr) &var←c85668 );
};
};
};
SOURCE(37216, 6)
goto lab←L100165;
};
descriptors←v33332 = (* (( (ptr) descriptors←v33332)+1) );
goto lab←L100169;
lab←L100166: ;
};
/* removed tail goto */
lab←L100165: ;
(* (ptr) formal←c0638 ) = success←v15380;
(* (( (ptr) formal←c0638)+1) ) = hitType←v15408;
(* (( (ptr) formal←c0638)+2) ) = childDescriptor←v15436;
(* (( (ptr) formal←c0638)+3) ) = joint←v15464;
(* (( (ptr) formal←c0638)+4) ) = jointNum←v15492;
(* (W2Pt) (( (ptr) formal←c0638)+5) ) = cp←v15520;
(* (( (ptr) formal←c0638)+7) ) = cpNum←v15548;
(* (( (ptr) formal←c0638)+8) ) = seg←v15576;
(* (( (ptr) formal←c0638)+9) ) = segNum←v15604;
return;
}
static word FindTrajShapeInOutline←P2820(formal←c01104, outline←v15692)
word formal←c01104;
word outline←v15692;
{
W9 var←c90244;
/* declaration of traj←v15664 skipped */
register ptr gf←c90276 = (ptr) &globalframe;
/* declaration of oldTrajs←v15736 skipped */
/* declaration of var←c85700 skipped */
word outlineData←v33460;
/* declaration of tail←v33488 skipped */
(* (( (ptr) &var←c90244)+4)/* traj←v15664 */ ) = formal←c01104;
/* FindTrajShapeInOutline: */
SOURCE(37240, 408)
{
word tmpAddr213;
tmpAddr213 = (word) (( (ptr) &var←c90244)+6)/* var←c85700 */ ;
(* (ptr) tmpAddr213 ) = ( ((word) (fPt) MatchTraj←P8532) );
(* (( (ptr) tmpAddr213) + 1) ) = 1;
};
SOURCE(37240, 408)
(* (( (ptr) &var←c90244)+5)/* oldTrajs←v15736 */ ) = 0;
SOURCE(37344, 47)
outlineData←v33460 = XR←Narrow((* (( (ptr) outline←v15692)+1) ), (* (( (ptr) gf←c90276)+7) ));
SOURCE(37393, 6)
(* (( (ptr) &var←c90244)+8)/* tail←v33488 */ ) = 0;
SOURCE(37588, 60)
{
word var←c85732;
word pd214;
pd214 = (* (( (ptr) (* (( (ptr) gf←c90276)+207)/* var←c82180 */ ))+73) );
var←c85732 = (word) ( *( (fPt) ((* (ptr) pd214 ))))(outline←v15692, 0, (word) (( (bPt) &var←c90244)+24)/* var←c85700 */ , (* (
( (ptr) gf←c90276)+24) ), pd214);
};
SOURCE(37240, 408)
return((* (( (ptr) &var←c90244)+5)/* oldTrajs←v15736 */ ));
}
static word MatchTraj←P8532(oldTraj←v33676, formal←c90340)
word oldTraj←v33676;
word formal←c90340;
{
register ptr gf←c90308 = (ptr) &globalframe;
word done←v33720;
formal←c90340 = (formal←c90340 - 24);
/* MatchTraj: */
SOURCE(37414, 169)
SOURCE(37414, 169)
done←v33720 = 0;
SOURCE(37480, 103)
{
word pd215;
pd215 = (* (( (ptr) (* (( (ptr) gf←c90308)+214)/* var←c84292 */ ))+28) );
if ((0 != (word) ( *( (fPt) ((* (ptr) pd215 ))))((* (( (ptr) formal←c90340)+4) ), oldTraj←v33676, pd215))) {
SOURCE(37521, 62)
{
W2 var←c85764;
{
word pd216;
pd216 = (* (( (ptr) (* (( (ptr) gf←c90308)+212)/* var←c83236 */ ))+21) );
(void) ( *( (fPt) ((* (ptr) pd216 ))))((word) &var←c85764, oldTraj←v33676, (* (( (ptr) formal←c90340)+5) ), (* (( (ptr) formal←c90340)+8)
), pd216);
};
(* (( (ptr) formal←c90340)+8) ) = var←c85764.f1;
(* (( (ptr) formal←c90340)+5) ) = var←c85764.f0;
};
};
};
SOURCE(37414, 169)
return(done←v33720);
}
static word TrajsInOutline←P2880(outline←v15880)
word outline←v15880;
{
register ptr gf←c90372 = (ptr) &globalframe;
word trajGen←v15924;
word outlineData←v33748;
word partsList←v33776;
/* TrajsInOutline: */
SOURCE(37654, 238)
SOURCE(37654, 238)
trajGen←v15924 = 0;
SOURCE(37738, 47)
outlineData←v33748 = XR←Narrow((* (( (ptr) outline←v15880)+1) ), (* (( (ptr) gf←c90372)+7) ));
SOURCE(37787, 11)
partsList←v33776 = (word) TrajectoriesOfOutline←P2940(outline←v15880);
SOURCE(37846, 46)
{
word var←c85796;
var←c85796 = XR←NewObject(4, (* (( (ptr) gf←c90372)+19) ));
(* (ptr) var←c85796 ) = partsList←v33776;
trajGen←v15924 = var←c85796;
};
SOURCE(37654, 238)
return(trajGen←v15924);
}
static word TrajectoriesOfOutline←P2940(outline←v15984)
word outline←v15984;
{
register ptr gf←c90404 = (ptr) &globalframe;
word trajs←v16028;
word outlineData←v33904;
word ptr←v33932 = 0;
/* TrajectoriesOfOutline: */
SOURCE(37898, 442)
SOURCE(37898, 442)
trajs←v16028 = 0;
SOURCE(37991, 47)
outlineData←v33904 = XR←Narrow((* (( (ptr) outline←v15984)+1) ), (* (( (ptr) gf←c90404)+7) ));
SOURCE(38060, 55)
{
word pd217;
pd217 = (* (( (ptr) (* (( (ptr) gf←c90404)+209)/* var←c82276 */ ))+6) );
if (((word) ( *( (fPt) ((* (ptr) pd217 ))))(outline←v15984, pd217) != (* (( (ptr) gf←c90404)+25) ))) {
SOURCE(38109, 6)
return(trajs←v16028);
};
};
SOURCE(38117, 41)
{
W2 var←c85828;
{
word pd218;
pd218 = (* (( (ptr) (* (( (ptr) gf←c90404)+212)/* var←c83236 */ ))+20) );
(void) ( *( (fPt) ((* (ptr) pd218 ))))((word) (&var←c85828), pd218);
};
ptr←v33932 = var←c85828.f1;
trajs←v16028 = var←c85828.f0;
};
SOURCE(38160, 180)
{
register word list←v34060;
list←v34060 = (* (( (ptr) outlineData←v33904)+4) );
lab←L100173: ;
if ((list←v34060 != 0)) {
}
else {
goto lab←L100170;
};
SOURCE(38238, 102)
{
word pd219;
pd219 = (* (( (ptr) (* (( (ptr) gf←c90404)+209)/* var←c82276 */ ))+6) );
if (((word) ( *( (fPt) ((* (ptr) pd219 ))))((* (ptr) (list←v34060) ), pd219) == (* (( (ptr) gf←c90404)+24) ))) {
SOURCE(38283, 57)
{
W2 var←c85860;
{
word pd220;
pd220 = (* (( (ptr) (* (( (ptr) gf←c90404)+212)/* var←c83236 */ ))+21) );
(void) ( *( (fPt) ((* (ptr) pd220 ))))((word) &var←c85860, (* (ptr) list←v34060 ), trajs←v16028, ptr←v33932, pd220);
};
ptr←v33932 = var←c85860.f1;
trajs←v16028 = var←c85860.f0;
};
};
};
list←v34060 = (* (( (ptr) list←v34060)+1) );
goto lab←L100173;
lab←L100170: ;
};
SOURCE(37898, 442)
return(trajs←v16028);
}
static word ListHoles←P3000(outline←v16172)
word outline←v16172;
{
register ptr gf←c90436 = (ptr) &globalframe;
word holesList←v16216;
word data←v34188;
/* ListHoles: */
SOURCE(38355, 196)
SOURCE(38355, 196)
holesList←v16216 = 0;
SOURCE(38434, 40)
data←v34188 = XR←Narrow((* (( (ptr) outline←v16172)+1) ), (* (( (ptr) gf←c90436)+7) ));
SOURCE(38476, 75)
{
word pd221;
pd221 = (* (( (ptr) (* (( (ptr) gf←c90436)+209)/* var←c82276 */ ))+6) );
if (((word) ( *( (fPt) ((* (ptr) pd221 ))))(outline←v16172, pd221) == (* (( (ptr) gf←c90436)+25) ))) {
SOURCE(38521, 30)
holesList←v16216 = (* (( (ptr) (* (( (ptr) data←v34188)+4) ))+1) );
};
};
SOURCE(38355, 196)
return(holesList←v16216);
}
static word HasHoles←P3060(outline←v16360)
word outline←v16360;
{
register ptr gf←c90468 = (ptr) &globalframe;
word var←c16404;
word data←v34232;
/* HasHoles: */
SOURCE(38557, 180)
SOURCE(38557, 180)
var←c16404 = 0;
SOURCE(38624, 40)
data←v34232 = XR←Narrow((* (( (ptr) outline←v16360)+1) ), (* (( (ptr) gf←c90468)+7) ));
SOURCE(38666, 71)
{
word tc222;
word pd223;
pd223 = (* (( (ptr) (* (( (ptr) gf←c90468)+209)/* var←c82276 */ ))+6) );
if (((word) ( *( (fPt) ((* (ptr) pd223 ))))(outline←v16360, pd223) == (* (( (ptr) gf←c90468)+25) ))) {
tc222 = (word) (unsigned) ((* (( (ptr) (* (( (ptr) data←v34232)+4) ))+1) ) != 0);
}
else {
tc222 = (word) (unsigned) 0;
};
return(tc222);
};
}
static word Parts←P3120(outlineD←v16464)
word outlineD←v16464;
{
word partsGen←v16508;
/* Parts: */
SOURCE(38742, 145)
SOURCE(38742, 145)
partsGen←v16508 = 0;
SOURCE(38838, 49)
partsGen←v16508 = (word) Parts2←P3240((* (ptr) outlineD←v16464 ), (* (( (ptr) outlineD←v16464)+1) ));
SOURCE(38742, 145)
return(partsGen←v16508);
}
static word PartsList←P3180(sliceD←v16568)
word sliceD←v16568;
{
register ptr gf←c90500 = (ptr) &globalframe;
word partsList←v16612;
word outlineParts←v34276;
word ptr←v34304 = 0;
/* PartsList: */
SOURCE(38892, 428)
SOURCE(38892, 428)
partsList←v16612 = 0;
SOURCE(38990, 49)
outlineParts←v34276 = XR←Narrow((* (( (ptr) sliceD←v16568)+1) ), (* (( (ptr) gf←c90500)+5) ));
SOURCE(39071, 55)
{
W2 var←c85924;
{
word pd224;
pd224 = (* (( (ptr) (* (( (ptr) gf←c90500)+212)/* var←c83236 */ ))+15) );
(void) ( *( (fPt) ((* (ptr) pd224 ))))((word) (&var←c85924), pd224);
};
ptr←v34304 = var←c85924.f1;
partsList←v16612 = var←c85924.f0;
};
SOURCE(39128, 192)
{
register word list←v34432;
list←v34432 = (* (ptr) outlineParts←v34276 );
lab←L100177: ;
if ((list←v34432 != 0)) {
}
else {
goto lab←L100174;
};
SOURCE(39220, 100)
if (((* (ptr) list←v34432 ) != 0)) {
SOURCE(39245, 75)
{
W2 var←c85956;
{
word pd225;
pd225 = (* (( (ptr) (* (( (ptr) gf←c90500)+212)/* var←c83236 */ ))+16) );
(void) ( *( (fPt) ((* (ptr) pd225 ))))((word) &var←c85956, (* (ptr) list←v34432 ), partsList←v16612, ptr←v34304, pd225)
;
};
ptr←v34304 = var←c85956.f1;
partsList←v16612 = var←c85956.f0;
};
};
list←v34432 = (* (( (ptr) list←v34432)+1) );
goto lab←L100177;
lab←L100174: ;
};
SOURCE(38892, 428)
return(partsList←v16612);
}
static word Parts2←P3240(outline←v16756, parts←v16784)
word outline←v16756;
word parts←v16784;
{
register ptr gf←c90532 = (ptr) &globalframe;
word partsGen←v16828;
/* Parts2: */
SOURCE(39335, 573)
SOURCE(39335, 573)
partsGen←v16828 = 0;
SOURCE(39440, 49)
partsGen←v16828 = XR←NewObject(4, (* (( (ptr) gf←c90532)+17) ));
SOURCE(39491, 417)
if ((parts←v16784 == 0)) {
SOURCE(39509, 27)
return(partsGen←v16828);
}
else {
SOURCE(39536, 374)
{
word outlineParts←v34560;
word partsList←v34588 = 0;
word ptr←v34616 = 0;
SOURCE(39538, 42)
outlineParts←v34560 = XR←Narrow(parts←v16784, (* (( (ptr) gf←c90532)+5) ));
SOURCE(39623, 55)
{
W2 var←c86020;
{
word pd226;
pd226 = (* (( (ptr) (* (( (ptr) gf←c90532)+212)/* var←c83236 */ ))+15) );
(void) ( *( (fPt) ((* (ptr) pd226 ))))((word) (&var←c86020), pd226);
};
ptr←v34616 = var←c86020.f1;
partsList←v34588 = var←c86020.f0;
};
SOURCE(39680, 192)
{
register word list←v34744;
list←v34744 = (* (ptr) outlineParts←v34560 );
lab←L100181: ;
if ((list←v34744 != 0)) {
}
else {
goto lab←L100178;
};
SOURCE(39772, 100)
if (((* (ptr) list←v34744 ) != 0)) {
SOURCE(39797, 75)
{
W2 var←c86052;
{
word pd227;
pd227 = (* (( (ptr) (* (( (ptr) gf←c90532)+212)/* var←c83236 */ ))+16) );
(void) ( *( (fPt) ((* (ptr) pd227 ))))((word) &var←c86052, (* (ptr) list←v34744 ), partsList←v34588, ptr←v34616, pd227)
;
};
ptr←v34616 = var←c86052.f1;
partsList←v34588 = var←c86052.f0;
};
};
list←v34744 = (* (( (ptr) list←v34744)+1) );
goto lab←L100181;
lab←L100178: ;
};
SOURCE(39883, 25)
(* (ptr) partsGen←v16828 ) = partsList←v34588;
};
};
SOURCE(39335, 573)
return(partsGen←v16828);
}
static word Children←P3300(outline←v16888)
word outline←v16888;
{
register ptr gf←c90564 = (ptr) &globalframe;
word children←v16932;
word data←v34872;
/* Children: */
SOURCE(39917, 180)
SOURCE(39917, 180)
children←v16932 = 0;
SOURCE(39996, 40)
data←v34872 = XR←Narrow((* (( (ptr) outline←v16888)+1) ), (* (( (ptr) gf←c90564)+7) ));
SOURCE(40038, 59)
{
word var←c86084;
var←c86084 = XR←NewObject(4, (* (( (ptr) gf←c90564)+19) ));
(* (ptr) var←c86084 ) = (* (( (ptr) data←v34872)+4) );
children←v16932 = var←c86084;
};
SOURCE(39917, 180)
return(children←v16932);
}
static word ChildList←P3360(outline←v16992)
word outline←v16992;
{
register ptr gf←c90596 = (ptr) &globalframe;
word childList←v17036;
word data←v34916;
/* ChildList: */
SOURCE(40103, 147)
SOURCE(40103, 147)
childList←v17036 = 0;
SOURCE(40183, 40)
data←v34916 = XR←Narrow((* (( (ptr) outline←v16992)+1) ), (* (( (ptr) gf←c90596)+7) ));
SOURCE(40225, 25)
childList←v17036 = (* (( (ptr) data←v34916)+4) );
SOURCE(40103, 147)
return(childList←v17036);
}
static word WalkChildren←P3420(parent←v17180, level←v17208, walkProc←v17236, classType←v17264)
word parent←v17180;
word level←v17208;
word walkProc←v17236;
word classType←v17264;
{
register ptr gf←c90628 = (ptr) &globalframe;
word aborted←v17308;
/* WalkChildren: */
SOURCE(40258, 773)
SOURCE(40258, 773)
aborted←v17308 = 0;
SOURCE(40408, 623)
{
word pd228;
pd228 = (* (( (ptr) (* (( (ptr) gf←c90628)+207)/* var←c82180 */ ))+62) );
if ((0 != (word) ( *( (fPt) ((* (ptr) pd228 ))))(parent←v17180, pd228))) {
SOURCE(40442, 603)
{
word outlineData←v34960;
SOURCE(40444, 46)
outlineData←v34960 = XR←Narrow((* (( (ptr) parent←v17180)+1) ), (* (( (ptr) gf←c90628)+7) ));
SOURCE(40492, 539)
{
register word slices←v35004;
slices←v35004 = (* (( (ptr) outlineData←v34960)+4) );
lab←L100185: ;
if ((slices←v35004 != 0)) {
}
else {
goto lab←L100182;
};
{
word thisType←v35132;
SOURCE(40576, 49)
{
word pd229;
pd229 = (* (( (ptr) (* (( (ptr) gf←c90628)+209)/* var←c82276 */ ))+6) );
thisType←v35132 = (word) ( *( (fPt) ((* (ptr) pd229 ))))((* (ptr) (slices←v35004) ), pd229);
};
SOURCE(40627, 179)
{
word tc230;
word pd232;
if ((level←v17208 != 1)) { goto then0231;};
pd232 = (* (( (ptr) (* (( (ptr) gf←c90628)+207)/* var←c82180 */ ))+72) );
if ((0 != (word) ( *( (fPt) ((* (ptr) pd232 ))))((* (ptr) slices←v35004 ), classType←v17264, pd232))) {
then0231: ;
if ((classType←v17264 == 0)) {
tc230 = (word) 1;
}
else {
tc230 = (word) (thisType←v35132 == classType←v17264);
};
}
else {
tc230 = (word) 0;
};
if (tc230) {
SOURCE(40749, 33)
aborted←v17308 = (word) ( *( (fPt) ((* (ptr) walkProc←v17236 ))))((* (ptr) (slices←v35004) ), walkProc←v17236);
SOURCE(40784, 22)
if ((0 != aborted←v17308)) {
SOURCE(40800, 6)
return(aborted←v17308);
};
};
};
SOURCE(40811, 220)
{
word tc233;
word pd234;
if (((level←v17208 == 2) || (level←v17208 == 1)) || ( (level←v17208 == 3) ? (thisType←v35132 != classType←v17264) : 0 ) ) {
pd234 = (* (( (ptr) (* (( (ptr) gf←c90628)+207)/* var←c82180 */ ))+62) );
tc233 = (word) (0 != (word) ( *( (fPt) ((* (ptr) pd234 ))))((* (ptr) (slices←v35004) ), pd234));
}
else {
tc233 = (word) 0;
};
if (tc233) {
SOURCE(40933, 74)
{
word pd235;
pd235 = (* (( (ptr) (* (( (ptr) gf←c90628)+207)/* var←c82180 */ ))+73) );
aborted←v17308 = (word) ( *( (fPt) ((* (ptr) pd235 ))))((* (ptr) slices←v35004 ), level←v17208, walkProc←v17236, classType←v17264, pd235)
;
};
SOURCE(41009, 22)
if ((0 != aborted←v17308)) {
SOURCE(41025, 6)
return(aborted←v17308);
};
};
};
};
slices←v35004 = (* (( (ptr) slices←v35004)+1) );
goto lab←L100185;
lab←L100182: ;
};
};
};
};
SOURCE(40258, 773)
return(aborted←v17308);
}
static word WalkIncludedChildren←P3480(parent←v17368, parts←v17396, level←v17424, walkProc←v17452, classType←v17480)
word parent←v17368;
word parts←v17396;
word level←v17424;
word walkProc←v17452;
word classType←v17480;
{
register ptr gf←c90660 = (ptr) &globalframe;
word aborted←v17524;
word type←v35176;
/* WalkIncludedChildren: */
SOURCE(41052, 1081)
SOURCE(41052, 1081)
aborted←v17524 = 0;
SOURCE(41233, 39)
{
word pd236;
pd236 = (* (( (ptr) (* (( (ptr) gf←c90660)+209)/* var←c82276 */ ))+6) );
type←v35176 = (word) ( *( (fPt) ((* (ptr) pd236 ))))(parent←v17368, pd236);
};
SOURCE(41274, 859)
{
word pd237;
pd237 = (* (( (ptr) (* (( (ptr) gf←c90660)+207)/* var←c82180 */ ))+63) );
if ((0 != (word) ( *( (fPt) ((* (ptr) pd237 ))))(type←v35176, pd237))) {
SOURCE(41310, 840)
{
word outlineParts←v35220;
SOURCE(41312, 42)
outlineParts←v35220 = XR←Narrow(parts←v17396, (* (( (ptr) gf←c90660)+5) ));
SOURCE(41356, 33)
if ((outlineParts←v35220 == 0)) {
SOURCE(41383, 6)
return(aborted←v17524);
};
SOURCE(41391, 742)
{
register word childDList←v35264;
childDList←v35264 = (* (ptr) outlineParts←v35220 );
lab←L100189: ;
if ((childDList←v35264 != 0)) {
}
else {
goto lab←L100186;
};
{
word thisChildD←v35392;
SOURCE(41501, 46)
thisChildD←v35392 = (* (ptr) childDList←v35264 );
SOURCE(41549, 584)
{
word tc238;
word pd239;
if ((thisChildD←v35392 != 0)) {
pd239 = (* (( (ptr) (* (( (ptr) gf←c90660)+209)/* var←c82276 */ ))+27) );
tc238 = (word) (0 == (word) ( *( (fPt) ((* (ptr) pd239 ))))(thisChildD←v35392, pd239));
}
else {
tc238 = (word) 0;
};
if (tc238) {
SOURCE(41618, 520)
{
word thisType←v35436;
SOURCE(41620, 53)
{
/*1*/ word pd240;
/*1*/ pd240 = (* (( (ptr) (* (( (ptr) gf←c90660)+209)/* var←c82276 */ ))+6) );
/*1*/ thisType←v35436 = (word) ( *( (fPt) ((* (ptr) pd240 ))))((* (ptr) (thisChildD←v35392) ), pd240);
/*1*/ };
SOURCE(41675, 209)
{
/*1*/ word tc241;
/*1*/ word pd243;
/*1*/ word pd244;
/*1*/ if ((level←v17424 != 1)) { goto then0242;};
/*1*/ pd243 = (* (( (ptr) (* (( (ptr) gf←c90660)+207)/* var←c82180 */ ))+72) );
/*1*/ if ((0 != (word) ( *( (fPt) ((* (ptr) pd243 ))))((* (ptr) thisChildD←v35392 ), classType←v17480, pd243))) {
/*1*/ then0242: ;
/*1*/ if ((classType←v17480 == 0)) {
/*1*/ tc241 = (word) 1;
/*1*/ }
/*1*/ else {
/*1*/ pd244 = (* (( (ptr) (* (( (ptr) gf←c90660)+209)/* var←c82276 */ ))+6) );
/*1*/ tc241 = (word) ((word) ( *( (fPt) ((* (ptr) pd244 ))))((* (ptr) (thisChildD←v35392) ), pd244) == classType←v17480);
/*1*/ };
/*1*/ }
/*1*/ else {
/*1*/ tc241 = (word) 0;
/*1*/ };
/*1*/ if (tc241) {
SOURCE(41829, 31)
/*1*/ aborted←v17524 = (word) ( *( (fPt) ((* (ptr) walkProc←v17452 ))))(thisChildD←v35392, walkProc←v17452);
SOURCE(41862, 22)
/*1*/ if ((0 != aborted←v17524)) {
SOURCE(41878, 6)
/*1*/ return(aborted←v17524);
/*1*/ };
/*1*/ };
/*1*/ };
SOURCE(41889, 244)
{
/*1*/ word tc245;
/*1*/ word pd246;
/*1*/ if (((level←v17424 == 2) || (level←v17424 == 1)) || ( (level←v17424 == 3) ? (thisType←v35436 != classType←v17480) : 0 ) ) {
/*1*/ pd246 = (* (( (ptr) (* (( (ptr) gf←c90660)+207)/* var←c82180 */ ))+62) );
/*1*/ tc245 = (word) (0 != (word) ( *( (fPt) ((* (ptr) pd246 ))))((* (ptr) (thisChildD←v35392) ), pd246));
/*1*/ }
/*1*/ else {
/*1*/ tc245 = (word) 0;
/*1*/ };
/*1*/ if (tc245) {
SOURCE(42015, 94)
/*1*/ aborted←v17524 = (word) WalkIncludedChildren←P3480((* (ptr) thisChildD←v35392 ), (* (( (ptr) thisChildD←v35392)+1) ), level←v17424, walkProc←v17452, classType←v17480)
/*1*/ ;
SOURCE(42111, 22)
/*1*/ if ((0 != aborted←v17524)) {
SOURCE(42127, 6)
/*1*/ return(aborted←v17524);
/*1*/ };
/*1*/ };
/*1*/ };
};
};
};
};
childDList←v35264 = (* (( (ptr) childDList←v35264)+1) );
goto lab←L100189;
lab←L100186: ;
};
};
};
};
SOURCE(41052, 1081)
return(aborted←v17524);
}
static word WalkIncludedParts←P3540(parent←v17584, parts←v17612, level←v17640, walkProc←v17668, classType←v17696)
word parent←v17584;
word parts←v17612;
word level←v17640;
word walkProc←v17668;
word classType←v17696;
{
register ptr gf←c90692 = (ptr) &globalframe;
word aborted←v17740;
word type←v35480;
/* WalkIncludedParts: */
SOURCE(42157, 1775)
SOURCE(42157, 1775)
aborted←v17740 = 0;
SOURCE(42323, 39)
{
word pd247;
pd247 = (* (( (ptr) (* (( (ptr) gf←c90692)+209)/* var←c82276 */ ))+6) );
type←v35480 = (word) ( *( (fPt) ((* (ptr) pd247 ))))(parent←v17584, pd247);
};
SOURCE(42364, 1568)
{
word pd248;
pd248 = (* (( (ptr) (* (( (ptr) gf←c90692)+207)/* var←c82180 */ ))+63) );
if ((0 != (word) ( *( (fPt) ((* (ptr) pd248 ))))(type←v35480, pd248))) {
SOURCE(42402, 1530)
if ((parts←v17612 == 0)) {
SOURCE(42422, 659)
{
word outlineData←v35524;
SOURCE(42424, 46)
outlineData←v35524 = XR←Narrow((* (( (ptr) parent←v17584)+1) ), (* (( (ptr) gf←c90692)+7) ));
SOURCE(42472, 595)
{
register word childList←v35568;
childList←v35568 = (* (( (ptr) outlineData←v35524)+4) );
lab←L100193: ;
if ((childList←v35568 != 0)) {
}
else {
goto lab←L100190;
};
{
word thisChild←v35696;
word thisType←v35724;
SOURCE(42565, 34)
thisChild←v35696 = (* (ptr) childList←v35568 );
SOURCE(42601, 46)
{
word pd249;
pd249 = (* (( (ptr) (* (( (ptr) gf←c90692)+209)/* var←c82276 */ ))+6) );
thisType←v35724 = (word) ( *( (fPt) ((* (ptr) pd249 ))))(thisChild←v35696, pd249);
};
SOURCE(42649, 199)
{
word tc250;
word pd252;
word pd253;
if ((level←v17640 != 1)) { goto then0251;};
pd252 = (* (( (ptr) (* (( (ptr) gf←c90692)+207)/* var←c82180 */ ))+72) );
if ((0 != (word) ( *( (fPt) ((* (ptr) pd252 ))))(thisChild←v35696, classType←v17696, pd252))) {
then0251: ;
if ((classType←v17696 == 0)) {
/*1*/ tc250 = (word) 1;
/*1*/ }
else {
/*1*/ pd253 = (* (( (ptr) (* (( (ptr) gf←c90692)+209)/* var←c82276 */ ))+6) );
/*1*/ tc250 = (word) ((word) ( *( (fPt) ((* (ptr) pd253 ))))(thisChild←v35696, pd253) == classType←v17696);
/*1*/ };
}
else {
tc250 = (word) 0;
};
if (tc250) {
SOURCE(42789, 35)
aborted←v17740 = (word) ( *( (fPt) ((* (ptr) walkProc←v17668 ))))(thisChild←v35696, 0, walkProc←v17668);
SOURCE(42826, 22)
if ((0 != aborted←v17740)) {
SOURCE(42842, 6)
/*1*/ return(aborted←v17740);
/*1*/ };
};
};
SOURCE(42853, 214)
{
word tc254;
word pd255;
if (((level←v17640 == 2) || (level←v17640 == 1)) || ( (level←v17640 == 3) ? (thisType←v35724 != classType←v17696) : 0 ) ) {
pd255 = (* (( (ptr) (* (( (ptr) gf←c90692)+207)/* var←c82180 */ ))+62) );
tc254 = (word) (0 != (word) ( *( (fPt) ((* (ptr) pd255 ))))(thisChild←v35696, pd255));
}
else {
tc254 = (word) 0;
};
if (tc254) {
SOURCE(42972, 71)
aborted←v17740 = (word) WalkIncludedParts←P3540(thisChild←v35696, 0, level←v17640, walkProc←v17668, classType←v17696);
SOURCE(43045, 22)
if ((0 != aborted←v17740)) {
SOURCE(43061, 6)
/*1*/ return(aborted←v17740);
/*1*/ };
};
};
};
childList←v35568 = (* (( (ptr) childList←v35568)+1) );
goto lab←L100193;
lab←L100190: ;
};
};
}
else {
SOURCE(43088, 861)
{
word outlineParts←v35768;
SOURCE(43090, 42)
outlineParts←v35768 = XR←Narrow(parts←v17612, (* (( (ptr) gf←c90692)+5) ));
SOURCE(43134, 33)
if ((outlineParts←v35768 == 0)) {
SOURCE(43161, 6)
return(aborted←v17740);
};
SOURCE(43169, 763)
{
register word childDList←v35812;
childDList←v35812 = (* (ptr) outlineParts←v35768 );
lab←L100197: ;
if ((childDList←v35812 != 0)) {
}
else {
goto lab←L100194;
};
{
word thisChildD←v35940;
SOURCE(43279, 46)
thisChildD←v35940 = (* (ptr) childDList←v35812 );
SOURCE(43327, 605)
{
word tc256;
word pd257;
if ((thisChildD←v35940 != 0)) {
pd257 = (* (( (ptr) (* (( (ptr) gf←c90692)+209)/* var←c82276 */ ))+27) );
tc256 = (word) (0 == (word) ( *( (fPt) ((* (ptr) pd257 ))))(thisChildD←v35940, pd257));
}
else {
tc256 = (word) 0;
};
if (tc256) {
SOURCE(43396, 541)
{
/*1*/ word thisType←v35984;
SOURCE(43398, 53)
/*1*/ {
/*1*/ word pd258;
/*1*/ pd258 = (* (( (ptr) (* (( (ptr) gf←c90692)+209)/* var←c82276 */ ))+6) );
/*1*/ thisType←v35984 = (word) ( *( (fPt) ((* (ptr) pd258 ))))((* (ptr) (thisChildD←v35940) ), pd258);
/*1*/ };
SOURCE(43453, 233)
/*1*/ {
/*1*/ word tc259;
/*1*/ word pd261;
/*1*/ word pd262;
/*1*/ if ((level←v17640 != 1)) { goto then0260;};
/*1*/ pd261 = (* (( (ptr) (* (( (ptr) gf←c90692)+207)/* var←c82180 */ ))+72) );
/*1*/ if ((0 != (word) ( *( (fPt) ((* (ptr) pd261 ))))((* (ptr) thisChildD←v35940 ), classType←v17696, pd261))) {
/*1*/ then0260: ;
/*1*/ if ((classType←v17696 == 0)) {
/*1*/ tc259 = (word) 1;
/*1*/ }
/*1*/ else {
/*1*/ pd262 = (* (( (ptr) (* (( (ptr) gf←c90692)+209)/* var←c82276 */ ))+6) );
/*1*/ tc259 = (word) ((word) ( *( (fPt) ((* (ptr) pd262 ))))((* (ptr) (thisChildD←v35940) ), pd262) == classType←v17696);
/*1*/ };
/*1*/ }
/*1*/ else {
/*1*/ tc259 = (word) 0;
/*1*/ };
/*1*/ if (tc259) {
SOURCE(43607, 55)
/*1*/ aborted←v17740 = (word) ( *( (fPt) ((* (ptr) walkProc←v17668 ))))((* (ptr) thisChildD←v35940 ), (* (( (ptr) thisChildD←v35940)+1)
/*1*/ ), walkProc←v17668);
SOURCE(43664, 22)
/*1*/ if ((0 != aborted←v17740)) {
SOURCE(43680, 6)
/*1*/ return(aborted←v17740);
/*1*/ };
/*1*/ };
/*1*/ };
SOURCE(43691, 241)
/*1*/ {
/*1*/ word tc263;
/*1*/ word pd264;
/*1*/ if (((level←v17640 == 2) || (level←v17640 == 1)) || ( (level←v17640 == 3) ? (thisType←v35984 != classType←v17696) : 0 ) ) {
/*1*/ pd264 = (* (( (ptr) (* (( (ptr) gf←c90692)+207)/* var←c82180 */ ))+62) );
/*1*/ tc263 = (word) (0 != (word) ( *( (fPt) ((* (ptr) pd264 ))))((* (ptr) (thisChildD←v35940) ), pd264));
/*1*/ }
/*1*/ else {
/*1*/ tc263 = (word) 0;
/*1*/ };
/*1*/ if (tc263) {
SOURCE(43817, 91)
/*1*/ aborted←v17740 = (word) WalkIncludedParts←P3540((* (ptr) thisChildD←v35940 ), (* (( (ptr) thisChildD←v35940)+1) ), level←v17640, walkProc←v17668, classType←v17696)
/*1*/ ;
SOURCE(43910, 22)
/*1*/ if ((0 != aborted←v17740)) {
SOURCE(43926, 6)
/*1*/ return(aborted←v17740);
/*1*/ };
/*1*/ };
/*1*/ };
/*1*/ };
};
};
};
childDList←v35812 = (* (( (ptr) childDList←v35812)+1) );
goto lab←L100197;
lab←L100194: ;
};
};
};
};
};
SOURCE(42157, 1775)
return(aborted←v17740);
}
static word ListChildren←P3600(parent←v17800, level←v17828, classType←v17856)
word parent←v17800;
word level←v17828;
word classType←v17856;
{
W8 var←c90724;
register ptr gf←c90756 = (ptr) &globalframe;
/* declaration of sliceList←v17900 skipped */
/* declaration of var←c86116 skipped */
/* declaration of ptr←v36028 skipped */
/* ListChildren: */
SOURCE(43959, 380)
{
word tmpAddr265;
tmpAddr265 = (word) (( (ptr) &var←c90724)+5)/* var←c86116 */ ;
(* (ptr) tmpAddr265 ) = ( ((word) (fPt) DoAppendSlice←P9456) );
(* (( (ptr) tmpAddr265) + 1) ) = 1;
};
SOURCE(43959, 380)
var←c90724.f4/* sliceList←v17900 */ = 0;
SOURCE(44081, 5)
var←c90724.f7/* ptr←v36028 */ = 0;
SOURCE(44234, 45)
{
W2 var←c86148;
{
word pd266;
pd266 = (* (( (ptr) (* (( (ptr) gf←c90756)+212)/* var←c83236 */ ))+20) );
(void) ( *( (fPt) ((* (ptr) pd266 ))))((word) (&var←c86148), pd266);
};
var←c90724.f7/* ptr←v36028 */ = var←c86148.f1;
var←c90724.f4/* sliceList←v17900 */ = var←c86148.f0;
};
SOURCE(44281, 58)
{
word var←c86180;
var←c86180 = (word) WalkChildren←P3420(parent←v17800, level←v17828, (word) (( (bPt) &var←c90724)+20)/* var←c86116 */ , classType←v17856)
;
};
SOURCE(43959, 380)
return(var←c90724.f4/* sliceList←v17900 */ );
}
static word DoAppendSlice←P9456(slice←v36216, formal←c90820)
word slice←v36216;
word formal←c90820;
{
register ptr gf←c90788 = (ptr) &globalframe;
word done←v36260;
formal←c90820 = (formal←c90820 - 20);
/* DoAppendSlice: */
SOURCE(44101, 128)
SOURCE(44101, 128)
done←v36260 = 0;
SOURCE(44169, 60)
{
W2 var←c86212;
{
word pd267;
pd267 = (* (( (ptr) (* (( (ptr) gf←c90788)+212)/* var←c83236 */ ))+21) );
(void) ( *( (fPt) ((* (ptr) pd267 ))))((word) &var←c86212, slice←v36216, (* (( (ptr) formal←c90820)+4) ), (* (( (ptr) formal←c90820)+7)
), pd267);
};
(* (( (ptr) formal←c90820)+7) ) = var←c86212.f1;
(* (( (ptr) formal←c90820)+4) ) = var←c86212.f0;
};
SOURCE(44101, 128)
return(done←v36260);
}
static word ListIncludedChildren←P3660(parent←v18044, parts←v18072, level←v18100, classType←v18128)
word parent←v18044;
word parts←v18072;
word level←v18100;
word classType←v18128;
{
W8 var←c90852;
register ptr gf←c90884 = (ptr) &globalframe;
/* declaration of selectedList←v18172 skipped */
/* declaration of var←c86244 skipped */
/* declaration of ptr←v36288 skipped */
/* ListIncludedChildren: */
SOURCE(44345, 486)
{
word tmpAddr268;
tmpAddr268 = (word) (( (ptr) &var←c90852)+5)/* var←c86244 */ ;
(* (ptr) tmpAddr268 ) = ( ((word) (fPt) DoAppendSlice←P9516) );
(* (( (ptr) tmpAddr268) + 1) ) = 1;
};
SOURCE(44345, 486)
var←c90852.f4/* selectedList←v18172 */ = 0;
SOURCE(44507, 5)
var←c90852.f7/* ptr←v36288 */ = 0;
SOURCE(44698, 58)
{
W2 var←c86276;
{
word pd269;
pd269 = (* (( (ptr) (* (( (ptr) gf←c90884)+212)/* var←c83236 */ ))+15) );
(void) ( *( (fPt) ((* (ptr) pd269 ))))((word) (&var←c86276), pd269);
};
var←c90852.f7/* ptr←v36288 */ = var←c86276.f1;
var←c90852.f4/* selectedList←v18172 */ = var←c86276.f0;
};
SOURCE(44758, 73)
{
word var←c86308;
var←c86308 = (word) WalkIncludedChildren←P3480(parent←v18044, parts←v18072, level←v18100, (word) (( (bPt) &var←c90852)+20)
/* var←c86244 */ , classType←v18128);
};
SOURCE(44345, 486)
return(var←c90852.f4/* selectedList←v18172 */ );
}
static word DoAppendSlice←P9516(childD←v36476, formal←c90948)
word childD←v36476;
word formal←c90948;
{
register ptr gf←c90916 = (ptr) &globalframe;
word done←v36520;
formal←c90948 = (formal←c90948 - 20);
/* DoAppendSlice: */
SOURCE(44537, 156)
SOURCE(44537, 156)
done←v36520 = 0;
SOURCE(44616, 77)
{
W2 var←c86340;
{
word pd270;
pd270 = (* (( (ptr) (* (( (ptr) gf←c90916)+212)/* var←c83236 */ ))+16) );
(void) ( *( (fPt) ((* (ptr) pd270 ))))((word) &var←c86340, childD←v36476, (* (( (ptr) formal←c90948)+4) ), (* (( (ptr) formal←c90948)+7)
), pd270);
};
(* (( (ptr) formal←c90948)+7) ) = var←c86340.f1;
(* (( (ptr) formal←c90948)+4) ) = var←c86340.f0;
};
SOURCE(44537, 156)
return(done←v36520);
}
static word FirstChild←P3720(parent←v18316, level←v18344, classType←v18372)
word parent←v18316;
word level←v18344;
word classType←v18372;
{
W7 var←c90980;
/* declaration of firstChild←v18416 skipped */
/* declaration of var←c86372 skipped */
/* FirstChild: */
SOURCE(44837, 282)
{
word tmpAddr271;
tmpAddr271 = (word) (( (ptr) &var←c90980)+5)/* var←c86372 */ ;
(* (ptr) tmpAddr271 ) = ( ((word) (fPt) StopAtFirstSlice←P9576) );
(* (( (ptr) tmpAddr271) + 1) ) = 1;
};
SOURCE(44837, 282)
var←c90980.f4/* firstChild←v18416 */ = 0;
SOURCE(45058, 61)
{
word var←c86404;
var←c86404 = (word) WalkChildren←P3420(parent←v18316, level←v18344, (word) (( (bPt) &var←c90980)+20)/* var←c86372 */ , classType←v18372)
;
};
SOURCE(44837, 282)
return(var←c90980.f4/* firstChild←v18416 */ );
}
static word StopAtFirstSlice←P9576(slice←v36624, formal←c91012)
word slice←v36624;
word formal←c91012;
{
word done←v36668;
formal←c91012 = (formal←c91012 - 20);
/* StopAtFirstSlice: */
SOURCE(44950, 103)
SOURCE(44950, 103)
done←v36668 = 0;
SOURCE(45021, 18)
(* (( (ptr) formal←c91012)+4) ) = slice←v36624;
SOURCE(45041, 12)
return(1);
}
static word FirstIncludedChild←P3780(parent←v18476, parts←v18504, level←v18532, classType←v18560)
word parent←v18476;
word parts←v18504;
word level←v18532;
word classType←v18560;
{
W7 var←c91044;
/* declaration of childD←v18604 skipped */
/* declaration of var←c86436 skipped */
/* FirstIncludedChild: */
SOURCE(45125, 338)
{
word tmpAddr272;
tmpAddr272 = (word) (( (ptr) &var←c91044)+5)/* var←c86436 */ ;
(* (ptr) tmpAddr272 ) = ( ((word) (fPt) StopAtFirstSlice←P9636) );
(* (( (ptr) tmpAddr272) + 1) ) = 1;
};
SOURCE(45125, 338)
var←c91044.f4/* childD←v18604 */ = 0;
SOURCE(45387, 76)
{
word var←c86468;
var←c86468 = (word) WalkIncludedChildren←P3480(parent←v18476, parts←v18504, level←v18532, (word) (( (bPt) &var←c91044)+20)
/* var←c86436 */ , classType←v18560);
};
SOURCE(45125, 338)
return(var←c91044.f4/* childD←v18604 */ );
}
static word StopAtFirstSlice←P9636(sliceD←v36772, formal←c91076)
word sliceD←v36772;
word formal←c91076;
{
word done←v36816;
formal←c91076 = (formal←c91076 - 20);
/* StopAtFirstSlice: */
SOURCE(45271, 111)
SOURCE(45271, 111)
done←v36816 = 0;
SOURCE(45353, 15)
(* (( (ptr) formal←c91076)+4) ) = sliceD←v36772;
SOURCE(45370, 12)
return(1);
}
static void TallyChildren←P3840(formal←c0798, parent←v18664, tallyProc←v18692)
word formal←c0798;
word parent←v18664;
word tallyProc←v18692;
{
register ptr gf←c91108 = (ptr) &globalframe;
word tallyD←v18736;
word aborted←v18764;
word visitChildren←v36844 = 0;
word keep←v36872 = 0;
word done←v36900 = 0;
word keepFound←v36928 = 0;
/* TallyChildren: */
SOURCE(45469, 1017)
SOURCE(45469, 1017)
tallyD←v18736 = 0;
SOURCE(45469, 1017)
aborted←v18764 = 0;
SOURCE(45652, 47)
{
W3 var←c86500;
(void) ( *( (fPt) ((* (ptr) tallyProc←v18692 ))))((word) &var←c86500, parent←v18664, tallyProc←v18692);
done←v36900 = var←c86500.f2;
keep←v36872 = var←c86500.f1;
visitChildren←v36844 = var←c86500.f0;
};
SOURCE(45701, 785)
{
word tc273;
word pd274;
pd274 = (* (( (ptr) (* (( (ptr) gf←c91108)+207)/* var←c82180 */ ))+62) );
if ((0 != (word) ( *( (fPt) ((* (ptr) pd274 ))))(parent←v18664, pd274))) {
tc273 = (word) (0 != visitChildren←v36844);
}
else {
tc273 = (word) 0;
};
if (tc273) {
SOURCE(45753, 629)
{
word outlineData←v36972;
word ptr←v37000 = 0;
word newParts←v37028;
SOURCE(45755, 46)
outlineData←v36972 = XR←Narrow((* (( (ptr) parent←v18664)+1) ), (* (( (ptr) gf←c91108)+7) ));
SOURCE(45833, 45)
newParts←v37028 = XR←NewObject(4, (* (( (ptr) gf←c91108)+5) ));
SOURCE(45880, 66)
{
W2 var←c86564;
{
word pd275;
pd275 = (* (( (ptr) (* (( (ptr) gf←c91108)+212)/* var←c83236 */ ))+15) );
(void) ( *( (fPt) ((* (ptr) pd275 ))))((word) (&var←c86564), pd275);
};
ptr←v37000 = var←c86564.f1;
(* (ptr) newParts←v37028 ) = var←c86564.f0;
};
SOURCE(45948, 331)
{
register word list←v37156;
list←v37156 = (* (( (ptr) outlineData←v36972)+4) );
lab←L100202: ;
if ((list←v37156 != 0)) {
}
else {
goto lab←L100199;
};
{
word thisD←v37284 = 0;
SOURCE(46050, 135)
if ((0 == aborted←v18764)) {
SOURCE(46072, 55)
{
W2 var←c86596;
(void) TallyChildren←P3840((word) &var←c86596, (* (ptr) list←v37156 ), tallyProc←v18692);
aborted←v18764 = var←c86596.f1;
thisD←v37284 = var←c86596.f0;
};
SOURCE(46129, 36)
if ((thisD←v37284 != 0)) {
SOURCE(46149, 16)
keepFound←v36928 = 1;
};
}
else {
SOURCE(46174, 11)
thisD←v37284 = 0;
};
SOURCE(46187, 92)
{
W2 var←c86628;
{
word pd276;
pd276 = (* (( (ptr) (* (( (ptr) gf←c91108)+212)/* var←c83236 */ ))+16) );
(void) ( *( (fPt) ((* (ptr) pd276 ))))((word) &var←c86628, thisD←v37284, (* (ptr) newParts←v37028 ), ptr←v37000, pd276)
;
};
ptr←v37000 = var←c86628.f1;
(* (ptr) newParts←v37028 ) = var←c86628.f0;
};
};
list←v37156 = (* (( (ptr) list←v37156)+1) );
goto lab←L100202;
lab←L100199: ;
};
SOURCE(46290, 90)
if ((0 != keepFound←v36928)) {
SOURCE(46308, 60)
{
word pd277;
pd277 = (* (( (ptr) (* (( (ptr) gf←c91108)+208)/* var←c82212 */ ))+8) );
tallyD←v18736 = (word) ( *( (fPt) ((* (ptr) pd277 ))))(parent←v18664, newParts←v37028, pd277);
};
}
else {
SOURCE(46368, 12)
tallyD←v18736 = 0;
};
};
}
else {
SOURCE(46391, 79)
if ((0 != keep←v36872)) {
SOURCE(46404, 54)
{
word pd278;
pd278 = (* (( (ptr) (* (( (ptr) gf←c91108)+209)/* var←c82276 */ ))+29) );
tallyD←v18736 = (word) ( *( (fPt) ((* (ptr) pd278 ))))(parent←v18664, 0, 6, pd278);
};
}
else {
SOURCE(46458, 12)
tallyD←v18736 = 0;
};
SOURCE(46472, 14)
aborted←v18764 = done←v36900;
};
};
/* removed tail goto */
(* (ptr) formal←c0798 ) = tallyD←v18736;
(* (( (ptr) formal←c0798)+1) ) = aborted←v18764;
return;
}
static void TallyIncludedChildren←P3900(formal←c0822, parent←v18824, parts←v18852, tallyProc←v18880)
word formal←c0822;
word parent←v18824;
word parts←v18852;
word tallyProc←v18880;
{
register ptr gf←c91140 = (ptr) &globalframe;
word tallyD←v18924;
word aborted←v18952;
word visitChildren←v37328 = 0;
word done←v37356 = 0;
word keepFound←v37384 = 0;
word keepD←v37412 = 0;
word parentD←v37440;
/* TallyIncludedChildren: */
SOURCE(46494, 1152)
SOURCE(46494, 1152)
tallyD←v18924 = 0;
SOURCE(46494, 1152)
aborted←v18952 = 0;
SOURCE(46732, 69)
{
word pd279;
pd279 = (* (( (ptr) (* (( (ptr) gf←c91140)+208)/* var←c82212 */ ))+8) );
parentD←v37440 = (word) ( *( (fPt) ((* (ptr) pd279 ))))(parent←v18824, parts←v18852, pd279);
};
SOURCE(46803, 49)
{
W3 var←c86660;
(void) ( *( (fPt) ((* (ptr) tallyProc←v18880 ))))((word) &var←c86660, parentD←v37440, tallyProc←v18880);
done←v37356 = var←c86660.f2;
keepD←v37412 = var←c86660.f1;
visitChildren←v37328 = var←c86660.f0;
};
SOURCE(46854, 792)
{
word tc280;
word pd281;
pd281 = (* (( (ptr) (* (( (ptr) gf←c91140)+207)/* var←c82180 */ ))+62) );
if ((0 != (word) ( *( (fPt) ((* (ptr) pd281 ))))(parent←v18824, pd281))) {
tc280 = (word) (0 != visitChildren←v37328);
}
else {
tc280 = (word) 0;
};
if (tc280) {
SOURCE(46906, 701)
{
word outlineParts←v37484;
word ptr←v37512 = 0;
word newParts←v37540;
SOURCE(46908, 42)
outlineParts←v37484 = XR←Narrow(parts←v18852, (* (( (ptr) gf←c91140)+5) ));
SOURCE(46982, 45)
newParts←v37540 = XR←NewObject(4, (* (( (ptr) gf←c91140)+5) ));
SOURCE(47029, 66)
{
W2 var←c86724;
{
word pd282;
pd282 = (* (( (ptr) (* (( (ptr) gf←c91140)+212)/* var←c83236 */ ))+15) );
(void) ( *( (fPt) ((* (ptr) pd282 ))))((word) (&var←c86724), pd282);
};
ptr←v37512 = var←c86724.f1;
(* (ptr) newParts←v37540 ) = var←c86724.f0;
};
SOURCE(47097, 407)
{
register word list←v37668;
list←v37668 = (* (ptr) outlineParts←v37484 );
lab←L100207: ;
if ((list←v37668 != 0)) {
}
else {
goto lab←L100204;
};
{
word thisD←v37796 = 0;
SOURCE(47213, 197)
if ((0 == aborted←v18952)) {
SOURCE(47235, 152)
if (((* (ptr) list←v37668 ) != 0)) {
SOURCE(47262, 87)
{
W2 var←c86756;
(void) TallyIncludedChildren←P3900((word) &var←c86756, (* (ptr) (* (ptr) list←v37668 ) ), (* (( (ptr) (* (ptr) list←v37668 ))+1)
/*1*/ ), tallyProc←v18880);
aborted←v18952 = var←c86756.f1;
thisD←v37796 = var←c86756.f0;
};
SOURCE(47351, 36)
if ((thisD←v37796 != 0)) {
SOURCE(47371, 16)
keepFound←v37384 = 1;
};
};
}
else {
SOURCE(47399, 11)
thisD←v37796 = 0;
};
SOURCE(47412, 92)
{
W2 var←c86788;
{
word pd283;
pd283 = (* (( (ptr) (* (( (ptr) gf←c91140)+212)/* var←c83236 */ ))+16) );
(void) ( *( (fPt) ((* (ptr) pd283 ))))((word) &var←c86788, thisD←v37796, (* (ptr) newParts←v37540 ), ptr←v37512, pd283)
;
};
ptr←v37512 = var←c86788.f1;
(* (ptr) newParts←v37540 ) = var←c86788.f0;
};
};
list←v37668 = (* (( (ptr) list←v37668)+1) );
goto lab←L100207;
lab←L100204: ;
};
SOURCE(47515, 90)
if ((0 != keepFound←v37384)) {
SOURCE(47533, 60)
{
word pd284;
pd284 = (* (( (ptr) (* (( (ptr) gf←c91140)+208)/* var←c82212 */ ))+8) );
tallyD←v18924 = (word) ( *( (fPt) ((* (ptr) pd284 ))))(parent←v18824, newParts←v37540, pd284);
};
}
else {
SOURCE(47593, 12)
tallyD←v18924 = 0;
};
};
}
else {
SOURCE(47616, 14)
tallyD←v18924 = keepD←v37412;
SOURCE(47632, 14)
aborted←v18952 = done←v37356;
};
};
/* removed tail goto */
(* (ptr) formal←c0822 ) = tallyD←v18924;
(* (( (ptr) formal←c0822)+1) ) = aborted←v18952;
return;
}
static word IsParent←P3960(slice←v19012)
word slice←v19012;
{
register ptr gf←c91172 = (ptr) &globalframe;
word var←c19056;
/* IsParent: */
SOURCE(47655, 122)
SOURCE(47711, 66)
{
word tc285;
if (((* (ptr) (* (ptr) slice←v19012 ) ) == (* (( (ptr) gf←c91172)+25) ))) {
tc285 = (word) (unsigned) 1;
}
else {
tc285 = (word) (unsigned) ((* (ptr) (* (ptr) slice←v19012 ) ) == (* (( (ptr) gf←c91172)+22) ));
};
return(tc285);
};
}
static word IsParentType←P4020(classType←v19116)
word classType←v19116;
{
register ptr gf←c91204 = (ptr) &globalframe;
word var←c19160;
/* IsParentType: */
SOURCE(47783, 115)
SOURCE(47846, 52)
{
word tc286;
if ((classType←v19116 == (* (( (ptr) gf←c91204)+25) ))) {
tc286 = (word) (unsigned) 1;
}
else {
tc286 = (word) (unsigned) (classType←v19116 == (* (( (ptr) gf←c91204)+22) ));
};
return(tc286);
};
}
static word GetParent←P4080(child←v19220)
word child←v19220;
{
word parent←v19264;
/* GetParent: */
SOURCE(47904, 86)
SOURCE(47904, 86)
parent←v19264 = 0;
SOURCE(47970, 20)
return((* (( (ptr) child←v19220)+2) ));
}
static word GetTopLevelAncestor←P4140(slice←v19324)
word slice←v19324;
{
register ptr gf←c91236 = (ptr) &globalframe;
word ancestor←v19368;
/* GetTopLevelAncestor: */
SOURCE(47996, 173)
SOURCE(47996, 173)
ancestor←v19368 = 0;
SOURCE(48074, 16)
ancestor←v19368 = slice←v19324;
SOURCE(48092, 77)
lab←L100210: ;
{
word pd287;
pd287 = (* (( (ptr) (* (( (ptr) gf←c91236)+217)/* var←c85028 */ ))+39) );
if ((0 == (word) ( *( (fPt) ((* (ptr) pd287 ))))(ancestor←v19368, pd287))) {
}
else {
goto lab←L100208;
};
};
SOURCE(48130, 39)
{
word pd288;
pd288 = (* (( (ptr) (* (( (ptr) gf←c91236)+207)/* var←c82180 */ ))+64) );
ancestor←v19368 = (word) ( *( (fPt) ((* (ptr) pd288 ))))(ancestor←v19368, pd288);
};
goto lab←L100210;
lab←L100208: ;
SOURCE(47996, 173)
return(ancestor←v19368);
}
static word IsLeafOfClass←P4200(slice←v19428, classType←v19456)
word slice←v19428;
word classType←v19456;
{
W6 var←c91268;
register ptr gf←c91300 = (ptr) &globalframe;
word var←c19500;
/* declaration of var←c86820 skipped */
/* IsLeafOfClass: */
SOURCE(48184, 486)
{
word tmpAddr289;
tmpAddr289 = (word) (( (ptr) &var←c91268)+4)/* var←c86820 */ ;
(* (ptr) tmpAddr289 ) = ( ((word) (fPt) NoteSameClassChild←P9984) );
(* (( (ptr) tmpAddr289) + 1) ) = 1;
};
SOURCE(48357, 50)
if ((classType←v19456 == 0)) {
SOURCE(48379, 28)
return( (unsigned) (0 == (word) IsParent←P3960(slice←v19428)));
};
SOURCE(48409, 106)
if ((classType←v19456 == (* (( (ptr) gf←c91300)+22) ))) {
SOURCE(48438, 77)
{
word pd290;
pd290 = (* (( (ptr) (* (( (ptr) gf←c91300)+207)/* var←c82180 */ ))+73) );
return( (unsigned) (0 == (word) ( *( (fPt) ((* (ptr) pd290 ))))(slice←v19428, 0, (word) (( (bPt) &var←c91268)+16)/* var←c86820 */ , (* (
( (ptr) gf←c91300)+22) ), pd290)));
};
};
SOURCE(48517, 106)
if ((classType←v19456 == (* (( (ptr) gf←c91300)+25) ))) {
SOURCE(48546, 77)
{
word pd291;
pd291 = (* (( (ptr) (* (( (ptr) gf←c91300)+207)/* var←c82180 */ ))+73) );
return( (unsigned) (0 == (word) ( *( (fPt) ((* (ptr) pd291 ))))(slice←v19428, 0, (word) (( (bPt) &var←c91268)+16)/* var←c86820 */ , (* (
( (ptr) gf←c91300)+25) ), pd291)));
};
};
SOURCE(48625, 45)
{
word pd292;
pd292 = (* (( (ptr) (* (( (ptr) gf←c91300)+209)/* var←c82276 */ ))+6) );
return( (unsigned) ((word) ( *( (fPt) ((* (ptr) pd292 ))))(slice←v19428, pd292) == classType←v19456));
};
}
static word NoteSameClassChild←P9984(slice←v37916, formal←c91332)
word slice←v37916;
word formal←c91332;
{
word done←v37960;
formal←c91332 = (formal←c91332 - 16);
/* NoteSameClassChild: */
SOURCE(48268, 84)
SOURCE(48268, 84)
done←v37960 = 0;
SOURCE(48341, 11)
done←v37960 = 1;
SOURCE(48268, 84)
return(done←v37960);
}
static word CreateCluster←P4260(frozen←v19560)
word frozen←v19560;
{
register ptr gf←c91364 = (ptr) &globalframe;
word parent←v19604;
word data←v37988;
/* CreateCluster: */
SOURCE(48676, 500)
SOURCE(48676, 500)
parent←v19604 = 0;
SOURCE(48754, 144)
{
word var←c86980;
word var←c87044;
{
word var←c87012;
var←c87012 = XR←NewObject(4, (* (( (ptr) gf←c91364)+8) ));
(* (ptr) var←c87012 ) = frozen←v19560;
var←c86980 = var←c87012;
};
var←c87044 = XR←NewObject(36, (* (( (ptr) gf←c91364)+7) ));
(* (ptr) var←c87044 ) = 1;
(* (( (ptr) var←c87044)+3) ) = 1;
(* (( (ptr) var←c87044)+8) ) = var←c86980;
data←v37988 = var←c87044;
};
SOURCE(48900, 210)
{
word var←c87076;
word var←c87108;
word var←c87140;
word var←c87172;
{
word pd293;
pd293 = (* (( (ptr) (* (( (ptr) gf←c91364)+208)/* var←c82212 */ ))+7) );
var←c87076 = (word) ( *( (fPt) ((* (ptr) pd293 ))))((* ((( (ptr) gf←c91364)+22)) ), pd293);
};
{
word pd294;
pd294 = (* (( (ptr) (* (( (ptr) gf←c91364)+210)/* var←c82308 */ ))+6) );
var←c87108 = (word) ( *( (fPt) ((* (ptr) pd294 ))))(pd294);
};
{
word pd295;
pd295 = (* (( (ptr) (* (( (ptr) gf←c91364)+210)/* var←c82308 */ ))+6) );
var←c87140 = (word) ( *( (fPt) ((* (ptr) pd295 ))))(pd295);
};
var←c87172 = XR←NewObject(92, (* (( (ptr) gf←c91364)+16) ));
(* (ptr) var←c87172 ) = var←c87076;
(* (( (ptr) var←c87172)+1) ) = data←v37988;
(* (W4Pt) (( (ptr) var←c87172)+3) ) = (* (W4Pt) (( (ptr) gf←c91364)+202)/* var←c82116 */ );
(* (( (ptr) var←c87172)+13) ) = var←c87108;
(* (( (ptr) var←c87172)+15) ) = var←c87140;
(* (( (ptr) var←c87172)+21) ) = (word) -1;
parent←v19604 = var←c87172;
};
SOURCE(49112, 64)
{
word pd296;
pd296 = (* (( (ptr) (* (( (ptr) gf←c91364)+208)/* var←c82212 */ ))+8) );
(* (( (ptr) parent←v19604)+11) ) = (word) ( *( (fPt) ((* (ptr) pd296 ))))(parent←v19604, 0, pd296);
};
SOURCE(48676, 500)
return(parent←v19604);
}
static void AddChildToCluster←P4320(parent←v19664, child←v19692, priority←v19720)
word parent←v19664;
word child←v19692;
word priority←v19720;
{
register ptr gf←c91396 = (ptr) &globalframe;
word parentData←v38032;
/* AddChildToCluster: */
SOURCE(49182, 586)
SOURCE(49262, 45)
parentData←v38032 = XR←Narrow((* (( (ptr) parent←v19664)+1) ), (* (( (ptr) gf←c91396)+7) ));
SOURCE(49309, 44)
{
word pd297;
pd297 = (* (( (ptr) (* (( (ptr) gf←c91396)+209)/* var←c82276 */ ))+6) );
if (((word) ( *( (fPt) ((* (ptr) pd297 ))))(parent←v19664, pd297) != (* (( (ptr) gf←c91396)+22) ))) {
SOURCE(49353, 5)
(void) XR←RaiseUnnamedError();
};
};
SOURCE(49360, 26)
if ((child←v19692 == 0)) {
SOURCE(49380, 6)
return;
};
SOURCE(49388, 21)
(* (( (ptr) child←v19692)+2) ) = parent←v19664;
SOURCE(49411, 327)
{
word pd299;
if (( (int)priority←v19720 == (int) (word) -1)) { goto then0298;};
pd299 = (* (( (ptr) (* (( (ptr) gf←c91396)+207)/* var←c82180 */ ))+68) );
if (( (int)(word) ( *( (fPt) ((* (ptr) pd299 ))))(parent←v19664, pd299) < (int)priority←v19720)) {
then0298: ;
SOURCE(49474, 32)
(void) AppendSlice←P4680(parent←v19664, child←v19692);
}
else {
SOURCE(49506, 232)
if (( (int)priority←v19720 == (int)0)) {
SOURCE(49529, 27)
(* (( (ptr) parentData←v38032)+7) ) = 0;
SOURCE(49558, 34)
(* (( (ptr) parentData←v38032)+6) ) = 0;
SOURCE(49594, 54)
{
word var←c87204;
var←c87204 = XR←NewObject(8, (* (( (ptr) gf←c91396)+15) ));
(* (ptr) var←c87204 ) = child←v19692;
(* (( (ptr) var←c87204)+1) ) = (* (( (ptr) parentData←v38032)+4) );
(* (( (ptr) parentData←v38032)+4) ) = var←c87204;
};
}
else {
SOURCE(49657, 81)
{
word var←c87236;
word var←c87268;
{
word pd300;
pd300 = (* (( (ptr) (* (( (ptr) gf←c91396)+207)/* var←c82180 */ ))+71) );
var←c87236 = (word) ( *( (fPt) ((* (ptr) pd300 ))))(parent←v19664, priority←v19720, pd300);
};
{
word var←c87300;
word var←c87332;
var←c87300 = XR←NewObject(8, (* (( (ptr) gf←c91396)+15) ));
var←c87332 = var←c87300;
(* (ptr) var←c87332 ) = child←v19692;
var←c87268 = var←c87300;
};
{
word pd301;
pd301 = (* (( (ptr) (* (( (ptr) gf←c91396)+207)/* var←c82180 */ ))+70) );
(void) ( *( (fPt) ((* (ptr) pd301 ))))(parent←v19664, var←c87236, var←c87268, pd301);
};
};
};
};
};
SOURCE(49740, 28)
{
word pd302;
pd302 = (* (( (ptr) (* (( (ptr) gf←c91396)+208)/* var←c82212 */ ))+68) );
(void) ( *( (fPt) ((* (ptr) pd302 ))))(parent←v19664, pd302);
};
}
static void AddChildrenToCluster←P4380(parent←v19780, children←v19808, priority←v19836)
word parent←v19780;
word children←v19808;
word priority←v19836;
{
register ptr gf←c91428 = (ptr) &globalframe;
word parentData←v38076;
/* AddChildrenToCluster: */
SOURCE(49774, 852)
SOURCE(49868, 45)
parentData←v38076 = XR←Narrow((* (( (ptr) parent←v19780)+1) ), (* (( (ptr) gf←c91428)+7) ));
SOURCE(49915, 44)
{
word pd303;
pd303 = (* (( (ptr) (* (( (ptr) gf←c91428)+209)/* var←c82276 */ ))+6) );
if (((word) ( *( (fPt) ((* (ptr) pd303 ))))(parent←v19780, pd303) != (* (( (ptr) gf←c91428)+22) ))) {
SOURCE(49959, 5)
(void) XR←RaiseUnnamedError();
};
};
SOURCE(49966, 27)
if ((children←v19808 == 0)) {
SOURCE(49987, 6)
return;
};
SOURCE(49995, 92)
{
register word list←v38120;
list←v38120 = children←v19808;
lab←L100214: ;
if ((list←v38120 != 0)) {
}
else {
goto lab←L100211;
};
SOURCE(50061, 26)
(* (( (ptr) (* (ptr) list←v38120 ))+2) ) = parent←v19780;
list←v38120 = (* (( (ptr) list←v38120)+1) );
goto lab←L100214;
lab←L100211: ;
};
SOURCE(50098, 495)
if (( (int)priority←v19836 == (int) (word) -1) || ( (int)(word) TopPriority←P4740(parent←v19780) < (int)priority←v19836)) {
SOURCE(50154, 97)
{
register word list←v38248;
list←v38248 = children←v19808;
lab←L100218: ;
if ((list←v38248 != 0)) {
}
else {
goto lab←L100215;
};
SOURCE(50220, 31)
(void) AppendSlice←P4680(parent←v19780, (* (ptr) list←v38248 ));
list←v38248 = (* (( (ptr) list←v38248)+1) );
goto lab←L100218;
lab←L100215: ;
};
}
else {
SOURCE(50269, 324)
if (( (int)priority←v19836 == (int)0)) {
SOURCE(50292, 27)
(* (( (ptr) parentData←v38076)+7) ) = 0;
SOURCE(50321, 34)
(* (( (ptr) parentData←v38076)+6) ) = 0;
SOURCE(50357, 78)
{
word pd304;
pd304 = (* (( (ptr) (* (( (ptr) gf←c91428)+212)/* var←c83236 */ ))+22) );
(* (( (ptr) parentData←v38076)+4) ) = (word) ( *( (fPt) ((* (ptr) pd304 ))))(children←v19808, (* (( (ptr) parentData←v38076)+4)
), pd304);
};
}
else {
SOURCE(50444, 151)
{
word copiedSlices←v38376;
SOURCE(50446, 14)
{
word pd305;
pd305 = (* (( (ptr) (* (( (ptr) gf←c91428)+212)/* var←c83236 */ ))+25) );
copiedSlices←v38376 = (word) ( *( (fPt) ((* (ptr) pd305 ))))(children←v19808, pd305);
};
SOURCE(50511, 82)
{
word var←c87364;
{
word pd306;
pd306 = (* (( (ptr) (* (( (ptr) gf←c91428)+207)/* var←c82180 */ ))+71) );
var←c87364 = (word) ( *( (fPt) ((* (ptr) pd306 ))))(parent←v19780, priority←v19836, pd306);
};
{
word pd307;
pd307 = (* (( (ptr) (* (( (ptr) gf←c91428)+207)/* var←c82180 */ ))+70) );
(void) ( *( (fPt) ((* (ptr) pd307 ))))(parent←v19780, var←c87364, copiedSlices←v38376, pd307);
};
};
};
};
};
SOURCE(50598, 28)
{
word pd308;
pd308 = (* (( (ptr) (* (( (ptr) gf←c91428)+208)/* var←c82212 */ ))+68) );
(void) ( *( (fPt) ((* (ptr) pd308 ))))(parent←v19780, pd308);
};
}
static word RemoveChild←P4440(parent←v19980, child←v20008)
word parent←v19980;
word child←v20008;
{
register ptr gf←c91460 = (ptr) &globalframe;
word newParent←v20052;
word parentData←v38504;
/* RemoveChild: */
SOURCE(50632, 370)
SOURCE(50632, 370)
newParent←v20052 = 0;
SOURCE(50718, 45)
parentData←v38504 = XR←Narrow((* (( (ptr) parent←v19980)+1) ), (* (( (ptr) gf←c91460)+7) ));
SOURCE(50765, 27)
(* (( (ptr) parentData←v38504)+7) ) = 0;
SOURCE(50794, 34)
(* (( (ptr) parentData←v38504)+6) ) = 0;
SOURCE(50830, 79)
{
word pd309;
pd309 = (* (( (ptr) (* (( (ptr) gf←c91460)+212)/* var←c83236 */ ))+23) );
(* (( (ptr) parentData←v38504)+4) ) = (word) ( *( (fPt) ((* (ptr) pd309 ))))(child←v20008, (* (( (ptr) parentData←v38504)+4)
), pd309);
};
SOURCE(50911, 28)
{
word pd310;
pd310 = (* (( (ptr) (* (( (ptr) gf←c91460)+208)/* var←c82212 */ ))+68) );
(void) ( *( (fPt) ((* (ptr) pd310 ))))(parent←v19980, pd310);
};
SOURCE(50941, 61)
if (((* (( (ptr) parentData←v38504)+4) ) == 0)) {
newParent←v20052 = 0;
}
else {
newParent←v20052 = parent←v19980;
};
SOURCE(50632, 370)
return(newParent←v20052);
}
static void PruneNullClusters←P4500(scene←v20112, cluster←v20140)
word scene←v20112;
word cluster←v20140;
{
register ptr gf←c91492 = (ptr) &globalframe;
word clusterData←v38548;
/* PruneNullClusters: */
SOURCE(51008, 422)
SOURCE(51074, 47)
clusterData←v38548 = XR←Narrow((* (( (ptr) cluster←v20140)+1) ), (* (( (ptr) gf←c91492)+7) ));
SOURCE(51123, 45)
{
word pd311;
pd311 = (* (( (ptr) (* (( (ptr) gf←c91492)+209)/* var←c82276 */ ))+6) );
if (((word) ( *( (fPt) ((* (ptr) pd311 ))))(cluster←v20140, pd311) != (* (( (ptr) gf←c91492)+22) ))) {
SOURCE(51168, 5)
(void) XR←RaiseUnnamedError();
};
};
SOURCE(51175, 255)
if (((* (( (ptr) clusterData←v38548)+4) ) == 0)) {
SOURCE(51210, 225)
{
word parent←v38592;
SOURCE(51212, 34)
parent←v38592 = (word) GetParent←P4080(cluster←v20140);
SOURCE(51248, 182)
if ((parent←v38592 == 0)) {
SOURCE(51271, 35)
{
word pd312;
pd312 = (* (( (ptr) (* (( (ptr) gf←c91492)+217)/* var←c85028 */ ))+13) );
(void) ( *( (fPt) ((* (ptr) pd312 ))))(scene←v20112, cluster←v20140, pd312);
};
}
else {
SOURCE(51315, 117)
{
word smallerParent←v38636;
SOURCE(51317, 51)
smallerParent←v38636 = (word) RemoveChild←P4440(parent←v38592, cluster←v20140);
SOURCE(51370, 60)
if ((smallerParent←v38636 == 0)) {
SOURCE(51398, 32)
(void) PruneNullClusters←P4500(scene←v20112, parent←v38592);
};
};
};
};
};
}
static void SetFrozen←P4560(cluster←v20200, frozen←v20228)
word cluster←v20200;
word frozen←v20228;
{
register ptr gf←c91524 = (ptr) &globalframe;
word parentData←v38680;
word clusterData←v38708;
/* SetFrozen: */
SOURCE(51442, 193)
SOURCE(51500, 46)
parentData←v38680 = XR←Narrow((* (( (ptr) cluster←v20200)+1) ), (* (( (ptr) gf←c91524)+7) ));
SOURCE(51548, 58)
clusterData←v38708 = XR←Narrow((* (( (ptr) parentData←v38680)+8) ), (* (( (ptr) gf←c91524)+8) ));
SOURCE(51608, 27)
(* (ptr) clusterData←v38708 ) = frozen←v20228;
}
static word GetFrozen←P4620(cluster←v20288)
word cluster←v20288;
{
register ptr gf←c91556 = (ptr) &globalframe;
word frozen←v20332;
word parentData←v38752;
word clusterData←v38780;
/* GetFrozen: */
SOURCE(51641, 202)
SOURCE(51708, 46)
parentData←v38752 = XR←Narrow((* (( (ptr) cluster←v20288)+1) ), (* (( (ptr) gf←c91556)+7) ));
SOURCE(51756, 58)
clusterData←v38780 = XR←Narrow((* (( (ptr) parentData←v38752)+8) ), (* (( (ptr) gf←c91556)+8) ));
SOURCE(51816, 27)
frozen←v20332 = (* (ptr) clusterData←v38780 );
SOURCE(51641, 202)
return(frozen←v20332);
}
static void AppendSlice←P4680(parent←v20392, slice←v20420)
word parent←v20392;
word slice←v20420;
{
register ptr gf←c91588 = (ptr) &globalframe;
word parentData←v38824;
/* AppendSlice: */
SOURCE(51849, 293)
SOURCE(51901, 45)
parentData←v38824 = XR←Narrow((* (( (ptr) parent←v20392)+1) ), (* (( (ptr) gf←c91588)+7) ));
SOURCE(51949, 34)
(* (( (ptr) parentData←v38824)+6) ) = 0;
SOURCE(51985, 53)
if ((0 == (* (( (ptr) parentData←v38824)+7) ))) {
SOURCE(52017, 21)
(void) UpdatePtr←P5160(parentData←v38824);
};
SOURCE(52040, 102)
{
W2 var←c87396;
{
word pd313;
pd313 = (* (( (ptr) (* (( (ptr) gf←c91588)+212)/* var←c83236 */ ))+21) );
(void) ( *( (fPt) ((* (ptr) pd313 ))))((word) &var←c87396, slice←v20420, (* (( (ptr) parentData←v38824)+4) ), (* (( (ptr) parentData←v38824)+5)
), pd313);
};
(* (( (ptr) parentData←v38824)+5) ) = var←c87396.f1;
(* (( (ptr) parentData←v38824)+4) ) = var←c87396.f0;
};
}
static word TopPriority←P4740(parent←v20480)
word parent←v20480;
{
register ptr gf←c91620 = (ptr) &globalframe;
word priority←v20524;
word parentData←v38868;
/* TopPriority: */
SOURCE(52148, 308)
SOURCE(52217, 45)
parentData←v38868 = XR←Narrow((* (( (ptr) parent←v20480)+1) ), (* (( (ptr) gf←c91620)+7) ));
SOURCE(52265, 63)
if ((0 == (* (( (ptr) parentData←v38868)+6) ))) {
SOURCE(52304, 24)
(void) UpdatePriorities←P5100(parent←v20480);
};
SOURCE(52330, 53)
if ((0 == (* (( (ptr) parentData←v38868)+7) ))) {
SOURCE(52362, 21)
(void) UpdatePtr←P5160(parentData←v38868);
};
SOURCE(52385, 71)
if (((* (( (ptr) parentData←v38868)+5) ) == 0)) {
return(0);
}
else {
return((* (( (ptr) (* (ptr) (* (( (ptr) parentData←v38868)+5) ) ))+19) ));
};
}
static void PutInFront←P4800(parent←v20584, child←v20612, slices←v20640)
word parent←v20584;
word child←v20612;
word slices←v20640;
{
register ptr gf←c91652 = (ptr) &globalframe;
word parentData←v38912;
/* PutInFront: */
SOURCE(52462, 691)
SOURCE(52543, 45)
parentData←v38912 = XR←Narrow((* (( (ptr) parent←v20584)+1) ), (* (( (ptr) gf←c91652)+7) ));
SOURCE(52590, 563)
if ( ( (child←v20612 != 0) ? (slices←v20640 != 0) : 0 ) ) {
SOURCE(52623, 535)
{
word beforeEnt←v38956 = 0;
word ent←v38984 = 0;
word afterEnt←v39012 = 0;
word slicesRest←v39040 = 0;
word found←v39068 = 0;
SOURCE(52699, 95)
{
W4 var←c87428;
{
word pd314;
pd314 = (* (( (ptr) (* (( (ptr) gf←c91652)+212)/* var←c83236 */ ))+24) );
(void) ( *( (fPt) ((* (ptr) pd314 ))))((word) &var←c87428, child←v20612, (* (( (ptr) parentData←v38912)+4) ), pd314);
};
found←v39068 = var←c87428.f3;
afterEnt←v39012 = var←c87428.f2;
ent←v38984 = var←c87428.f1;
beforeEnt←v38956 = var←c87428.f0;
};
SOURCE(52796, 357)
if ((0 != found←v39068)) {
SOURCE(52812, 24)
if (((* (ptr) ent←v38984 ) != child←v20612)) {
SOURCE(52836, 5)
(void) XR←RaiseUnnamedError();
};
SOURCE(52861, 27)
(* (( (ptr) parentData←v38912)+7) ) = 0;
SOURCE(52890, 34)
(* (( (ptr) parentData←v38912)+6) ) = 0;
SOURCE(52926, 17)
(* (( (ptr) ent←v38984)+1) ) = slices←v20640;
SOURCE(53033, 83)
{
register word sList←v39196;
sList←v39196 = slices←v20640;
lab←L100222: ;
if ((sList←v39196 != 0)) {
}
else {
goto lab←L100219;
};
SOURCE(53098, 18)
slicesRest←v39040 = sList←v39196;
sList←v39196 = (* (( (ptr) sList←v39196)+1) );
goto lab←L100222;
lab←L100219: ;
};
SOURCE(53127, 26)
(* (( (ptr) slicesRest←v39040)+1) ) = afterEnt←v39012;
};
};
};
}
static void PutBehind←P4860(parent←v20784, child←v20812, slices←v20840)
word parent←v20784;
word child←v20812;
word slices←v20840;
{
register ptr gf←c91684 = (ptr) &globalframe;
word parentData←v39324;
/* PutBehind: */
SOURCE(53165, 709)
SOURCE(53245, 45)
parentData←v39324 = XR←Narrow((* (( (ptr) parent←v20784)+1) ), (* (( (ptr) gf←c91684)+7) ));
SOURCE(53292, 582)
if ( ( (child←v20812 != 0) ? (slices←v20840 != 0) : 0 ) ) {
SOURCE(53325, 610)
{
word beforeEnt←v39368 = 0;
word ent←v39396 = 0;
word afterEnt←v39424 = 0;
word slicesRest←v39452 = 0;
word found←v39480 = 0;
SOURCE(53401, 95)
{
W4 var←c87460;
{
word pd315;
pd315 = (* (( (ptr) (* (( (ptr) gf←c91684)+212)/* var←c83236 */ ))+24) );
(void) ( *( (fPt) ((* (ptr) pd315 ))))((word) &var←c87460, child←v20812, (* (( (ptr) parentData←v39324)+4) ), pd315);
};
found←v39480 = var←c87460.f3;
afterEnt←v39424 = var←c87460.f2;
ent←v39396 = var←c87460.f1;
beforeEnt←v39368 = var←c87460.f0;
};
SOURCE(53498, 376)
if ((0 != found←v39480)) {
SOURCE(53514, 24)
if (((* (ptr) ent←v39396 ) != child←v20812)) {
SOURCE(53538, 5)
(void) XR←RaiseUnnamedError();
};
SOURCE(53563, 27)
(* (( (ptr) parentData←v39324)+7) ) = 0;
SOURCE(53592, 34)
(* (( (ptr) parentData←v39324)+6) ) = 0;
SOURCE(53628, 79)
if ((beforeEnt←v39368 != 0)) {
SOURCE(53650, 29)
(* (( (ptr) beforeEnt←v39368)+1) ) = slices←v20840;
}
else {
SOURCE(53679, 28)
(* (( (ptr) parentData←v39324)+4) ) = slices←v20840;
};
SOURCE(53759, 83)
{
register word sList←v39608;
sList←v39608 = slices←v20840;
lab←L100226: ;
if ((sList←v39608 != 0)) {
}
else {
goto lab←L100223;
};
SOURCE(53824, 18)
slicesRest←v39452 = sList←v39608;
sList←v39608 = (* (( (ptr) sList←v39608)+1) );
goto lab←L100226;
lab←L100223: ;
};
SOURCE(53853, 21)
(* (( (ptr) slicesRest←v39452)+1) ) = ent←v39396;
};
};
};
}
static word GetAtPriority←P4920(parent←v20984, priority←v21012)
word parent←v20984;
word priority←v21012;
{
register ptr gf←c91716 = (ptr) &globalframe;
word slice←v21056;
word parentData←v39736;
/* GetAtPriority: */
SOURCE(53942, 659)
SOURCE(53942, 659)
slice←v21056 = 0;
SOURCE(54027, 45)
parentData←v39736 = XR←Narrow((* (( (ptr) parent←v20984)+1) ), (* (( (ptr) gf←c91716)+7) ));
SOURCE(54074, 527)
if (( (int)priority←v21012 == (int) (word) -1)) {
SOURCE(54125, 53)
if ((0 == (* (( (ptr) parentData←v39736)+7) ))) {
SOURCE(54157, 21)
(void) UpdatePtr←P5160(parentData←v39736);
};
SOURCE(54180, 28)
return((* (ptr) (* (( (ptr) parentData←v39736)+5) ) ));
}
else {
SOURCE(54217, 384)
if (( (int)priority←v21012 == (int)0)) {
SOURCE(54238, 66)
return((* (ptr) (* (( (ptr) parentData←v39736)+4) ) ));
}
else {
SOURCE(54304, 299)
{
word count←v39780 = 1;
SOURCE(54349, 158)
{
register word sliceList←v39824;
sliceList←v39824 = (* (( (ptr) (* (( (ptr) parentData←v39736)+4) ))+1) );
lab←L100230: ;
if ((sliceList←v39824 != 0)) {
}
else {
goto lab←L100227;
};
SOURCE(54444, 46)
if (( (int)count←v39780 == (int)priority←v21012)) {
SOURCE(54467, 23)
return((* (ptr) sliceList←v39824 ));
};
SOURCE(54492, 15)
count←v39780 = (count←v39780 + 1);
sliceList←v39824 = (* (( (ptr) sliceList←v39824)+1) );
goto lab←L100230;
lab←L100227: ;
};
SOURCE(54518, 53)
if ((0 == (* (( (ptr) parentData←v39736)+7) ))) {
SOURCE(54550, 21)
(void) UpdatePtr←P5160(parentData←v39736);
};
SOURCE(54573, 28)
return((* (ptr) (* (( (ptr) parentData←v39736)+5) ) ));
};
};
};
}
static word GetChildPriority←P4980(parent←v21116, child←v21144)
word parent←v21116;
word child←v21144;
{
register ptr gf←c91748 = (ptr) &globalframe;
word priority←v21188;
word parentData←v39952;
/* GetChildPriority: */
SOURCE(54610, 225)
SOURCE(54698, 45)
parentData←v39952 = XR←Narrow((* (( (ptr) parent←v21116)+1) ), (* (( (ptr) gf←c91748)+7) ));
SOURCE(54745, 63)
if ((0 == (* (( (ptr) parentData←v39952)+6) ))) {
SOURCE(54784, 24)
(void) UpdatePriorities←P5100(parent←v21116);
};
SOURCE(54810, 25)
priority←v21188 = (* (( (ptr) child←v21144)+19) );
SOURCE(54610, 225)
return(priority←v21188);
}
static word ComparePriorities←P5040(slice1←v21248, slice2←v21276)
word slice1←v21248;
word slice2←v21276;
{
register ptr gf←c91780 = (ptr) &globalframe;
word var←c21320;
word slice1List←v39996 = 0;
word slice2List←v40024 = 0;
word parent1←v40052 = 0;
word parent2←v40080 = 0;
word child1←v40108 = 0;
word child2←v40136 = 0;
word compare←v40164;
/* ComparePriorities: */
SOURCE(54841, 813)
SOURCE(55034, 15)
child1←v40108 = slice1←v21248;
SOURCE(55051, 15)
child2←v40136 = slice2←v21276;
SOURCE(55068, 165)
lab←L100233: ;
{
word pd316;
pd316 = (* (( (ptr) (* (( (ptr) gf←c91780)+217)/* var←c85028 */ ))+39) );
if ((0 == (word) ( *( (fPt) ((* (ptr) pd316 ))))(child1←v40108, pd316))) {
}
else {
goto lab←L100231;
};
};
SOURCE(55104, 36)
{
word pd317;
pd317 = (* (( (ptr) (* (( (ptr) gf←c91780)+207)/* var←c82180 */ ))+64) );
parent1←v40052 = (word) ( *( (fPt) ((* (ptr) pd317 ))))(child1←v40108, pd317);
};
SOURCE(55142, 73)
{
word var←c87492;
word var←c87524;
{
word pd318;
pd318 = (* (( (ptr) (* (( (ptr) gf←c91780)+207)/* var←c82180 */ ))+66) );
var←c87492 = (word) ( *( (fPt) ((* (ptr) pd318 ))))(parent1←v40052, child1←v40108, pd318);
};
var←c87524 = XR←NewObject(8, (* (( (ptr) gf←c91780)+14) ));
(* (ptr) var←c87524 ) = var←c87492;
(* (( (ptr) var←c87524)+1) ) = slice1List←v39996;
slice1List←v39996 = var←c87524;
};
SOURCE(55217, 16)
child1←v40108 = parent1←v40052;
goto lab←L100233;
lab←L100231: ;
SOURCE(55244, 165)
lab←L100236: ;
{
word pd319;
pd319 = (* (( (ptr) (* (( (ptr) gf←c91780)+217)/* var←c85028 */ ))+39) );
if ((0 == (word) ( *( (fPt) ((* (ptr) pd319 ))))(child2←v40136, pd319))) {
}
else {
goto lab←L100234;
};
};
SOURCE(55280, 36)
{
word pd320;
pd320 = (* (( (ptr) (* (( (ptr) gf←c91780)+207)/* var←c82180 */ ))+64) );
parent2←v40080 = (word) ( *( (fPt) ((* (ptr) pd320 ))))(child2←v40136, pd320);
};
SOURCE(55318, 73)
{
word var←c87556;
word var←c87588;
{
word pd321;
pd321 = (* (( (ptr) (* (( (ptr) gf←c91780)+207)/* var←c82180 */ ))+66) );
var←c87556 = (word) ( *( (fPt) ((* (ptr) pd321 ))))(parent2←v40080, child2←v40136, pd321);
};
var←c87588 = XR←NewObject(8, (* (( (ptr) gf←c91780)+14) ));
(* (ptr) var←c87588 ) = var←c87556;
(* (( (ptr) var←c87588)+1) ) = slice2List←v40024;
slice2List←v40024 = var←c87588;
};
SOURCE(55393, 16)
child2←v40136 = parent2←v40080;
goto lab←L100236;
lab←L100234: ;
SOURCE(55420, 210)
lab←L100239: ;
if ( ( (slice1List←v39996 != 0) ? (slice2List←v40024 != 0) : 0 ) ) {
}
else {
goto lab←L100237;
};
SOURCE(55466, 63)
{
word var←c87620;
word a←v79224;
word b←v79252;
a←v79224 = (* (ptr) slice1List←v39996 );
b←v79252 = (* (ptr) slice2List←v40024 );
{
word idx322;
var←c87620 = (
idx322 = (word) ( ( (int)a←v79224 == (int)b←v79252) ? 1 : ( ( (int)a←v79224 > (int)b←v79252) ? 2 : 0 ) ) ,
BCK(idx322, 3)
);
};
compare←v40164 = var←c87620;
};
SOURCE(55531, 39)
if ((compare←v40164 != 1)) {
SOURCE(55555, 15)
return(compare←v40164);
};
SOURCE(55572, 28)
slice1List←v39996 = (* (( (ptr) slice1List←v39996)+1) );
SOURCE(55602, 28)
slice2List←v40024 = (* (( (ptr) slice2List←v40024)+1) );
goto lab←L100239;
lab←L100237: ;
SOURCE(55641, 13)
return(1);
}
static void UpdatePriorities←P5100(parent←v21380)
word parent←v21380;
{
W7 var←c91812;
register ptr gf←c91844 = (ptr) &globalframe;
/* declaration of var←c87652 skipped */
word parentData←v40292;
/* declaration of index←v40348 skipped */
/* UpdatePriorities: */
SOURCE(55660, 301)
{
word tmpAddr323;
tmpAddr323 = (word) (( (ptr) &var←c91812)+4)/* var←c87652 */ ;
(* (ptr) tmpAddr323 ) = ( ((word) (fPt) DoUpdate←P10572) );
(* (( (ptr) tmpAddr323) + 1) ) = 1;
};
SOURCE(55703, 45)
parentData←v40292 = XR←Narrow((* (( (ptr) parent←v21380)+1) ), (* (( (ptr) gf←c91844)+7) ));
SOURCE(55859, 14)
var←c91812.f6/* index←v40348 */ = 0;
SOURCE(55875, 51)
{
word var←c87684;
word pd324;
pd324 = (* (( (ptr) (* (( (ptr) gf←c91844)+207)/* var←c82180 */ ))+73) );
var←c87684 = (word) ( *( (fPt) ((* (ptr) pd324 ))))(parent←v21380, 0, (word) (( (bPt) &var←c91812)+16)/* var←c87652 */ , 0, pd324)
;
};
SOURCE(55928, 33)
(* (( (ptr) parentData←v40292)+6) ) = 1;
}
static word DoUpdate←P10572(child←v40424, formal←c91876)
word child←v40424;
word formal←c91876;
{
word done←v40468;
formal←c91876 = (formal←c91876 - 16);
/* DoUpdate: */
SOURCE(55750, 104)
SOURCE(55750, 104)
done←v40468 = 0;
SOURCE(55813, 22)
(* (( (ptr) child←v40424)+19) ) = (* (( (ptr) formal←c91876)+6) );
SOURCE(55837, 17)
(* (( (ptr) formal←c91876)+6) ) = ((* (( (ptr) formal←c91876)+6) ) + 1);
SOURCE(55750, 104)
return(done←v40468);
}
static void UpdatePtr←P5160(parentData←v21440)
word parentData←v21440;
{
/* UpdatePtr: */
SOURCE(55967, 237)
SOURCE(56013, 154)
if (((* (( (ptr) parentData←v21440)+4) ) == 0)) {
SOURCE(56045, 26)
(* (( (ptr) parentData←v21440)+5) ) = 0;
}
else {
SOURCE(56071, 96)
{
register word list←v40496;
list←v40496 = (* (( (ptr) parentData←v21440)+4) );
lab←L100244: ;
if ((list←v40496 != 0)) {
}
else {
goto lab←L100241;
};
SOURCE(56146, 21)
(* (( (ptr) parentData←v21440)+5) ) = list←v40496;
list←v40496 = (* (( (ptr) list←v40496)+1) );
goto lab←L100244;
lab←L100241: ;
};
};
SOURCE(56178, 26)
(* (( (ptr) parentData←v21440)+7) ) = 1;
}
/* file: GGOutlineImplB, module: GGOutlineImplB, compiled at: July 11, 1993 8:19:09 pm PDT */
extern void XR←install←GGOutlineImplB() {
NoName←Q10788();
}
extern void XR←run←GGOutlineImplB() { XR←Start(&globalframe); }