/* Generated with C2C (Cedar To C)*/
/* Copyright (C) 1993 by Xerox Corporation. All rights reserved. */
/* time: July 11, 1993 8:17:06 pm PDT */
/* C2C version: April 20, 1993 (sun4) */
/* ref-counting: off */
/* file: GGOutlineImplA, module: GGOutlineImplA */
/* switches: bcfhklnouw */
#include <cedar/InstallationSupport.h>
#include <cedar/CedarExtra.h>
static char versionStamp[] = "@(#)mob←version [4217845748,475872771] GGOutlineImplA";
typedef unsigned word, *ptr;
typedef unsigned char byte, *bPt;
typedef unsigned short half, *hPt;
typedef word (*fPt)();
typedef struct {word f0, f1, f2, f3;} W4;
typedef W4 *W4Pt;
typedef struct {word f0, f1, f2, f3, f4, f5, f6;} W7;
typedef struct {word f0, f1;} W2;
typedef struct {word f0, f1, f2, f3, f4;} W5;
typedef struct {word f0, f1, f2, f3, f4, f5, f6, f7;} W8;
typedef struct {W8 f; W8 r;} W16;
typedef struct {word f0, f1, f2;} W3;
typedef struct {W16 f; W3 r;} W19;
typedef struct {word f0, f1, f2, f3, f4, f5;} W6;
typedef W6 *W6Pt;
typedef struct {W8 f; W4 r;} W12;
typedef struct {W8 f; W3 r;} W11;
typedef W2 *W2Pt;
typedef struct {W8 f; W5 r;} W13;
typedef W3 *W3Pt;
typedef W5 *W5Pt;
#define SOURCE(p, l) /* source p, l */
static float fc93 = 0.5;
static float fc101 = 8802.04;
static float fc250 = 8810.24;
static float fc281 = 8803.24;
static float fc286 = 8702.26;
static float fc373 = 0.0;
static void NoName←Q8412();
static void GGOutlineImplA←P0();
static word BuildOutlineSliceClass←P60();
static word BuildClusterSliceClass←P120();
static word OutlineFromChildList←P180();
static word ClusterFromChildList←P240();
static word OutlineDescribe←P300();
static word ClusterDescribe←P360();
static word ClusterCopy←P420();
static word DoCreateCluster←P3924();
static void ClusterDrawSelectionFeedback←P480();
static void ClusterFileout←P540();
static word ClusterFilein←P600();
static void ClusterMovingParts←P660();
static void Unlink←P720();
static word GetBoundBox←P780();
static word GetTransformedBoundBox←P840();
static word GetTightBox←P900();
static word OutlineCopy←P960();
static word DoCreateOutline←P4752();
static word Copy←P1020();
static word AddChild←P4860();
static void CopyWholeTraj←P4968();
static word VisitChild←P5028();
static void Restore←P1080();
static void OutlineBuildPath←P1140();
static void OutlineDrawBorder←P1200();
static void OutlineDrawParts←P1260();
static void BuildOutline←P5664();
static word RenderChild←P5820();
static void DrawParts←P1320();
static void OutlineDrawTransform←P1380();
static void BuildOutline←P6024();
static void DrawTransform←P1440();
static void DrawSelectionFeedback←P1500();
static void OutlineDrawSelectionFeedback←P1560();
static void DrawAttractorFeedback←P1620();
static word AttractorFeedbackBoundBox←P1680();
static word ChildPartsFromParts←P1740();
static void SaveSelections←P1800();
static word RemakeSelections←P1860();
static void Transform←P1920();
static word FirstChildProc←P6756();
static word RestChildProc←P6816();
static word OneChildPartOnly←P1980();
static word Describe←P2040();
static word DescribeHit←P2100();
static void Fileout←P2160();
static word Filein←P2220();
static void OutlineFileout←P2280();
static word OutlineFilein←P2340();
static void ComplainAboutFile←P2400();
static word NoName←Q8472();
static word IsEmptyParts←P2460();
static word IsEmpty←P2520();
static word IsCompleteParts←P2580();
static word IsComplete←P2640();
static word NewParts←P2700();
static word UnionParts←P2760();
static word DifferenceParts←P2820();
static void OutlineMovingParts←P2880();
static void MovingParts←P2940();
static word AugmentParts←P3000();
static word AlterParts←P3060();
static word OutlineFirstChild←P3120();
static word OutlineLastChild←P3180();
static void SetSelectedFields←P3240();
static word PointsInDescriptor←P3300();
static void WalkPointsInDescriptor←P3360();
static word PointPairsInDescriptor←P3420();
static word SegmentsInDescriptor←P3480();
static void NextSegment←P3540();
static word WalkSegments←P3600();
static void NextPoint←P3660();
static void NextPointPair←P3720();
static void NoName←Q8532();
static struct {unsigned f; char r[16];} string1 = {851984, "\257\300\247\365\203\234\300\047\265\225\046\100\354\000\000"};
static struct {unsigned f; char r[4];} string2 = {65537, "\001\000\000"};
static struct {unsigned f; char r[4];} string3 = {131076, "\216\251\000"};
static struct {unsigned f; char r[16];} string4 = {851984, "\257\300\247\365\203\234\300\047\265\225\046\107\144\000\000"};
static struct {unsigned f; char r[4];} string5 = {196611, "\004@\321"};
static struct {unsigned f; char r[16];} string6 = {851984, "\257\300\373\147\067\364\300\034\135\076\003\105\060\000\000"};
static struct {unsigned f; char r[4];} string7 = {131074, "\004\003\000"};
static struct {unsigned f; char r[16];} string8 = {851984, "\257\300\311\023\117\300\300\337\236\305\170\100\164\000\000"};
static struct {unsigned f; char r[4];} string9 = {196611, "\004A6"};
static struct {unsigned f; char r[16];} string10 = {851984, "\257\300\247\365\203\234\300\047\265\225\046\100\324\000\000"};
static struct {unsigned f; char r[32];} string11 = {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];} string12 = {851984, "\257\300\125\044\051\337\300\130\157\071\243\100\324\000\000"};
static struct {unsigned f; char r[16];} string13 = {917520, "\216\257\300\363\223\326\161\300\017\164\046\072\104\350\000"};
static struct {unsigned f; char r[16];} string14 = {851984, "\257\300\247\365\203\234\300\047\265\225\046\107\224\000\000"};
static struct {unsigned f; char r[4];} string15 = {131074, "\004\011\000"};
static struct {unsigned f; char r[16];} string16 = {851984, "\257\300\373\147\067\364\300\034\135\076\003\105\030\000\000"};
static struct {unsigned f; char r[16];} string17 = {851984, "\257\300\311\023\117\300\300\337\236\305\170\100\214\000\000"};
static struct {unsigned f; char r[16];} string18 = {851984, "\257\300\247\365\203\234\300\047\265\225\046\107\210\000\000"};
static struct {unsigned f; char r[16];} string19 = {851984, "\257\300\373\147\067\364\300\034\135\076\003\105\000\000\000"};
static struct {unsigned f; char r[48];} string20 = {2883632, "\260\006\005\146\151\162\163\164\216\257\300\371\314\343\307\300\031\056\017\130\100\324\005\004\162\145\163\164\214\216\257\300\371\314\343\307\300\031\056\017\130\100\324\261\000\000\000"};
static struct {unsigned f; char r[48];} string21 = {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];} string22 = {851984, "\257\300\247\365\203\234\300\047\265\225\046\107\050\000\000"};
static struct {unsigned f; char r[4];} string23 = {131074, "\004\007\000"};
static struct {unsigned f; char r[44];} string24 = {2752556, "\260\006\005\146\151\162\163\164\257\300\015\277\004\146\300\034\367\146\045\112\114\005\004\162\145\163\164\214\257\300\015\277\004\146\300\034\367\146\045\112\114\261\000"};
static struct {unsigned f; char r[28];} string25 = {1572888, "\006\002\000\007\000\040\016\000\003\001\000\000\000\000\014\014\000\014\014\014\014\000\010\001\000\000\000"};
static struct {unsigned f; char r[16];} string26 = {851984, "\257\300\311\023\117\300\300\337\236\305\170\100\244\000\000"};
static struct {unsigned f; char r[16];} string27 = {851984, "\257\300\247\365\203\234\300\047\265\225\046\106\354\000\000"};
static struct {unsigned f; char r[8];} string28 = {262148, "\004\200@\034\000\000\000"};
static struct {unsigned f; char r[4];} string29 = {196612, "Box"};
static struct {unsigned f; char r[8];} string30 = {458760, "a Slice"};
static struct {unsigned f; char r[32];} string31 = {2031648, "several parts of a multi-slice "};
static struct {unsigned f; char r[4];} string32 = {196612, "No "};
static struct {unsigned f; char r[20];} string33 = {1245204, " parts to speak of."};
static struct {unsigned f; char r[48];} string34 = {3014704, ". . . Cannot Fetch Joints or CPs by themselves\000"};
static struct {unsigned f; char r[12];} string35 = {524300, "child %g\000\000\000"};
static struct {unsigned f; char r[4];} string36 = {196612, "/%g"};
static struct {unsigned f; char r[4];} string37 = {131076, ": \000"};
static struct {unsigned f; char r[52];} string38 = {3342388, "Unmatched outline and hitData in OutlineDescribeHit"};
static struct {unsigned f; char r[16];} string39 = {983056, "Children: [%g]\012"};
static struct {unsigned f; char r[12];} string40 = {589836, "Children:\000\000"};
static struct {unsigned f; char r[16];} string41 = {851984, "Trajectories:\000\000"};
static struct {unsigned f; char r[8];} string42 = {393224, "Parent\000"};
static struct {unsigned f; char r[20];} string43 = {1179668, "NIL child detected\000"};
static struct {unsigned f; char r[44];} string44 = {2687020, "parental object with no children detected\000\000"};
static struct {unsigned f; char r[12];} string45 = {720908, "fillColor: "};
static struct {unsigned f; char r[8];} string46 = {327688, " ow: \000\000"};
static struct {unsigned f; char r[12];} string47 = {720908, " fillText: "};
static struct {unsigned f; char r[12];} string48 = {655372, "fillColor:\000"};
static struct {unsigned f; char r[4];} string49 = {196612, "ow:"};
static struct {unsigned f; char r[12];} string50 = {589836, "fillText:\000\000"};
static struct {unsigned f; char r[12];} string51 = {655372, "strokeEnd:\000"};
static struct {unsigned f; char r[12];} string52 = {655372, "not a file\000"};
static struct {unsigned f; char r[36];} string53 = {2162724, "Filein Error for %g: %g slice, %g\000\000"};
static struct {unsigned f; char r[12];} string54 = {589836, "Complaint\000\000"};
static struct {unsigned f; char r[12];} string55 = {524300, "Gargoyle\000\000\000"};
static struct {unsigned f; char r[8];} string56 = {262152, "Traj\000\000\000"};
static struct {unsigned f; char r[52];} string57 = {3145780, "Unmatched outline and hitData in OutlineNewParts\000\000\000"};
static struct {unsigned f; char r[8];} string58 = {458760, "Forward"};
static struct {unsigned f; char r[12];} string59 = {524300, "Backward\000\000\000"};
static struct {unsigned f; char r[8];} string60 = {262152, "Grow\000\000\000"};
static struct {unsigned f; char r[16];} string61 = {851984, "ShrinkForward\000\000"};
static struct {unsigned f; char r[16];} string62 = {917520, "ShrinkBackward\000"};
static struct {unsigned f; char r[8];} string63 = {458760, "frozen:"};
static struct {unsigned f; char r[12];} string64 = {524300, "frozen: \000\000\000"};
static struct {unsigned f; char r[8];} string65 = {458760, "cluster"};
static struct {unsigned f; char r[8];} string66 = {458760, "outline"};
static struct {unsigned f; char r[8];} string67 = {458760, "Cluster"};
static struct {unsigned f; char r[8];} string68 = {458760, "Outline"};
static struct {unsigned f; char r[16];} string69 = {851984, "\257\300\373\147\067\364\300\034\135\076\003\100\164\000\000"};
static struct {unsigned f; char r[16];} string70 = {851981, "\006\003\024\001\030\001\100\200\010\000\004\050\001\000\000"};
static struct {unsigned f; char r[16];} string71 = {851984, "\257\300\322\334\347\304\300\124\107\000\027\100\150\000\000"};
static struct {unsigned f; char r[16];} string72 = {851984, "\257\300\344\212\014\176\300\070\230\121\123\100\150\000\000"};
static struct {unsigned f; char r[16];} string73 = {851984, "\257\300\265\217\206\011\300\172\271\371\033\100\150\000\000"};
static struct {unsigned f; char r[16];} string74 = {851984, "\257\300\231\005\151\136\300\275\231\323\274\100\150\000\000"};
static struct {unsigned f; char r[8];} string75 = {1195855733, "tline"};
static struct {unsigned f; char r[16];} string76 = {851984, "\257\300\311\023\117\300\300\337\236\305\170\100\150\000\000"};
static struct {unsigned f; char r[8];} string77 = {1195855969, "rent"};
static struct {unsigned f; char r[16];} string78 = {851984, "\257\300\301\241\007\150\300\032\111\265\237\100\150\000\000"};
static struct {unsigned f; char r[16];} string79 = {851984, "\257\300\236\155\220\261\300\040\017\026\014\100\150\000\000"};
static struct {unsigned f; char r[16];} string80 = {851984, "\257\300\045\215\147\016\300\153\043\150\276\100\150\000\000"};
static struct {unsigned f; char r[16];} string81 = {851984, "\257\300\347\101\365\007\300\150\102\366\020\100\150\000\000"};
static struct {unsigned f; char r[16];} string82 = {851984, "\257\300\261\002\056\176\300\055\321\222\125\100\150\000\000"};
static struct {unsigned f; char r[16];} string83 = {851984, "\257\300\235\036\354\311\300\234\133\201\260\100\150\000\000"};
static struct {unsigned f; char r[4];} string84 = {1195856748, "ice"};
static struct {unsigned f; char r[16];} string85 = {851984, "\257\300U$)\337\300Xo9\243@t\000\000"};
static struct {unsigned f; char r[16];} string86 = {851984, "\257\300\336\025\013\356\300\216\115\352\271\100\150\000\000"};
static struct {unsigned f; char r[16];} string87 = {851984, "\257\300\050\310\006\072\300\004\273\314\121\100\150\000\000"};
static struct {unsigned f; char r[16];} string88 = {851984, "\257\300\370\132\042\205\300\045\133\011\125\100\150\000\000"};
static struct {unsigned f; char r[16];} string89 = {851984, "\257\300\074\177\166\242\300\203\113\217\044\100\150\000\000"};
static struct {unsigned f; char r[16];} string90 = {851984, "\257\300\015\277\004\146\300\034\367\146\045\100\164\000\000"};
static struct {unsigned f; char r[16];} string91 = {851984, "\257\300\363\223\326\161\300\017\164\046\072\100\150\000\000"};
static struct {
word f0[72]; 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[24];
} globalframe = {
{0}, (word) NextPointPair←P3720, 0, (word) NextPoint←P3660,
0, (word) WalkSegments←P3600, 0, (word) NextSegment←P3540,
0, (word) SegmentsInDescriptor←P3480, 0, (word) PointPairsInDescriptor←P3420,
0, (word) WalkPointsInDescriptor←P3360, 0, (word) PointsInDescriptor←P3300,
0, (word) SetSelectedFields←P3240, 0, (word) OutlineLastChild←P3180,
0, (word) OutlineFirstChild←P3120, 0, (word) AlterParts←P3060,
0, (word) AugmentParts←P3000, 0, (word) MovingParts←P2940,
0, (word) OutlineMovingParts←P2880, 0, (word) DifferenceParts←P2820,
0, (word) UnionParts←P2760, 0, (word) NewParts←P2700,
0, (word) IsComplete←P2640, 0, (word) IsCompleteParts←P2580,
0, (word) IsEmpty←P2520, 0, (word) IsEmptyParts←P2460,
0, (word) ComplainAboutFile←P2400, 0, (word) OutlineFilein←P2340,
0, (word) OutlineFileout←P2280, 0, (word) Filein←P2220,
0, (word) Fileout←P2160, 0, (word) DescribeHit←P2100,
0, (word) Describe←P2040, 0, (word) OneChildPartOnly←P1980,
0, (word) Transform←P1920, 0, (word) RemakeSelections←P1860,
0, (word) SaveSelections←P1800, 0, (word) ChildPartsFromParts←P1740,
0, (word) AttractorFeedbackBoundBox←P1680, 0, (word) DrawAttractorFeedback←P1620,
0, (word) OutlineDrawSelectionFeedback←P1560, 0, (word) DrawSelectionFeedback←P1500,
0, (word) DrawTransform←P1440, 0, (word) OutlineDrawTransform←P1380,
0, (word) DrawParts←P1320, 0, (word) OutlineDrawParts←P1260,
0, (word) OutlineDrawBorder←P1200, 0, (word) OutlineBuildPath←P1140,
0, (word) Restore←P1080, 0, (word) Copy←P1020,
0, (word) OutlineCopy←P960, 0, (word) GetTightBox←P900,
0, (word) GetTransformedBoundBox←P840, 0, (word) GetBoundBox←P780,
0, (word) Unlink←P720, 0, (word) ClusterMovingParts←P660,
0, (word) ClusterFilein←P600, 0, (word) ClusterFileout←P540,
0, (word) ClusterDrawSelectionFeedback←P480, 0, (word) ClusterCopy←P420,
0, (word) ClusterDescribe←P360, 0, (word) OutlineDescribe←P300,
0, (word) ClusterFromChildList←P240, 0, (word) OutlineFromChildList←P180,
0, (word) BuildClusterSliceClass←P120, 0, (word) BuildOutlineSliceClass←P60,
0, (word) GGOutlineImplA←P0, {0}
};
static void NoName←Q8412()
{
register ptr gf←c0841 = (ptr) &globalframe;
word var←c96644;
(* (( (ptr) gf←c0841)+8) ) = (word) XR←GetTypeIndex((word) &string1, 0, (word) &string2);
(* (( (ptr) gf←c0841)+9) ) = (word) XR←GetTypeIndex((word) &string3, 0, (word) &string2);
(* (( (ptr) gf←c0841)+10) ) = (word) XR←GetTypeIndex((word) &string4, 0, (word) &string5);
(* (( (ptr) gf←c0841)+12) ) = (word) XR←GetTypeIndex((word) &string6, 0, (word) &string7);
(* (( (ptr) gf←c0841)+13) ) = (word) XR←GetTypeIndex((word) &string8, 0, (word) &string9);
(* (( (ptr) gf←c0841)+14) ) = (word) XR←GetTypeIndex((word) &string10, 0, (word) &string11);
(* (( (ptr) gf←c0841)+16) ) = (word) XR←GetTypeIndexS((word) (&string12));
(* (( (ptr) gf←c0841)+18) ) = (word) XR←GetTypeIndex((word) &string13, 0, (word) &string2);
(* (( (ptr) gf←c0841)+19) ) = (word) XR←GetTypeIndex((word) &string14, 0, (word) &string15);
(* (( (ptr) gf←c0841)+20) ) = (word) XR←GetTypeIndex((word) &string16, 0, (word) &string7);
(* (( (ptr) gf←c0841)+21) ) = (word) XR←GetTypeIndex((word) &string17, 0, (word) &string2);
(* (( (ptr) gf←c0841)+22) ) = (word) XR←GetTypeIndex((word) &string18, 0, (word) &string15);
(* (( (ptr) gf←c0841)+23) ) = (word) XR←GetTypeIndex((word) &string19, 0, (word) &string7);
(* (( (ptr) gf←c0841)+24) ) = (word) XR←GetTypeIndex((word) &string20, 0, (word) &string7);
(* (( (ptr) gf←c0841)+25) ) = (word) XR←GetTypeIndex((word) &string21, 0, (word) &string7);
(* (( (ptr) gf←c0841)+27) ) = (word) XR←GetTypeIndex((word) &string22, 0, (word) &string23);
(* (( (ptr) gf←c0841)+29) ) = (word) XR←GetTypeIndex((word) &string24, 0, (word) &string25);
(* (( (ptr) gf←c0841)+30) ) = (word) XR←GetTypeIndex((word) &string26, 0, (word) &string7);
(* (( (ptr) gf←c0841)+31) ) = (word) XR←GetTypeIndex((word) &string27, 0, (word) &string28);
(* (ptr) (( (bPt) gf←c0841)+128) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0841)+9) ), (word) &string29);
(* (ptr) (( (bPt) gf←c0841)+132) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0841)+18) ), (word) &string30);
(* (ptr) (( (bPt) gf←c0841)+136) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0841)+18) ), (word) &string31);
(* (ptr) (( (bPt) gf←c0841)+140) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0841)+18) ), (word) &string32);
(* (ptr) (( (bPt) gf←c0841)+144) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0841)+18) ), (word) &string33);
(* (ptr) (( (bPt) gf←c0841)+148) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0841)+18) ), (word) &string34);
(* (ptr) (( (bPt) gf←c0841)+152) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0841)+18) ), (word) &string35);
(* (ptr) (( (bPt) gf←c0841)+156) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0841)+18) ), (word) &string36);
(* (ptr) (( (bPt) gf←c0841)+160) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0841)+18) ), (word) &string37);
(* (ptr) (( (bPt) gf←c0841)+164) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0841)+18) ), (word) &string38);
(* (ptr) (( (bPt) gf←c0841)+168) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0841)+18) ), (word) &string39);
(* (ptr) (( (bPt) gf←c0841)+172) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0841)+18) ), (word) &string40);
(* (ptr) (( (bPt) gf←c0841)+176) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0841)+18) ), (word) &string41);
(* (ptr) (( (bPt) gf←c0841)+180) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0841)+18) ), (word) &string42);
(* (ptr) (( (bPt) gf←c0841)+184) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0841)+18) ), (word) &string43);
(* (ptr) (( (bPt) gf←c0841)+188) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0841)+18) ), (word) &string44);
(* (ptr) (( (bPt) gf←c0841)+192) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0841)+18) ), (word) &string45);
(* (ptr) (( (bPt) gf←c0841)+196) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0841)+18) ), (word) &string46);
(* (ptr) (( (bPt) gf←c0841)+200) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0841)+18) ), (word) &string47);
(* (ptr) (( (bPt) gf←c0841)+204) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0841)+18) ), (word) &string48);
(* (ptr) (( (bPt) gf←c0841)+208) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0841)+18) ), (word) &string49);
(* (ptr) (( (bPt) gf←c0841)+212) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0841)+18) ), (word) &string50);
(* (ptr) (( (bPt) gf←c0841)+216) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0841)+18) ), (word) &string51);
(* (ptr) (( (bPt) gf←c0841)+220) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0841)+18) ), (word) &string52);
(* (ptr) (( (bPt) gf←c0841)+224) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0841)+18) ), (word) &string53);
(* (ptr) (( (bPt) gf←c0841)+228) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0841)+9) ), (word) &string54);
(* (ptr) (( (bPt) gf←c0841)+232) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0841)+9) ), (word) &string55);
(* (ptr) (( (bPt) gf←c0841)+236) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0841)+9) ), (word) &string56);
(* (ptr) (( (bPt) gf←c0841)+240) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0841)+18) ), (word) &string57);
(* (ptr) (( (bPt) gf←c0841)+244) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0841)+9) ), (word) &string58);
(* (ptr) (( (bPt) gf←c0841)+248) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0841)+9) ), (word) &string59);
(* (ptr) (( (bPt) gf←c0841)+252) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0841)+9) ), (word) &string60);
(* (ptr) (( (bPt) gf←c0841)+256) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0841)+9) ), (word) &string61);
(* (ptr) (( (bPt) gf←c0841)+260) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0841)+9) ), (word) &string62);
(* (ptr) (( (bPt) gf←c0841)+264) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0841)+18) ), (word) &string63);
(* (ptr) (( (bPt) gf←c0841)+268) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0841)+18) ), (word) &string64);
(* (ptr) (( (bPt) gf←c0841)+272) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0841)+18) ), (word) &string65);
(* (ptr) (( (bPt) gf←c0841)+276) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0841)+18) ), (word) &string66);
(* (ptr) (( (bPt) gf←c0841)+280) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0841)+9) ), (word) &string67);
(* (ptr) (( (bPt) gf←c0841)+284) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0841)+9) ), (word) &string68);
(void) XR←DeclareGlobalFrame((word) "GGOutlineImplA", &globalframe, (word) XR←GetTypeIndex((word) &string69, 0, (word) &string70)
, (word) (( (bPt) gf←c0841)+784)/* var←c91396 */ );
var←c96644 = (word) XR←ImportInterface((word) "Feedback", (word) XR←GetTypeIndexS((word) (&string71)), 25);
(* (( (ptr) gf←c0841)+202)/* var←c91492 */ ) = var←c96644;
(void) XR←ImportProcS(var←c96644, 1313029);
(void) XR←ImportProcS(var←c96644, 1050628);
(void) XR←ImportProcS(var←c96644, 67372545);
var←c96644 = (word) XR←ImportInterface((word) "FS", (word) XR←GetTypeIndexS((word) (&string72)), 36);
(* (( (ptr) gf←c0841)+219)/* var←c94340 */ ) = var←c96644;
(void) XR←ImportProcS(var←c96644, 134483969);
(void) XR←ImportProcS(var←c96644, 67377665);
var←c96644 = (word) XR←ImportInterface((word) "GGBoundBox", (word) XR←GetTypeIndexS((word) (&string73)), 24);
(* (( (ptr) gf←c0841)+206)/* var←c91780 */ ) = var←c96644;
(void) XR←ImportProcS(var←c96644, 67634434);
(void) XR←ImportProcS(var←c96644, 67372033);
(void) XR←ImportProcS(var←c96644, 67109376);
var←c96644 = (word) XR←ImportInterface((word) "GGCoreOps", (word) XR←GetTypeIndexS((word) (&string74)), 37);
(* (( (ptr) gf←c0841)+213)/* var←c92868 */ ) = var←c96644;
(void) XR←ImportProcS(var←c96644, 67641602);
(void) XR←ImportProcS(var←c96644, 794627);
(void) XR←ImportProcS(var←c96644, 67379713);
var←c96644 = (word) XR←ImportInterface((word) &string75, (word) XR←GetTypeIndexS((word) (&string76)), 19);
(* (( (ptr) gf←c0841)+208)/* var←c91972 */ ) = var←c96644;
(void) XR←ImportProcS(var←c96644, 67633410);
(void) XR←ImportProcS(var←c96644, 1050628);
var←c96644 = (word) XR←ImportInterface((word) &string77, (word) XR←GetTypeIndexS((word) (&string78)), 83);
(* (( (ptr) gf←c0841)+204)/* var←c91588 */ ) = var←c96644;
(void) XR←ImportProcS(var←c96644, 67653378);
(void) XR←ImportProcS(var←c96644, 67653122);
(void) XR←ImportProcS(var←c96644, 67385857);
(void) XR←ImportProcS(var←c96644, 68176388);
(void) XR←ImportProcS(var←c96644, 68437509);
(void) XR←ImportProcS(var←c96644, 68175108);
(void) XR←ImportProcS(var←c96644, 270800645);
(void) XR←ImportProcS(var←c96644, 68161796);
(void) XR←ImportProcS(var←c96644, 528386);
(void) XR←ImportProcS(var←c96644, 2361353);
(void) XR←ImportProcS(var←c96644, 67636738);
(void) XR←ImportProcS(var←c96644, 1574662);
(void) XR←ImportProcS(var←c96644, 1312261);
(void) XR←ImportProcS(var←c96644, 134749954);
(void) XR←ImportProcS(var←c96644, 336077314);
(void) XR←ImportProcS(var←c96644, 201859330);
(void) XR←ImportProcS(var←c96644, 67641346);
(void) XR←ImportProcS(var←c96644, 67378689);
(void) XR←ImportProcS(var←c96644, 67378433);
(void) XR←ImportProcS(var←c96644, 531458);
(void) XR←ImportProcS(var←c96644, 67377921);
(void) XR←ImportProcS(var←c96644, 793091);
(void) XR←ImportProcS(var←c96644, 67639554);
(void) XR←ImportProcS(var←c96644, 67639298);
(void) XR←ImportProcS(var←c96644, 67638786);
(void) XR←ImportProcS(var←c96644, 67638530);
(void) XR←ImportProcS(var←c96644, 67900419);
(void) XR←ImportProcS(var←c96644, 67375873);
(void) XR←ImportProcS(var←c96644, 67375617);
(void) XR←ImportProcS(var←c96644, 67636994);
(void) XR←ImportProcS(var←c96644, 1314053);
(void) XR←ImportProcS(var←c96644, 67636226);
(void) XR←ImportProcS(var←c96644, 789251);
(void) XR←ImportProcS(var←c96644, 68684294);
(void) XR←ImportProcS(var←c96644, 1837319);
(void) XR←ImportProcS(var←c96644, 525570);
(void) XR←ImportProcS(var←c96644, 262145);
(void) XR←ImportProcS(var←c96644, 67633922);
(void) XR←ImportProcS(var←c96644, 68157956);
(void) XR←ImportProcS(var←c96644, 67633410);
var←c96644 = (word) XR←ImportInterface((word) "GGParseIn", (word) XR←GetTypeIndexS((word) (&string79)), 26);
(* (( (ptr) gf←c0841)+212)/* var←c92516 */ ) = var←c96644;
(void) XR←ImportProcS(var←c96644, 67373569);
(void) XR←ImportProcS(var←c96644, 134745602);
(void) XR←ImportProcS(var←c96644, 67636226);
(void) XR←ImportProcS(var←c96644, 67376385);
(void) XR←ImportProcS(var←c96644, 525826);
(void) XR←ImportProcS(var←c96644, 67376129);
(void) XR←ImportProcS(var←c96644, 525570);
var←c96644 = (word) XR←ImportInterface((word) "GGParseOut", (word) XR←GetTypeIndexS((word) (&string80)), 15);
(* (( (ptr) gf←c0841)+211)/* var←c92484 */ ) = var←c96644;
(void) XR←ImportProcS(var←c96644, 787459);
(void) XR←ImportProcS(var←c96644, 524802);
(void) XR←ImportProcS(var←c96644, 527106);
var←c96644 = (word) XR←ImportInterface((word) "GGScene", (word) XR←GetTypeIndexS((word) (&string81)), 50);
(* (( (ptr) gf←c0841)+218)/* var←c94020 */ ) = var←c96644;
(void) XR←ImportProcS(var←c96644, 67379969);
var←c96644 = (word) XR←ImportInterface((word) "GGSequence", (word) XR←GetTypeIndexS((word) (&string82)), 58);
(* (( (ptr) gf←c0841)+215)/* var←c93412 */ ) = var←c96644;
(void) XR←ImportProcS(var←c96644, 67377921);
(void) XR←ImportProcS(var←c96644, 67379713);
(void) XR←ImportProcS(var←c96644, 134488321);
(void) XR←ImportProcS(var←c96644, 67376641);
var←c96644 = (word) XR←ImportInterface((word) "GGShapes", (word) XR←GetTypeIndexS((word) (&string83)), 20);
(* (( (ptr) gf←c0841)+209)/* var←c92356 */ ) = var←c96644;
(void) XR←ImportProcS(var←c96644, 1315076);
(void) XR←ImportProcS(var←c96644, 786947);
var←c96644 = (word) XR←ImportInterface((word) &string84, (word) XR←GetTypeIndexS((word) (&string85)), 128);
(* (( (ptr) gf←c0841)+205)/* var←c91620 */ ) = var←c96644;
(void) XR←ImportProcS(var←c96644, 201600257);
(void) XR←ImportProcS(var←c96644, 1321732);
(void) XR←ImportProcS(var←c96644, 201600001);
(void) XR←ImportProcS(var←c96644, 278529);
(void) XR←ImportProcS(var←c96644, 1060356);
(void) XR←ImportProcS(var←c96644, 279041);
(void) XR←ImportProcS(var←c96644, 278785);
(void) XR←ImportProcS(var←c96644, 279297);
(void) XR←ImportProcS(var←c96644, 788227);
(void) XR←ImportProcS(var←c96644, 67372545);
(void) XR←ImportProcS(var←c96644, 67634178);
(void) XR←ImportProcS(var←c96644, 67371777);
(void) XR←ImportProcS(var←c96644, 265729);
(void) XR←ImportProcS(var←c96644, 2115848);
(void) XR←ImportProcS(var←c96644, 2377737);
(void) XR←ImportProcS(var←c96644, 277761);
var←c96644 = (word) XR←ImportInterface((word) "GGSliceOps", (word) XR←GetTypeIndexS((word) (&string86)), 73);
(* (( (ptr) gf←c0841)+207)/* var←c91876 */ ) = var←c96644;
(void) XR←ImportProcS(var←c96644, 336078338);
(void) XR←ImportProcS(var←c96644, 67642370);
(void) XR←ImportProcS(var←c96644, 134752002);
(void) XR←ImportProcS(var←c96644, 67379969);
(void) XR←ImportProcS(var←c96644, 67379713);
(void) XR←ImportProcS(var←c96644, 532738);
(void) XR←ImportProcS(var←c96644, 794371);
(void) XR←ImportProcS(var←c96644, 67640834);
(void) XR←ImportProcS(var←c96644, 67640578);
(void) XR←ImportProcS(var←c96644, 270539780);
(void) XR←ImportProcS(var←c96644, 67640066);
(void) XR←ImportProcS(var←c96644, 67639810);
(void) XR←ImportProcS(var←c96644, 67901699);
(void) XR←ImportProcS(var←c96644, 67377153);
(void) XR←ImportProcS(var←c96644, 67376897);
(void) XR←ImportProcS(var←c96644, 68436485);
(void) XR←ImportProcS(var←c96644, 540930);
(void) XR←ImportProcS(var←c96644, 67638274);
(void) XR←ImportProcS(var←c96644, 67375873);
(void) XR←ImportProcS(var←c96644, 1315333);
(void) XR←ImportProcS(var←c96644, 67637506);
(void) XR←ImportProcS(var←c96644, 790531);
(void) XR←ImportProcS(var←c96644, 68685574);
(void) XR←ImportProcS(var←c96644, 1838599);
(void) XR←ImportProcS(var←c96644, 201860354);
(void) XR←ImportProcS(var←c96644, 67379201);
(void) XR←ImportProcS(var←c96644, 2362633);
(void) XR←ImportProcS(var←c96644, 1575942);
(void) XR←ImportProcS(var←c96644, 1313541);
(void) XR←ImportProcS(var←c96644, 67388673);
(void) XR←ImportProcS(var←c96644, 2099720);
(void) XR←ImportProcS(var←c96644, 2361609);
(void) XR←ImportProcS(var←c96644, 526082);
(void) XR←ImportProcS(var←c96644, 67371521);
(void) XR←ImportProcS(var←c96644, 134756866);
(void) XR←ImportProcS(var←c96644, 67634690);
(void) XR←ImportProcS(var←c96644, 67634434);
(void) XR←ImportProcS(var←c96644, 68158468);
(void) XR←ImportProcS(var←c96644, 67633922);
(void) XR←ImportProcS(var←c96644, 264193);
(void) XR←ImportProcS(var←c96644, 68173572);
var←c96644 = (word) XR←ImportInterface((word) "GGTraj", (word) XR←GetTypeIndexS((word) (&string87)), 55);
(* (( (ptr) gf←c0841)+216)/* var←c93444 */ ) = var←c96644;
(void) XR←ImportProcS(var←c96644, 67636482);
var←c96644 = (word) XR←ImportInterface((word) "GGUtility", (word) XR←GetTypeIndexS((word) (&string88)), 42);
(* (( (ptr) gf←c0841)+214)/* var←c92996 */ ) = var←c96644;
(void) XR←ImportProcS(var←c96644, 268964866);
(void) XR←ImportProcS(var←c96644, 135007235);
(void) XR←ImportProcS(var←c96644, 134220544);
(void) XR←ImportProcS(var←c96644, 135008515);
(void) XR←ImportProcS(var←c96644, 67637762);
(void) XR←ImportProcS(var←c96644, 134221824);
var←c96644 = (word) XR←ImportInterface((word) "Imager", (word) XR←GetTypeIndexS((word) (&string89)), 84);
(* (( (ptr) gf←c0841)+203)/* var←c91524 */ ) = var←c96644;
(void) XR←ImportProcS(var←c96644, 801283);
(void) XR←ImportProcS(var←c96644, 67383553);
var←c96644 = (word) XR←ImportInterface((word) "IO", (word) XR←GetTypeIndexS((word) (&string90)), 103);
(* (( (ptr) gf←c0841)+210)/* var←c92452 */ ) = var←c96644;
(void) XR←ImportProcS(var←c96644, 1063171);
(void) XR←ImportProcS(var←c96644, 67910402);
(void) XR←ImportProcS(var←c96644, 528642);
(void) XR←ImportProcS(var←c96644, 1071364);
var←c96644 = (word) XR←ImportInterface((word) "Rope", (word) XR←GetTypeIndexS((word) (&string91)), 43);
(* (( (ptr) gf←c0841)+217)/* var←c93988 */ ) = var←c96644;
(void) XR←ImportProcS(var←c96644, 68419845);
(void) XR←ImportProcS(var←c96644, 67633666);
var←c96644 = (word) XR←ExportInterface((word) &string84, (word) XR←GetTypeIndexS((word) (&string85)), 128);
(* (( (ptr) gf←c0841)+220)/* var←c96676 */ ) = var←c96644;
(void) XR←ExportProcS(var←c96644, (word) (( (bPt) gf←c0841)+768)/* var←c91332 */ , 67112192, (word) "BuildClusterSliceClass")
;
(void) XR←ExportProcS(var←c96644, (word) (( (bPt) gf←c0841)+776)/* var←c91364 */ , 67124224, (word) "BuildOutlineSliceClass")
;
var←c96644 = (word) XR←ExportInterface((word) &string75, (word) XR←GetTypeIndexS((word) (&string76)), 19);
(* (( (ptr) gf←c0841)+220)/* var←c96676 */ ) = var←c96644;
(void) XR←ExportVar(var←c96644, 0, (word) (( (bPt) gf←c0841)+20)/* fillColor←v7452 */ );
var←c96644 = (word) XR←ExportInterface((word) &string77, (word) XR←GetTypeIndexS((word) (&string78)), 83);
(* (( (ptr) gf←c0841)+220)/* var←c96676 */ ) = var←c96644;
(void) XR←ExportProcS(var←c96644, (word) (( (bPt) gf←c0841)+688)/* var←c91012 */ , 262145, (word) "Unlink");
(void) XR←ExportProcS(var←c96644, (word) (( (bPt) gf←c0841)+680)/* var←c90980 */ , 67633410, (word) "GetBoundBox");
(void) XR←ExportProcS(var←c96644, (word) (( (bPt) gf←c0841)+672)/* var←c90948 */ , 68157956, (word) "GetTransformedBoundBox")
;
(void) XR←ExportProcS(var←c96644, (word) (( (bPt) gf←c0841)+664)/* var←c90916 */ , 67633922, (word) "GetTightBox");
(void) XR←ExportProcS(var←c96644, (word) (( (bPt) gf←c0841)+648)/* var←c90852 */ , 67896323, (word) "Copy");
(void) XR←ExportProcS(var←c96644, (word) (( (bPt) gf←c0841)+640)/* var←c90820 */ , 525570, (word) "Restore");
(void) XR←ExportProcS(var←c96644, (word) (( (bPt) gf←c0841)+608)/* var←c90692 */ , 1312261, (word) "DrawParts");
(void) XR←ExportProcS(var←c96644, (word) (( (bPt) gf←c0841)+592)/* var←c90628 */ , 1574662, (word) "DrawTransform");
(void) XR←ExportProcS(var←c96644, (word) (( (bPt) gf←c0841)+584)/* var←c90596 */ , 2361353, (word) "DrawSelectionFeedback")
;
(void) XR←ExportProcS(var←c96644, (word) (( (bPt) gf←c0841)+568)/* var←c90532 */ , 1837319, (word) "DrawAttractorFeedback")
;
(void) XR←ExportProcS(var←c96644, (word) (( (bPt) gf←c0841)+560)/* var←c90500 */ , 68684294, (word) "AttractorFeedbackBoundBox")
;
(void) XR←ExportProcS(var←c96644, (word) (( (bPt) gf←c0841)+544)/* var←c90436 */ , 789251, (word) "SaveSelections");
(void) XR←ExportProcS(var←c96644, (word) (( (bPt) gf←c0841)+536)/* var←c90404 */ , 67636226, (word) "RemakeSelections");
(void) XR←ExportProcS(var←c96644, (word) (( (bPt) gf←c0841)+528)/* var←c90372 */ , 1314053, (word) "Transform");
(void) XR←ExportProcS(var←c96644, (word) (( (bPt) gf←c0841)+512)/* var←c90308 */ , 67636738, (word) "Describe");
(void) XR←ExportProcS(var←c96644, (word) (( (bPt) gf←c0841)+504)/* var←c90276 */ , 67636994, (word) "DescribeHit");
(void) XR←ExportProcS(var←c96644, (word) (( (bPt) gf←c0841)+496)/* var←c90244 */ , 528386, (word) "Fileout");
(void) XR←ExportProcS(var←c96644, (word) (( (bPt) gf←c0841)+488)/* var←c90212 */ , 68161796, (word) "Filein");
(void) XR←ExportProcS(var←c96644, (word) (( (bPt) gf←c0841)+456)/* var←c90084 */ , 67375617, (word) "IsEmptyParts");
(void) XR←ExportProcS(var←c96644, (word) (( (bPt) gf←c0841)+440)/* var←c90020 */ , 67375873, (word) "IsCompleteParts");
(void) XR←ExportProcS(var←c96644, (word) (( (bPt) gf←c0841)+424)/* var←c89956 */ , 67900419, (word) "NewParts");
(void) XR←ExportProcS(var←c96644, (word) (( (bPt) gf←c0841)+416)/* var←c89924 */ , 67638530, (word) "UnionParts");
(void) XR←ExportProcS(var←c96644, (word) (( (bPt) gf←c0841)+408)/* var←c89892 */ , 67638786, (word) "DifferenceParts");
(void) XR←ExportProcS(var←c96644, (word) (( (bPt) gf←c0841)+392)/* var←c89828 */ , 270800645, (word) "MovingParts");
(void) XR←ExportProcS(var←c96644, (word) (( (bPt) gf←c0841)+384)/* var←c89796 */ , 67639298, (word) "AugmentParts");
(void) XR←ExportProcS(var←c96644, (word) (( (bPt) gf←c0841)+376)/* var←c89764 */ , 67639554, (word) "AlterParts");
(void) XR←ExportProcS(var←c96644, (word) (( (bPt) gf←c0841)+352)/* var←c89668 */ , 793091, (word) "SetSelectedFields");
(void) XR←ExportProcS(var←c96644, (word) (( (bPt) gf←c0841)+344)/* var←c89636 */ , 67377921, (word) "PointsInDescriptor")
;
(void) XR←ExportProcS(var←c96644, (word) (( (bPt) gf←c0841)+336)/* var←c89604 */ , 531458, (word) "WalkPointsInDescriptor")
;
(void) XR←ExportProcS(var←c96644, (word) (( (bPt) gf←c0841)+328)/* var←c89572 */ , 67378433, (word) "PointPairsInDescriptor")
;
(void) XR←ExportProcS(var←c96644, (word) (( (bPt) gf←c0841)+320)/* var←c89540 */ , 67378689, (word) "SegmentsInDescriptor")
;
(void) XR←ExportProcS(var←c96644, (word) (( (bPt) gf←c0841)+312)/* var←c89508 */ , 134749954, (word) "NextSegment");
(void) XR←ExportProcS(var←c96644, (word) (( (bPt) gf←c0841)+304)/* var←c89476 */ , 67641346, (word) "WalkSegments");
(void) XR←ExportProcS(var←c96644, (word) (( (bPt) gf←c0841)+296)/* var←c89444 */ , 201859330, (word) "NextPoint");
(void) XR←ExportProcS(var←c96644, (word) (( (bPt) gf←c0841)+288)/* var←c89412 */ , 336077314, (word) "NextPointPair");
}
static void GGOutlineImplA←P0(formal←c094, formal←c093)
word formal←c094;
word formal←c093;
{
register ptr gf←c96708 = (ptr) &globalframe;
/* GGOutlineImplA: */
SOURCE(345, 62789)
SOURCE(3600, 24)
(* (( (ptr) gf←c96708)+4)/* Problem←v5520 */ ) = (* (ptr) (* (( (ptr) (* (( (ptr) gf←c96708)+202)/* var←c91492 */ ))+28)
) );
SOURCE(63149, 53)
{
word pd92;
pd92 = (* (( (ptr) (* (( (ptr) gf←c96708)+203)/* var←c91524 */ ))+53) );
(* (( (ptr) gf←c96708)+5)/* fillColor←v7452 */ ) = (word) ( *( (fPt) ((* (ptr) pd92 ))))((* (ptr) (&fc93) ), pd92);
};
}
static word BuildOutlineSliceClass←P60()
{
register ptr gf←c96740 = (ptr) &globalframe;
word class←v7632;
/* BuildOutlineSliceClass: */
SOURCE(3660, 2479)
SOURCE(3660, 2479)
class←v7632 = 0;
SOURCE(3731, 2365)
{
word var←c91556;
var←c91556 = XR←NewObject(252, (* (( (ptr) gf←c96740)+8) ));
(* (ptr) var←c91556 ) = (* (( (ptr) gf←c96740)+71) );
(* (( (ptr) var←c91556)+1) ) = (* (( (ptr) (* (( (ptr) gf←c96740)+204)/* var←c91588 */ ))+5) );
(* (( (ptr) var←c91556)+2) ) = (* (( (ptr) (* (( (ptr) gf←c96740)+204)/* var←c91588 */ ))+6) );
(* (( (ptr) var←c91556)+3) ) = (* (( (ptr) (* (( (ptr) gf←c96740)+204)/* var←c91588 */ ))+7) );
(* (( (ptr) var←c91556)+4) ) = (word) (( (bPt) gf←c96740)+656)/* var←c90884 */ ;
(* (( (ptr) var←c91556)+5) ) = (* (( (ptr) (* (( (ptr) gf←c96740)+204)/* var←c91588 */ ))+4) );
(* (( (ptr) var←c91556)+6) ) = (* (( (ptr) (* (( (ptr) gf←c96740)+204)/* var←c91588 */ ))+9) );
(* (( (ptr) var←c91556)+7) ) = (word) (( (bPt) gf←c96740)+632)/* var←c90788 */ ;
(* (( (ptr) var←c91556)+8) ) = (word) (( (bPt) gf←c96740)+624)/* var←c90756 */ ;
(* (( (ptr) var←c91556)+9) ) = (word) (( (bPt) gf←c96740)+616)/* var←c90724 */ ;
(* (( (ptr) var←c91556)+10) ) = (word) (( (bPt) gf←c96740)+600)/* var←c90660 */ ;
(* (( (ptr) var←c91556)+11) ) = (word) (( (bPt) gf←c96740)+576)/* var←c90564 */ ;
(* (( (ptr) var←c91556)+12) ) = (* (( (ptr) (* (( (ptr) gf←c96740)+204)/* var←c91588 */ ))+13) );
(* (( (ptr) var←c91556)+13) ) = (* (( (ptr) (* (( (ptr) gf←c96740)+204)/* var←c91588 */ ))+14) );
(* (( (ptr) var←c91556)+14) ) = (* (( (ptr) (* (( (ptr) gf←c96740)+204)/* var←c91588 */ ))+15) );
(* (( (ptr) var←c91556)+15) ) = (* (( (ptr) (* (( (ptr) gf←c96740)+204)/* var←c91588 */ ))+16) );
(* (( (ptr) var←c91556)+16) ) = (* (( (ptr) (* (( (ptr) gf←c96740)+204)/* var←c91588 */ ))+17) );
(* (( (ptr) var←c91556)+17) ) = (word) (( (bPt) gf←c96740)+744)/* var←c91236 */ ;
(* (( (ptr) var←c91556)+18) ) = (* (( (ptr) (* (( (ptr) gf←c96740)+204)/* var←c91588 */ ))+19) );
(* (( (ptr) var←c91556)+19) ) = (word) (( (bPt) gf←c96740)+480)/* var←c90180 */ ;
(* (( (ptr) var←c91556)+20) ) = (word) (( (bPt) gf←c96740)+472)/* var←c90148 */ ;
(* (( (ptr) var←c91556)+21) ) = (* (( (ptr) (* (( (ptr) gf←c96740)+204)/* var←c91588 */ ))+22) );
(* (( (ptr) var←c91556)+22) ) = (* (( (ptr) (* (( (ptr) gf←c96740)+204)/* var←c91588 */ ))+23) );
(* (( (ptr) var←c91556)+23) ) = (* (( (ptr) (* (( (ptr) gf←c96740)+204)/* var←c91588 */ ))+24) );
(* (( (ptr) var←c91556)+24) ) = (* (( (ptr) (* (( (ptr) gf←c96740)+204)/* var←c91588 */ ))+25) );
(* (( (ptr) var←c91556)+25) ) = (* (( (ptr) (* (( (ptr) gf←c96740)+204)/* var←c91588 */ ))+26) );
(* (( (ptr) var←c91556)+26) ) = (word) (( (bPt) gf←c96740)+400)/* var←c89860 */ ;
(* (( (ptr) var←c91556)+27) ) = (* (( (ptr) (* (( (ptr) gf←c96740)+204)/* var←c91588 */ ))+28) );
(* (( (ptr) var←c91556)+28) ) = (* (( (ptr) (* (( (ptr) gf←c96740)+204)/* var←c91588 */ ))+29) );
(* (( (ptr) var←c91556)+29) ) = (* (( (ptr) (* (( (ptr) gf←c96740)+204)/* var←c91588 */ ))+30) );
(* (( (ptr) var←c91556)+30) ) = (* (( (ptr) (* (( (ptr) gf←c96740)+204)/* var←c91588 */ ))+31) );
(* (( (ptr) var←c91556)+31) ) = (* (( (ptr) (* (( (ptr) gf←c96740)+204)/* var←c91588 */ ))+32) );
(* (( (ptr) var←c91556)+32) ) = (* (( (ptr) (* (( (ptr) gf←c96740)+204)/* var←c91588 */ ))+33) );
(* (( (ptr) var←c91556)+33) ) = (* (( (ptr) (* (( (ptr) gf←c96740)+204)/* var←c91588 */ ))+34) );
(* (( (ptr) var←c91556)+34) ) = (* (( (ptr) (* (( (ptr) gf←c96740)+204)/* var←c91588 */ ))+36) );
(* (( (ptr) var←c91556)+35) ) = (* (( (ptr) (* (( (ptr) gf←c96740)+204)/* var←c91588 */ ))+37) );
(* (( (ptr) var←c91556)+36) ) = (* (( (ptr) (* (( (ptr) gf←c96740)+204)/* var←c91588 */ ))+38) );
(* (( (ptr) var←c91556)+37) ) = (* (( (ptr) (* (( (ptr) gf←c96740)+204)/* var←c91588 */ ))+35) );
class←v7632 = var←c91556;
};
SOURCE(6098, 41)
{
word pd94;
pd94 = (* (( (ptr) (* (( (ptr) gf←c96740)+205)/* var←c91620 */ ))+65) );
(void) ( *( (fPt) ((* (ptr) pd94 ))))(class←v7632, pd94);
};
SOURCE(3660, 2479)
return(class←v7632);
}
static word BuildClusterSliceClass←P120()
{
register ptr gf←c96772 = (ptr) &globalframe;
word class←v7692;
/* BuildClusterSliceClass: */
SOURCE(6145, 2530)
SOURCE(6145, 2530)
class←v7692 = 0;
SOURCE(6216, 2416)
{
word var←c91652;
var←c91652 = XR←NewObject(252, (* (( (ptr) gf←c96772)+8) ));
(* (ptr) var←c91652 ) = (* (( (ptr) gf←c96772)+70) );
(* (( (ptr) var←c91652)+1) ) = (* (( (ptr) (* (( (ptr) gf←c96772)+204)/* var←c91588 */ ))+5) );
(* (( (ptr) var←c91652)+2) ) = (* (( (ptr) (* (( (ptr) gf←c96772)+204)/* var←c91588 */ ))+6) );
(* (( (ptr) var←c91652)+3) ) = (* (( (ptr) (* (( (ptr) gf←c96772)+204)/* var←c91588 */ ))+7) );
(* (( (ptr) var←c91652)+4) ) = (word) (( (bPt) gf←c96772)+728)/* var←c91172 */ ;
(* (( (ptr) var←c91652)+5) ) = (* (( (ptr) (* (( (ptr) gf←c96772)+204)/* var←c91588 */ ))+4) );
(* (( (ptr) var←c91652)+6) ) = (* (( (ptr) (* (( (ptr) gf←c96772)+204)/* var←c91588 */ ))+9) );
(* (( (ptr) var←c91652)+7) ) = (* (( (ptr) (* (( (ptr) gf←c96772)+205)/* var←c91620 */ ))+76) );
(* (( (ptr) var←c91652)+8) ) = (* (( (ptr) (* (( (ptr) gf←c96772)+205)/* var←c91620 */ ))+77) );
(* (( (ptr) var←c91652)+9) ) = (* (( (ptr) (* (( (ptr) gf←c96772)+204)/* var←c91588 */ ))+10) );
(* (( (ptr) var←c91652)+10) ) = (* (( (ptr) (* (( (ptr) gf←c96772)+204)/* var←c91588 */ ))+11) );
(* (( (ptr) var←c91652)+11) ) = (word) (( (bPt) gf←c96772)+720)/* var←c91140 */ ;
(* (( (ptr) var←c91652)+12) ) = (word) (( (bPt) gf←c96772)+568)/* var←c90532 */ ;
(* (( (ptr) var←c91652)+13) ) = (word) (( (bPt) gf←c96772)+560)/* var←c90500 */ ;
(* (( (ptr) var←c91652)+14) ) = (* (( (ptr) (* (( (ptr) gf←c96772)+204)/* var←c91588 */ ))+15) );
(* (( (ptr) var←c91652)+15) ) = (* (( (ptr) (* (( (ptr) gf←c96772)+204)/* var←c91588 */ ))+16) );
(* (( (ptr) var←c91652)+16) ) = (* (( (ptr) (* (( (ptr) gf←c96772)+204)/* var←c91588 */ ))+17) );
(* (( (ptr) var←c91652)+17) ) = (word) (( (bPt) gf←c96772)+736)/* var←c91204 */ ;
(* (( (ptr) var←c91652)+18) ) = (* (( (ptr) (* (( (ptr) gf←c96772)+204)/* var←c91588 */ ))+19) );
(* (( (ptr) var←c91652)+19) ) = (word) (( (bPt) gf←c96772)+712)/* var←c91108 */ ;
(* (( (ptr) var←c91652)+20) ) = (word) (( (bPt) gf←c96772)+704)/* var←c91076 */ ;
(* (( (ptr) var←c91652)+21) ) = (* (( (ptr) (* (( (ptr) gf←c96772)+204)/* var←c91588 */ ))+22) );
(* (( (ptr) var←c91652)+22) ) = (* (( (ptr) (* (( (ptr) gf←c96772)+204)/* var←c91588 */ ))+23) );
(* (( (ptr) var←c91652)+23) ) = (* (( (ptr) (* (( (ptr) gf←c96772)+204)/* var←c91588 */ ))+24) );
(* (( (ptr) var←c91652)+24) ) = (* (( (ptr) (* (( (ptr) gf←c96772)+204)/* var←c91588 */ ))+25) );
(* (( (ptr) var←c91652)+25) ) = (* (( (ptr) (* (( (ptr) gf←c96772)+204)/* var←c91588 */ ))+26) );
(* (( (ptr) var←c91652)+26) ) = (word) (( (bPt) gf←c96772)+696)/* var←c91044 */ ;
(* (( (ptr) var←c91652)+27) ) = (* (( (ptr) (* (( (ptr) gf←c96772)+204)/* var←c91588 */ ))+28) );
(* (( (ptr) var←c91652)+28) ) = (* (( (ptr) (* (( (ptr) gf←c96772)+204)/* var←c91588 */ ))+29) );
(* (( (ptr) var←c91652)+29) ) = (* (( (ptr) (* (( (ptr) gf←c96772)+204)/* var←c91588 */ ))+30) );
(* (( (ptr) var←c91652)+30) ) = (* (( (ptr) (* (( (ptr) gf←c96772)+204)/* var←c91588 */ ))+31) );
(* (( (ptr) var←c91652)+31) ) = (* (( (ptr) (* (( (ptr) gf←c96772)+204)/* var←c91588 */ ))+32) );
(* (( (ptr) var←c91652)+32) ) = (* (( (ptr) (* (( (ptr) gf←c96772)+204)/* var←c91588 */ ))+33) );
(* (( (ptr) var←c91652)+33) ) = (* (( (ptr) (* (( (ptr) gf←c96772)+204)/* var←c91588 */ ))+34) );
(* (( (ptr) var←c91652)+34) ) = (* (( (ptr) (* (( (ptr) gf←c96772)+204)/* var←c91588 */ ))+36) );
(* (( (ptr) var←c91652)+35) ) = (* (( (ptr) (* (( (ptr) gf←c96772)+204)/* var←c91588 */ ))+37) );
(* (( (ptr) var←c91652)+36) ) = (* (( (ptr) (* (( (ptr) gf←c96772)+204)/* var←c91588 */ ))+38) );
(* (( (ptr) var←c91652)+37) ) = (* (( (ptr) (* (( (ptr) gf←c96772)+204)/* var←c91588 */ ))+35) );
class←v7692 = var←c91652;
};
SOURCE(8634, 41)
{
word pd95;
pd95 = (* (( (ptr) (* (( (ptr) gf←c96772)+205)/* var←c91620 */ ))+18) );
(void) ( *( (fPt) ((* (ptr) pd95 ))))(class←v7692, pd95);
};
SOURCE(6145, 2530)
return(class←v7692);
}
static word OutlineFromChildList←P180(childList←v7752, fillColor←v7780, oddWrap←v7808, fillText←v7836, screenStyle←v7864, version←v7892)
word childList←v7752;
word fillColor←v7780;
word oddWrap←v7808;
word fillText←v7836;
word screenStyle←v7864;
word version←v7892;
{
register ptr gf←c96804 = (ptr) &globalframe;
word outline←v8020;
word data←v18252;
/* OutlineFromChildList: */
SOURCE(8681, 1167)
SOURCE(8681, 1167)
outline←v8020 = 0;
SOURCE(8863, 104)
data←v18252 = XR←NewObject(36, (* (( (ptr) gf←c96804)+13) ));
(* (ptr) data←v18252 ) = oddWrap←v7808;
(* (( (ptr) data←v18252)+1) ) = fillColor←v7780;
(* (( (ptr) data←v18252)+3) ) = 1;
(* (( (ptr) data←v18252)+4) ) = childList←v7752;
SOURCE(8969, 224)
{
word var←c91716;
word var←c91748;
word var←c91812;
word var←c91844;
{
word pd96;
pd96 = (* (( (ptr) (* (( (ptr) gf←c96804)+205)/* var←c91620 */ ))+7) );
var←c91716 = (word) ( *( (fPt) ((* (ptr) pd96 ))))((* ((( (ptr) gf←c96804)+71)) ), pd96);
};
{
word pd97;
pd97 = (* (( (ptr) (* (( (ptr) gf←c96804)+206)/* var←c91780 */ ))+6) );
var←c91748 = (word) ( *( (fPt) ((* (ptr) pd97 ))))(pd97);
};
{
word pd98;
pd98 = (* (( (ptr) (* (( (ptr) gf←c96804)+206)/* var←c91780 */ ))+6) );
var←c91812 = (word) ( *( (fPt) ((* (ptr) pd98 ))))(pd98);
};
var←c91844 = XR←NewObject(92, (* (( (ptr) gf←c96804)+14) ));
(* (ptr) var←c91844 ) = var←c91716;
(* (( (ptr) var←c91844)+1) ) = data←v18252;
(* (W4Pt) (( (ptr) var←c91844)+3) ) = (* (W4Pt) (( (ptr) gf←c96804)+198)/* var←c91460 */ );
(* (( (ptr) var←c91844)+13) ) = var←c91748;
(* (( (ptr) var←c91844)+15) ) = var←c91812;
(* (( (ptr) var←c91844)+21) ) = (word) -1;
outline←v8020 = var←c91844;
};
SOURCE(9195, 84)
{
register word tL←v18296;
tL←v18296 = childList←v7752;
lab←L100003: ;
if ((tL←v18296 != 0)) {
}
else {
goto lab←L100000;
};
SOURCE(9254, 25)
(* (( (ptr) (* (ptr) tL←v18296 ))+2) ) = outline←v8020;
tL←v18296 = (* (( (ptr) tL←v18296)+1) );
goto lab←L100003;
lab←L100000: ;
};
SOURCE(9290, 66)
{
word pd99;
pd99 = (* (( (ptr) (* (( (ptr) gf←c96804)+205)/* var←c91620 */ ))+8) );
(* (( (ptr) outline←v8020)+11) ) = (word) ( *( (fPt) ((* (ptr) pd99 ))))(outline←v8020, 0, pd99);
};
SOURCE(9358, 379)
{
word x100;
word x102;
if (((
x100 = version←v7892, *(float*)&x100
) < (
x102 = (* (ptr) &fc101 ), *(float*)&x102
))) {
SOURCE(9495, 62)
{
word var←c91908;
word pd103;
pd103 = (* (( (ptr) (* (( (ptr) gf←c96804)+207)/* var←c91876 */ ))+67) );
var←c91908 = (word) ( *( (fPt) ((* (ptr) pd103 ))))((* (ptr) childList←v7752 ), 0, 1, 0, pd103);
};
SOURCE(9595, 142)
{
register word holeList←v18424;
holeList←v18424 = (* (( (ptr) childList←v7752)+1) );
lab←L100007: ;
if ((holeList←v18424 != 0)) {
}
else {
goto lab←L100004;
};
SOURCE(9677, 60)
{
word var←c91940;
word pd104;
pd104 = (* (( (ptr) (* (( (ptr) gf←c96804)+207)/* var←c91876 */ ))+67) );
var←c91940 = (word) ( *( (fPt) ((* (ptr) pd104 ))))((* (ptr) holeList←v18424 ), 0, 0, 0, pd104);
};
holeList←v18424 = (* (( (ptr) holeList←v18424)+1) );
goto lab←L100007;
lab←L100004: ;
};
};
};
SOURCE(9790, 58)
{
word pd105;
pd105 = (* (( (ptr) (* (( (ptr) gf←c96804)+208)/* var←c91972 */ ))+12) );
(void) ( *( (fPt) ((* (ptr) pd105 ))))(outline←v8020, fillText←v7836, screenStyle←v7864, 0, pd105);
};
SOURCE(8681, 1167)
return(outline←v8020);
}
static word ClusterFromChildList←P240(childList←v8080, frozen←v8108, version←v8136)
word childList←v8080;
word frozen←v8108;
word version←v8136;
{
register ptr gf←c96836 = (ptr) &globalframe;
word parent←v8264;
word data←v18552;
/* ClusterFromChildList: */
SOURCE(9854, 647)
SOURCE(9854, 647)
parent←v8264 = 0;
SOURCE(9966, 150)
{
word var←c92004;
word var←c92068;
{
word var←c92036;
var←c92036 = XR←NewObject(4, (* (( (ptr) gf←c96836)+16) ));
(* (ptr) var←c92036 ) = frozen←v8108;
var←c92004 = var←c92036;
};
var←c92068 = XR←NewObject(36, (* (( (ptr) gf←c96836)+13) ));
(* (( (ptr) var←c92068)+3) ) = 1;
(* (( (ptr) var←c92068)+4) ) = childList←v8080;
(* (( (ptr) var←c92068)+8) ) = var←c92004;
data←v18552 = var←c92068;
};
SOURCE(10118, 223)
{
word var←c92100;
word var←c92132;
word var←c92164;
word var←c92196;
{
word pd106;
pd106 = (* (( (ptr) (* (( (ptr) gf←c96836)+205)/* var←c91620 */ ))+7) );
var←c92100 = (word) ( *( (fPt) ((* (ptr) pd106 ))))((* ((( (ptr) gf←c96836)+70)) ), pd106);
};
{
word pd107;
pd107 = (* (( (ptr) (* (( (ptr) gf←c96836)+206)/* var←c91780 */ ))+6) );
var←c92132 = (word) ( *( (fPt) ((* (ptr) pd107 ))))(pd107);
};
{
word pd108;
pd108 = (* (( (ptr) (* (( (ptr) gf←c96836)+206)/* var←c91780 */ ))+6) );
var←c92164 = (word) ( *( (fPt) ((* (ptr) pd108 ))))(pd108);
};
var←c92196 = XR←NewObject(92, (* (( (ptr) gf←c96836)+14) ));
(* (ptr) var←c92196 ) = var←c92100;
(* (( (ptr) var←c92196)+1) ) = data←v18552;
(* (W4Pt) (( (ptr) var←c92196)+3) ) = (* (W4Pt) (( (ptr) gf←c96836)+198)/* var←c91460 */ );
(* (( (ptr) var←c92196)+13) ) = var←c92132;
(* (( (ptr) var←c92196)+15) ) = var←c92164;
(* (( (ptr) var←c92196)+21) ) = (word) -1;
parent←v8264 = var←c92196;
};
SOURCE(10343, 83)
{
register word tL←v18596;
tL←v18596 = childList←v8080;
lab←L100011: ;
if ((tL←v18596 != 0)) {
}
else {
goto lab←L100008;
};
SOURCE(10402, 24)
(* (( (ptr) (* (ptr) tL←v18596 ))+2) ) = parent←v8264;
tL←v18596 = (* (( (ptr) tL←v18596)+1) );
goto lab←L100011;
lab←L100008: ;
};
SOURCE(10437, 64)
{
word pd109;
pd109 = (* (( (ptr) (* (( (ptr) gf←c96836)+205)/* var←c91620 */ ))+8) );
(* (( (ptr) parent←v8264)+11) ) = (word) ( *( (fPt) ((* (ptr) pd109 ))))(parent←v8264, 0, pd109);
};
SOURCE(9854, 647)
return(parent←v8264);
}
static word OutlineDescribe←P300(sliceD←v8324)
word sliceD←v8324;
{
register ptr gf←c96868 = (ptr) &globalframe;
word rope←v8368;
/* OutlineDescribe: */
SOURCE(10506, 122)
SOURCE(10506, 122)
rope←v8368 = 0;
SOURCE(10584, 44)
{
word pd110;
pd110 = (* (( (ptr) (* (( (ptr) gf←c96868)+204)/* var←c91588 */ ))+18) );
return((word) ( *( (fPt) ((* (ptr) pd110 ))))(sliceD←v8324, (* (( (ptr) gf←c96868)+69) ), pd110));
};
}
static word ClusterDescribe←P360(sliceD←v8428)
word sliceD←v8428;
{
register ptr gf←c96900 = (ptr) &globalframe;
word rope←v8472;
/* ClusterDescribe: */
SOURCE(10633, 122)
SOURCE(10633, 122)
rope←v8472 = 0;
SOURCE(10711, 44)
{
word pd111;
pd111 = (* (( (ptr) (* (( (ptr) gf←c96900)+204)/* var←c91588 */ ))+18) );
return((word) ( *( (fPt) ((* (ptr) pd111 ))))(sliceD←v8428, (* (( (ptr) gf←c96900)+68) ), pd111));
};
}
static word ClusterCopy←P420(slice←v8532, parts←v8560)
word slice←v8532;
word parts←v8560;
{
W7 var←c96932;
register ptr gf←c96964 = (ptr) &globalframe;
word copy←v8604;
/* declaration of var←c92292 skipped */
word outlineParts←v18752;
word oldData←v18780;
/* declaration of oldClusterData←v18808 skipped */
/* ClusterCopy: */
SOURCE(10760, 567)
{
word tmpAddr112;
tmpAddr112 = (word) (( (ptr) &var←c96932)+4)/* var←c92292 */ ;
(* (ptr) tmpAddr112 ) = ( ((word) (fPt) DoCreateCluster←P3924) );
(* (( (ptr) tmpAddr112) + 1) ) = 1;
};
SOURCE(10760, 567)
copy←v8604 = 0;
SOURCE(11137, 42)
outlineParts←v18752 = XR←Narrow(parts←v8560, (* (( (ptr) gf←c96964)+21) ));
SOURCE(11181, 41)
oldData←v18780 = XR←Narrow((* (( (ptr) slice←v8532)+1) ), (* (( (ptr) gf←c96964)+13) ));
SOURCE(11224, 58)
var←c96932.f6/* oldClusterData←v18808 */ = XR←Narrow((* (( (ptr) oldData←v18780)+8) ), (* (( (ptr) gf←c96964)+16) ));
SOURCE(11285, 42)
copy←v8604 = (word) Copy←P1020(slice←v8532, parts←v8560, (word) (( (bPt) &var←c96932)+16)/* var←c92292 */ );
SOURCE(10760, 567)
return(copy←v8604);
}
static word DoCreateCluster←P3924(newSlice←v18884, formal←c97028)
word newSlice←v18884;
word formal←c97028;
{
register ptr gf←c96996 = (ptr) &globalframe;
word parent←v18928;
word newData←v18956 = 0;
formal←c97028 = (formal←c97028 - 16);
/* DoCreateCluster: */
SOURCE(10852, 280)
SOURCE(10852, 280)
parent←v18928 = 0;
SOURCE(10942, 32)
{
word pd113;
pd113 = (* (( (ptr) (* (( (ptr) gf←c96996)+205)/* var←c91620 */ ))+10) );
parent←v18928 = (word) ( *( (fPt) ((* (ptr) pd113 ))))(1, pd113);
};
SOURCE(10976, 47)
{
word pd114;
pd114 = (* (( (ptr) (* (( (ptr) gf←c96996)+205)/* var←c91620 */ ))+11) );
(void) ( *( (fPt) ((* (ptr) pd114 ))))(parent←v18928, newSlice←v18884, (word) -1, pd114);
};
SOURCE(11025, 29)
newData←v18956 = XR←Narrow((* (( (ptr) parent←v18928)+1) ), (* (( (ptr) gf←c96996)+13) ));
SOURCE(11056, 76)
{
word var←c92324;
var←c92324 = XR←NewObject(4, (* (( (ptr) gf←c96996)+16) ));
(* (ptr) var←c92324 ) = (* (ptr) (* (( (ptr) formal←c97028)+6) ) );
(* (( (ptr) newData←v18956)+8) ) = var←c92324;
};
SOURCE(10852, 280)
return(parent←v18928);
}
static void ClusterDrawSelectionFeedback←P480(slice←v8748, selectedParts←v8776, hotParts←v8804, dc←v8832, camera←v8860, dragInProgress←v8888, caretIsMoving←v8916, hideHot←v8944, quick←v8972)
word slice←v8748;
word selectedParts←v8776;
word hotParts←v8804;
word dc←v8832;
word camera←v8860;
word dragInProgress←v8888;
word caretIsMoving←v8916;
word hideHot←v8944;
word quick←v8972;
{
register ptr gf←c97060 = (ptr) &globalframe;
word slowNormal←v19000 = 0;
word slowHot←v19028 = 0;
word completeNormal←v19056 = 0;
word completeHot←v19084 = 0;
word normalOutlineParts←v19112;
word hotOutlineParts←v19140;
word boxDrawn←v19168 = 0;
/* ClusterDrawSelectionFeedback: */
SOURCE(11333, 1575)
SOURCE(11596, 56)
normalOutlineParts←v19112 = XR←Narrow(selectedParts←v8776, (* (( (ptr) gf←c97060)+21) ));
SOURCE(11654, 48)
hotOutlineParts←v19140 = XR←Narrow(hotParts←v8804, (* (( (ptr) gf←c97060)+21) ));
SOURCE(11729, 46)
if (((0 != caretIsMoving←v8916) || (0 != dragInProgress←v8888))) {
SOURCE(11769, 6)
return;
};
SOURCE(11777, 49)
if ( ( (selectedParts←v8776 == 0) ? (hotParts←v8804 == 0) : 0 ) ) {
SOURCE(11820, 6)
return;
};
SOURCE(11829, 74)
if ((normalOutlineParts←v19112 != 0)) {
completeNormal←v19056 = (unsigned) (0 != (word) IsComplete←P2640(normalOutlineParts←v19112));
}
else {
completeNormal←v19056 = (unsigned) 0;
};
SOURCE(11905, 65)
if ((hotOutlineParts←v19140 != 0)) {
completeHot←v19084 = (unsigned) (0 != (word) IsComplete←P2640(hotOutlineParts←v19140));
}
else {
completeHot←v19084 = (unsigned) 0;
};
SOURCE(11972, 65)
if ((selectedParts←v8776 != 0)) {
if ((0 == quick←v8972)) {
slowNormal←v19000 = (unsigned) 1;
}
else {
slowNormal←v19000 = (unsigned) (0 == completeNormal←v19056);
};
}
else {
slowNormal←v19000 = (unsigned) 0;
};
SOURCE(12039, 54)
if ((hotParts←v8804 != 0)) {
if ((0 == quick←v8972)) {
slowHot←v19028 = (unsigned) 1;
}
else {
slowHot←v19028 = (unsigned) (0 == completeHot←v19084);
};
}
else {
slowHot←v19028 = (unsigned) 0;
};
SOURCE(12096, 121)
{
word pd115;
pd115 = (* (( (ptr) (* (( (ptr) gf←c97060)+204)/* var←c91588 */ ))+12) );
(void) ( *( (fPt) ((* (ptr) pd115 ))))(slice←v8748, selectedParts←v8776, hotParts←v8804, dc←v8832, camera←v8860, dragInProgress←v8888
, caretIsMoving←v8916, hideHot←v8944, quick←v8972, pd115);
};
SOURCE(12219, 249)
if ( ( (0 == slowNormal←v19000) ? (0 != completeNormal←v19056) : 0 ) ) {
SOURCE(12261, 209)
{
word boundBox←v19212;
SOURCE(12263, 44)
boundBox←v19212 = (word) GetBoundBox←P780(slice←v8748, 0);
SOURCE(12309, 51)
{
word pd116;
pd116 = (* (( (ptr) (* (( (ptr) gf←c97060)+209)/* var←c92356 */ ))+6) );
(void) ( *( (fPt) ((* (ptr) pd116 ))))(dc←v8832, boundBox←v19212, (* (( (ptr) camera←v8860)+4) ), pd116);
};
SOURCE(12362, 89)
{
W2 var←c92388;
var←c92388.f0 = (* (ptr) boundBox←v19212 );
var←c92388.f1 = (* (( (ptr) boundBox←v19212)+1) );
{
word pd117;
pd117 = (* (( (ptr) (* (( (ptr) gf←c97060)+209)/* var←c92356 */ ))+21) );
(void) ( *( (fPt) ((* (ptr) pd117 ))))(dc←v8832, var←c92388, 0, (* (( (ptr) camera←v8860)+4) ), pd117);
};
};
SOURCE(12453, 15)
boxDrawn←v19168 = 1;
};
};
SOURCE(12473, 240)
if ( ( (0 == slowHot←v19028) ? (0 != completeHot←v19084) : 0 ) ) {
SOURCE(12509, 206)
{
word boundBox←v19256;
SOURCE(12511, 44)
boundBox←v19256 = (word) GetBoundBox←P780(slice←v8748, 0);
SOURCE(12557, 51)
{
word pd118;
pd118 = (* (( (ptr) (* (( (ptr) gf←c97060)+209)/* var←c92356 */ ))+6) );
(void) ( *( (fPt) ((* (ptr) pd118 ))))(dc←v8832, boundBox←v19256, (* (( (ptr) camera←v8860)+4) ), pd118);
};
SOURCE(12610, 86)
{
W2 var←c92420;
var←c92420.f0 = (* (ptr) boundBox←v19256 );
var←c92420.f1 = (* (( (ptr) boundBox←v19256)+1) );
{
word pd119;
pd119 = (* (( (ptr) (* (( (ptr) gf←c97060)+209)/* var←c92356 */ ))+21) );
(void) ( *( (fPt) ((* (ptr) pd119 ))))(dc←v8832, var←c92420, 1, (* (( (ptr) camera←v8860)+4) ), pd119);
};
};
SOURCE(12698, 15)
boxDrawn←v19168 = 1;
};
};
SOURCE(12718, 190)
if ( ( (0 == boxDrawn←v19168) ? ( (0 == (word) IsEmpty←P2520(normalOutlineParts←v19112)) ? 1 : (0 == (word) IsEmpty←P2520(
hotOutlineParts←v19140)) ) : 0 ) ) {
SOURCE(12809, 101)
{
word boundBox←v19300;
SOURCE(12811, 44)
boundBox←v19300 = (word) GetBoundBox←P780(slice←v8748, 0);
SOURCE(12857, 51)
{
word pd120;
pd120 = (* (( (ptr) (* (( (ptr) gf←c97060)+209)/* var←c92356 */ ))+6) );
(void) ( *( (fPt) ((* (ptr) pd120 ))))(dc←v8832, boundBox←v19300, (* (( (ptr) camera←v8860)+4) ), pd120);
};
};
};
}
static void ClusterFileout←P540(slice←v9032, f←v9060)
word slice←v9032;
word f←v9060;
{
register ptr gf←c97092 = (ptr) &globalframe;
word outlineData←v19344;
word clusterData←v19372;
/* ClusterFileout: */
SOURCE(12917, 282)
SOURCE(12978, 45)
outlineData←v19344 = XR←Narrow((* (( (ptr) slice←v9032)+1) ), (* (( (ptr) gf←c97092)+13) ));
SOURCE(13025, 59)
clusterData←v19372 = XR←Narrow((* (( (ptr) outlineData←v19344)+8) ), (* (( (ptr) gf←c97092)+16) ));
SOURCE(13086, 21)
{
word pd121;
pd121 = (* (( (ptr) (* (( (ptr) gf←c97092)+210)/* var←c92452 */ ))+93) );
(void) ( *( (fPt) ((* (ptr) pd121 ))))(f←v9060, (* (( (ptr) gf←c97092)+67) ), 0, 2147483647, pd121);
};
SOURCE(13109, 43)
{
word pd122;
pd122 = (* (( (ptr) (* (( (ptr) gf←c97092)+211)/* var←c92484 */ ))+15) );
(void) ( *( (fPt) ((* (ptr) pd122 ))))(f←v9060, (* (ptr) clusterData←v19372 ), pd122);
};
SOURCE(13155, 16)
{
word pd123;
pd123 = (* (( (ptr) (* (( (ptr) gf←c97092)+210)/* var←c92452 */ ))+21) );
(void) ( *( (fPt) ((* (ptr) pd123 ))))(f←v9060, 10, pd123);
};
SOURCE(13173, 26)
{
word pd124;
pd124 = (* (( (ptr) (* (( (ptr) gf←c97092)+204)/* var←c91588 */ ))+20) );
(void) ( *( (fPt) ((* (ptr) pd124 ))))(slice←v9032, f←v9060, pd124);
};
}
static word ClusterFilein←P600(f←v9120, version←v9148, router←v9176, camera←v9204)
word f←v9120;
word version←v9148;
word router←v9176;
word camera←v9204;
{
register ptr gf←c97124 = (ptr) &globalframe;
word slice←v9248;
word frozen←v19416 = 1;
word childList←v19444 = 0;
/* ClusterFilein: */
SOURCE(13205, 367)
SOURCE(13205, 367)
slice←v9248 = 0;
SOURCE(13371, 32)
{
word pd125;
pd125 = (* (( (ptr) (* (( (ptr) gf←c97124)+212)/* var←c92516 */ ))+9) );
(void) ( *( (fPt) ((* (ptr) pd125 ))))(f←v9120, (* (( (ptr) gf←c97124)+66) ), pd125);
};
SOURCE(13405, 30)
{
word pd126;
pd126 = (* (( (ptr) (* (( (ptr) gf←c97124)+212)/* var←c92516 */ ))+24) );
frozen←v19416 = (word) ( *( (fPt) ((* (ptr) pd126 ))))(f←v9120, pd126);
};
SOURCE(13437, 55)
{
word pd127;
pd127 = (* (( (ptr) (* (( (ptr) gf←c97124)+204)/* var←c91588 */ ))+21) );
childList←v19444 = (word) ( *( (fPt) ((* (ptr) pd127 ))))(f←v9120, version←v9148, router←v9176, camera←v9204, pd127);
};
SOURCE(13494, 78)
if ((childList←v19444 != 0)) {
SOURCE(13516, 56)
slice←v9248 = (word) ClusterFromChildList←P240(childList←v19444, frozen←v19416, version←v9148);
};
SOURCE(13205, 367)
return(slice←v9248);
}
static void ClusterMovingParts←P660(formal←c0186, slice←v9308, selectedParts←v9336, editConstraints←v9364, bezierDrag←v9392)
word formal←c0186;
word slice←v9308;
word selectedParts←v9336;
word editConstraints←v9364;
W5 bezierDrag←v9392;
{
register ptr gf←c97156 = (ptr) &globalframe;
word background←v9436;
word overlay←v9464;
word rubber←v9492;
word drag←v9520;
word outlineData←v19572;
/* ClusterMovingParts: */
SOURCE(13578, 344)
SOURCE(13578, 344)
background←v9436 = 0;
SOURCE(13578, 344)
overlay←v9464 = 0;
SOURCE(13578, 344)
rubber←v9492 = 0;
SOURCE(13578, 344)
drag←v9520 = 0;
SOURCE(13791, 45)
outlineData←v19572 = XR←Narrow((* (( (ptr) slice←v9308)+1) ), (* (( (ptr) gf←c97156)+13) ));
SOURCE(13838, 84)
{
W4 var←c92548;
{
word pd128;
pd128 = (* (( (ptr) (* (( (ptr) gf←c97156)+204)/* var←c91588 */ ))+27) );
(void) ( *( (fPt) ((* (ptr) pd128 ))))((word) &var←c92548, slice←v9308, selectedParts←v9336, 1, editConstraints←v9364, bezierDrag←v9392, pd128)
;
};
background←v9436 = var←c92548.f0;
overlay←v9464 = var←c92548.f1;
rubber←v9492 = var←c92548.f2;
drag←v9520 = var←c92548.f3;
/* removed tail goto */
};
(* (ptr) formal←c0186 ) = background←v9436;
(* (( (ptr) formal←c0186)+1) ) = overlay←v9464;
(* (( (ptr) formal←c0186)+2) ) = rubber←v9492;
(* (( (ptr) formal←c0186)+3) ) = drag←v9520;
return;
}
static void Unlink←P720(slice←v9580)
word slice←v9580;
{
register ptr gf←c97188 = (ptr) &globalframe;
/* Unlink: */
SOURCE(13929, 376)
SOURCE(13968, 337)
if (((* (( (ptr) slice←v9580)+1) ) != 0)) {
SOURCE(13991, 316)
{
word outlineData←v19616;
SOURCE(13993, 45)
outlineData←v19616 = XR←Narrow((* (( (ptr) slice←v9580)+1) ), (* (( (ptr) gf←c97188)+13) ));
SOURCE(14040, 26)
{
word pd129;
pd129 = (* (( (ptr) (* (( (ptr) gf←c97188)+205)/* var←c91620 */ ))+71) );
(void) ( *( (fPt) ((* (ptr) pd129 ))))(slice←v9580, pd129);
};
SOURCE(14068, 158)
{
register word childList←v19660;
childList←v19660 = (* (( (ptr) outlineData←v19616)+4) );
lab←L100016: ;
if ((childList←v19660 != 0)) {
}
else {
goto lab←L100013;
};
SOURCE(14159, 67)
if (((* (( (ptr) (* (ptr) childList←v19660 ))+1) ) != 0)) {
SOURCE(14192, 34)
{
word pd130;
pd130 = (* (( (ptr) (* (( (ptr) gf←c97188)+207)/* var←c91876 */ ))+12) );
(void) ( *( (fPt) ((* (ptr) pd130 ))))((* (ptr) (childList←v19660) ), pd130);
};
};
childList←v19660 = (* (( (ptr) childList←v19660)+1) );
goto lab←L100016;
lab←L100013: ;
};
SOURCE(14279, 26)
(* (( (ptr) outlineData←v19616)+4) ) = 0;
};
};
}
static word GetBoundBox←P780(slice←v9640, parts←v9668)
word slice←v9640;
word parts←v9668;
{
register ptr gf←c97220 = (ptr) &globalframe;
word box←v9712;
/* GetBoundBox: */
SOURCE(14314, 1053)
SOURCE(14314, 1053)
box←v9712 = 0;
SOURCE(14401, 966)
if ( ( (0 != (* (( (ptr) slice←v9640)+16) )) ? (parts←v9668 == 0) : 0 ) ) {
SOURCE(14438, 41)
return((* (( (ptr) slice←v9640)+15) ));
}
else {
SOURCE(14479, 893)
{
word outlineParts←v19788;
word outlineData←v19816;
word boundBoxList←v19844 = 0;
word thisBoundBox←v19872 = 0;
SOURCE(14481, 42)
outlineParts←v19788 = XR←Narrow(parts←v9668, (* (( (ptr) gf←c97220)+21) ));
SOURCE(14525, 45)
outlineData←v19816 = XR←Narrow((* (( (ptr) slice←v9640)+1) ), (* (( (ptr) gf←c97220)+13) ));
SOURCE(14628, 497)
if ((parts←v9668 == 0)) {
SOURCE(14648, 196)
{
register word childList←v20000;
childList←v20000 = (* (( (ptr) outlineData←v19816)+4) );
lab←L100020: ;
if ((childList←v20000 != 0)) {
}
else {
goto lab←L100017;
};
SOURCE(14741, 54)
{
word pd131;
pd131 = (* (( (ptr) (* (( (ptr) gf←c97220)+207)/* var←c91876 */ ))+7) );
thisBoundBox←v19872 = (word) ( *( (fPt) ((* (ptr) pd131 ))))((* (ptr) childList←v20000 ), 0, pd131);
};
SOURCE(14797, 47)
{
word var←c92580;
var←c92580 = XR←NewObject(8, (* (( (ptr) gf←c97220)+24) ));
(* (ptr) var←c92580 ) = thisBoundBox←v19872;
(* (( (ptr) var←c92580)+1) ) = boundBoxList←v19844;
boundBoxList←v19844 = var←c92580;
};
childList←v20000 = (* (( (ptr) childList←v20000)+1) );
goto lab←L100020;
lab←L100017: ;
};
}
else {
SOURCE(14859, 266)
{
register word list←v20128;
list←v20128 = (* (ptr) outlineParts←v19788 );
lab←L100024: ;
if ((list←v20128 != 0)) {
}
else {
goto lab←L100021;
};
SOURCE(14951, 174)
if (((* (ptr) list←v20128 ) != 0)) {
SOURCE(14976, 73)
{
word pd132;
pd132 = (* (( (ptr) (* (( (ptr) gf←c97220)+207)/* var←c91876 */ ))+7) );
thisBoundBox←v19872 = (word) ( *( (fPt) ((* (ptr) pd132 ))))((* (ptr) (* (ptr) list←v20128 ) ), (* (( (ptr) (* (ptr) list←v20128 ))+1)
), pd132);
};
SOURCE(15051, 74)
if ((thisBoundBox←v19872 != 0)) {
SOURCE(15078, 47)
{
word var←c92612;
var←c92612 = XR←NewObject(8, (* (( (ptr) gf←c97220)+24) ));
(* (ptr) var←c92612 ) = thisBoundBox←v19872;
(* (( (ptr) var←c92612)+1) ) = boundBoxList←v19844;
boundBoxList←v19844 = var←c92612;
};
};
};
list←v20128 = (* (( (ptr) list←v20128)+1) );
goto lab←L100024;
lab←L100021: ;
};
};
SOURCE(15139, 46)
{
word pd133;
pd133 = (* (( (ptr) (* (( (ptr) gf←c97220)+206)/* var←c91780 */ ))+8) );
box←v9712 = (word) ( *( (fPt) ((* (ptr) pd133 ))))(boundBoxList←v19844, pd133);
};
SOURCE(15187, 180)
if ((parts←v9668 == 0)) {
SOURCE(15254, 38)
{
word pd134;
pd134 = (* (( (ptr) (* (( (ptr) gf←c97220)+205)/* var←c91620 */ ))+69) );
(void) ( *( (fPt) ((* (ptr) pd134 ))))((* ((( (ptr) slice←v9640)+2)) ), pd134);
};
SOURCE(15324, 20)
(* (( (ptr) slice←v9640)+15) ) = box←v9712;
SOURCE(15346, 21)
(* (( (ptr) slice←v9640)+16) ) = 1;
};
};
};
SOURCE(14314, 1053)
return(box←v9712);
}
static word GetTransformedBoundBox←P840(slice←v9772, selectedParts←v9800, movingParts←v9828, transform←v9856)
word slice←v9772;
word selectedParts←v9800;
word movingParts←v9828;
word transform←v9856;
{
register ptr gf←c97252 = (ptr) &globalframe;
word box←v9900;
/* GetTransformedBoundBox: */
SOURCE(15379, 1324)
SOURCE(15379, 1324)
box←v9900 = 0;
SOURCE(15543, 1160)
if ( ( (0 != (* (( (ptr) slice←v9772)+16) )) ? (selectedParts←v9800 == 0) : 0 ) ) {
SOURCE(15588, 83)
{
word pd135;
pd135 = (* (( (ptr) (* (( (ptr) gf←c97252)+206)/* var←c91780 */ ))+9) );
return((word) ( *( (fPt) ((* (ptr) pd135 ))))((* (( (ptr) slice←v9772)+15) ), transform←v9856, pd135));
};
}
else {
SOURCE(15671, 1034)
{
word outlineSelectedParts←v20256;
word outlineMovingParts←v20284;
word outlineData←v20312;
word boundBoxList←v20340 = 0;
word thisBoundBox←v20368 = 0;
SOURCE(15673, 58)
outlineSelectedParts←v20256 = XR←Narrow(selectedParts←v9800, (* (( (ptr) gf←c97252)+21) ));
SOURCE(15733, 54)
outlineMovingParts←v20284 = XR←Narrow(movingParts←v9828, (* (( (ptr) gf←c97252)+21) ));
SOURCE(15789, 45)
outlineData←v20312 = XR←Narrow((* (( (ptr) slice←v9772)+1) ), (* (( (ptr) gf←c97252)+13) ));
SOURCE(15892, 751)
if ((selectedParts←v9800 == 0)) {
SOURCE(15920, 228)
{
register word childList←v20496;
childList←v20496 = (* (( (ptr) outlineData←v20312)+4) );
lab←L100028: ;
if ((childList←v20496 != 0)) {
}
else {
goto lab←L100025;
};
SOURCE(16013, 86)
{
word pd136;
pd136 = (* (( (ptr) (* (( (ptr) gf←c97252)+207)/* var←c91876 */ ))+8) );
thisBoundBox←v20368 = (word) ( *( (fPt) ((* (ptr) pd136 ))))((* (ptr) childList←v20496 ), 0, 0, transform←v9856, pd136)
;
};
SOURCE(16101, 47)
{
word var←c92676;
var←c92676 = XR←NewObject(8, (* (( (ptr) gf←c97252)+24) ));
(* (ptr) var←c92676 ) = thisBoundBox←v20368;
(* (( (ptr) var←c92676)+1) ) = boundBoxList←v20340;
boundBoxList←v20340 = var←c92676;
};
childList←v20496 = (* (( (ptr) childList←v20496)+1) );
goto lab←L100028;
lab←L100025: ;
};
}
else {
SOURCE(16163, 491)
{
word nextMovingList←v20624;
SOURCE(16165, 16)
nextMovingList←v20624 = (* (ptr) outlineMovingParts←v20284 );
SOURCE(16239, 404)
{
register word list←v20752;
list←v20752 = (* (ptr) outlineSelectedParts←v20256 );
lab←L100032: ;
if ((list←v20752 != 0)) {
}
else {
goto lab←L100029;
};
{
word nextMovingD←v20880;
SOURCE(16339, 51)
nextMovingD←v20880 = (* (ptr) nextMovingList←v20624 );
SOURCE(16414, 188)
if (((* (ptr) list←v20752 ) != 0)) {
SOURCE(16439, 114)
{
word pd137;
pd137 = (* (( (ptr) (* (( (ptr) gf←c97252)+207)/* var←c91876 */ ))+8) );
thisBoundBox←v20368 = (word) ( *( (fPt) ((* (ptr) pd137 ))))((* (ptr) (* (ptr) list←v20752 ) ), (* (( (ptr) (* (ptr) list←v20752 ))+1)
/*1*/ ), (* (( (ptr) nextMovingD←v20880)+1) ), transform←v9856, pd137);
};
SOURCE(16555, 47)
{
word var←c92708;
var←c92708 = XR←NewObject(8, (* (( (ptr) gf←c97252)+24) ));
(* (ptr) var←c92708 ) = thisBoundBox←v20368;
(* (( (ptr) var←c92708)+1) ) = boundBoxList←v20340;
boundBoxList←v20340 = var←c92708;
};
};
SOURCE(16607, 36)
nextMovingList←v20624 = (* (( (ptr) nextMovingList←v20624)+1) );
};
list←v20752 = (* (( (ptr) list←v20752)+1) );
goto lab←L100032;
lab←L100029: ;
};
};
};
SOURCE(16657, 46)
{
word pd138;
pd138 = (* (( (ptr) (* (( (ptr) gf←c97252)+206)/* var←c91780 */ ))+8) );
box←v9900 = (word) ( *( (fPt) ((* (ptr) pd138 ))))(boundBoxList←v20340, pd138);
};
};
};
SOURCE(15379, 1324)
return(box←v9900);
}
static word GetTightBox←P900(slice←v9960, parts←v9988)
word slice←v9960;
word parts←v9988;
{
register ptr gf←c97284 = (ptr) &globalframe;
word box←v10032;
/* GetTightBox: */
SOURCE(16712, 1036)
SOURCE(16712, 1036)
box←v10032 = 0;
SOURCE(16799, 949)
if ( ( (0 != (* (( (ptr) slice←v9960)+14) )) ? (parts←v9988 == 0) : 0 ) ) {
SOURCE(16841, 41)
return((* (( (ptr) slice←v9960)+13) ));
}
else {
SOURCE(16882, 871)
{
word outlineParts←v20924;
word outlineData←v20952;
word boundBoxList←v20980 = 0;
word thisBoundBox←v21008 = 0;
SOURCE(16884, 42)
outlineParts←v20924 = XR←Narrow(parts←v9988, (* (( (ptr) gf←c97284)+21) ));
SOURCE(16928, 45)
outlineData←v20952 = XR←Narrow((* (( (ptr) slice←v9960)+1) ), (* (( (ptr) gf←c97284)+13) ));
SOURCE(17031, 470)
if ((parts←v9988 == 0)) {
SOURCE(17051, 196)
{
register word childList←v21136;
childList←v21136 = (* (( (ptr) outlineData←v20952)+4) );
lab←L100036: ;
if ((childList←v21136 != 0)) {
}
else {
goto lab←L100033;
};
SOURCE(17144, 54)
{
word pd139;
pd139 = (* (( (ptr) (* (( (ptr) gf←c97284)+207)/* var←c91876 */ ))+9) );
thisBoundBox←v21008 = (word) ( *( (fPt) ((* (ptr) pd139 ))))((* (ptr) childList←v21136 ), 0, pd139);
};
SOURCE(17200, 47)
{
word var←c92740;
var←c92740 = XR←NewObject(8, (* (( (ptr) gf←c97284)+24) ));
(* (ptr) var←c92740 ) = thisBoundBox←v21008;
(* (( (ptr) var←c92740)+1) ) = boundBoxList←v20980;
boundBoxList←v20980 = var←c92740;
};
childList←v21136 = (* (( (ptr) childList←v21136)+1) );
goto lab←L100036;
lab←L100033: ;
};
}
else {
SOURCE(17262, 239)
{
register word list←v21264;
list←v21264 = (* (ptr) outlineParts←v20924 );
lab←L100040: ;
if ((list←v21264 != 0)) {
}
else {
goto lab←L100037;
};
SOURCE(17354, 147)
if (((* (ptr) list←v21264 ) != 0)) {
SOURCE(17379, 73)
{
word pd140;
pd140 = (* (( (ptr) (* (( (ptr) gf←c97284)+207)/* var←c91876 */ ))+9) );
thisBoundBox←v21008 = (word) ( *( (fPt) ((* (ptr) pd140 ))))((* (ptr) (* (ptr) list←v21264 ) ), (* (( (ptr) (* (ptr) list←v21264 ))+1)
), pd140);
};
SOURCE(17454, 47)
{
word var←c92772;
var←c92772 = XR←NewObject(8, (* (( (ptr) gf←c97284)+24) ));
(* (ptr) var←c92772 ) = thisBoundBox←v21008;
(* (( (ptr) var←c92772)+1) ) = boundBoxList←v20980;
boundBoxList←v20980 = var←c92772;
};
};
list←v21264 = (* (( (ptr) list←v21264)+1) );
goto lab←L100040;
lab←L100037: ;
};
};
SOURCE(17515, 46)
{
word pd141;
pd141 = (* (( (ptr) (* (( (ptr) gf←c97284)+206)/* var←c91780 */ ))+8) );
box←v10032 = (word) ( *( (fPt) ((* (ptr) pd141 ))))(boundBoxList←v20980, pd141);
};
SOURCE(17563, 185)
if ((parts←v9988 == 0)) {
SOURCE(17630, 38)
{
word pd142;
pd142 = (* (( (ptr) (* (( (ptr) gf←c97284)+205)/* var←c91620 */ ))+70) );
(void) ( *( (fPt) ((* (ptr) pd142 ))))((* ((( (ptr) slice←v9960)+2)) ), pd142);
};
SOURCE(17700, 20)
(* (( (ptr) slice←v9960)+13) ) = box←v10032;
SOURCE(17722, 26)
(* (( (ptr) slice←v9960)+14) ) = 1;
};
};
};
SOURCE(16712, 1036)
return(box←v10032);
}
static word OutlineCopy←P960(slice←v10092, parts←v10120)
word slice←v10092;
word parts←v10120;
{
W7 var←c97316;
register ptr gf←c97348 = (ptr) &globalframe;
word copy←v10164;
/* declaration of var←c92804 skipped */
/* declaration of oldData←v21420 skipped */
word oldParts←v21448;
/* OutlineCopy: */
SOURCE(17760, 697)
{
word tmpAddr143;
tmpAddr143 = (word) (( (ptr) &var←c97316)+4)/* var←c92804 */ ;
(* (ptr) tmpAddr143 ) = ( ((word) (fPt) DoCreateOutline←P4752) );
(* (( (ptr) tmpAddr143) + 1) ) = 1;
};
SOURCE(17760, 697)
copy←v10164 = 0;
SOURCE(18175, 41)
var←c97316.f6/* oldData←v21420 */ = XR←Narrow((* (( (ptr) slice←v10092)+1) ), (* (( (ptr) gf←c97348)+13) ));
SOURCE(18218, 38)
oldParts←v21448 = XR←Narrow(parts←v10120, (* (( (ptr) gf←c97348)+21) ));
SOURCE(18258, 42)
copy←v10164 = (word) Copy←P1020(slice←v10092, parts←v10120, (word) (( (bPt) &var←c97316)+16)/* var←c92804 */ );
SOURCE(18302, 155)
if ((parts←v10120 == 0) || (0 != (word) IsComplete←P2640(oldParts←v21448))) {
SOURCE(18380, 77)
{
word pd144;
pd144 = (* (( (ptr) (* (( (ptr) gf←c97348)+208)/* var←c91972 */ ))+12) );
(void) ( *( (fPt) ((* (ptr) pd144 ))))((* (ptr) copy←v10164 ), (* (( (ptr) var←c97316.f6/* oldData←v21420 */ )+2) ), (* (
( (ptr) var←c97316.f6/* oldData←v21420 */ )+3) ), 0, pd144);
};
};
SOURCE(17760, 697)
return(copy←v10164);
}
static word DoCreateOutline←P4752(newSlice←v21524, formal←c97412)
word newSlice←v21524;
word formal←c97412;
{
register ptr gf←c97380 = (ptr) &globalframe;
word parent←v21568;
word newData←v21596 = 0;
formal←c97412 = (formal←c97412 - 16);
/* DoCreateOutline: */
SOURCE(17852, 318)
SOURCE(17852, 318)
parent←v21568 = 0;
SOURCE(17942, 82)
{
word var←c92836;
{
word pd145;
pd145 = (* (( (ptr) (* (( (ptr) gf←c97380)+213)/* var←c92868 */ ))+38) );
var←c92836 = (word) ( *( (fPt) ((* (ptr) pd145 ))))((* ((( (ptr) (* (( (ptr) formal←c97412)+6) ))+1)) ), pd145);
};
{
word pd146;
pd146 = (* (( (ptr) (* (( (ptr) gf←c97380)+208)/* var←c91972 */ ))+5) );
parent←v21568 = (word) ( *( (fPt) ((* (ptr) pd146 ))))(newSlice←v21524, var←c92836, pd146);
};
};
SOURCE(18026, 29)
newData←v21596 = XR←Narrow((* (( (ptr) parent←v21568)+1) ), (* (( (ptr) gf←c97380)+13) ));
SOURCE(18057, 33)
(* (ptr) newData←v21596 ) = (* (ptr) (* (( (ptr) formal←c97412)+6) ) );
SOURCE(18092, 35)
(* (( (ptr) newData←v21596)+2) ) = (* (( (ptr) (* (( (ptr) formal←c97412)+6) ))+2) );
SOURCE(18129, 41)
(* (( (ptr) newData←v21596)+3) ) = (* (( (ptr) (* (( (ptr) formal←c97412)+6) ))+3) );
SOURCE(17852, 318)
return(parent←v21568);
}
static word Copy←P1020(formal←c0941, parts←v10336, formal←c0942)
word formal←c0941;
word parts←v10336;
word formal←c0942;
{
W19 var←c97444;
/* declaration of slice←v10308 skipped */
/* declaration of create←v10364 skipped */
register ptr gf←c97476 = (ptr) &globalframe;
/* declaration of copy←v10512 skipped */
/* declaration of var←c92900 skipped */
/* declaration of var←c92932 skipped */
/* declaration of var←c92964 skipped */
/* declaration of newParent←v21640 skipped */
/* declaration of newSlice←v21668 skipped */
word oldData←v21696 = 0;
/* declaration of newData←v21724 skipped */
/* declaration of ptr←v21752 skipped */
/* declaration of holeList←v21780 skipped */
word outlineParts←v21808;
(* (( (ptr) &var←c97444)+4)/* slice←v10308 */ ) = formal←c0941;
(* (( (ptr) &var←c97444)+5)/* create←v10364 */ ) = formal←c0942;
/* Copy: */
SOURCE(18466, 2535)
{
word tmpAddr147;
tmpAddr147 = (word) (( (ptr) &var←c97444)+7)/* var←c92900 */ ;
(* (ptr) tmpAddr147 ) = ( ((word) (fPt) VisitChild←P5028) );
(* (( (ptr) tmpAddr147) + 1) ) = 1;
};
{
word tmpAddr148;
tmpAddr148 = (word) (( (ptr) &var←c97444)+9)/* var←c92932 */ ;
(* (ptr) tmpAddr148 ) = ( ((word) (fPt) CopyWholeTraj←P4968) );
(* (( (ptr) tmpAddr148) + 1) ) = 1;
};
{
word tmpAddr149;
tmpAddr149 = (word) (( (ptr) &var←c97444)+11)/* var←c92964 */ ;
(* (ptr) tmpAddr149 ) = ( ((word) (fPt) AddChild←P4860) );
(* (( (ptr) tmpAddr149) + 1) ) = 1;
};
SOURCE(18466, 2535)
(* (( (ptr) &var←c97444)+6)/* copy←v10512 */ ) = 0;
SOURCE(18614, 26)
(* (( (ptr) &var←c97444)+13)/* newParent←v21640 */ ) = 0;
(* (( (ptr) &var←c97444)+14)/* newSlice←v21668 */ ) = 0;
SOURCE(18642, 29)
(* (( (ptr) &var←c97444)+15)/* newData←v21724 */ ) = 0;
SOURCE(18673, 15)
(* (( (ptr) &var←c97444)+16)/* ptr←v21752 */ ) = 0;
(* (( (ptr) &var←c97444)+17)/* holeList←v21780 */ ) = 0;
SOURCE(18703, 42)
outlineParts←v21808 = XR←Narrow(parts←v10336, (* (( (ptr) gf←c97476)+21) ));
SOURCE(18748, 2253)
if ((parts←v10336 == 0) || (0 != (word) IsComplete←P2640(outlineParts←v21808))) {
SOURCE(18794, 624)
SOURCE(19171, 28)
oldData←v21696 = XR←Narrow((* (( (ptr) (* (( (ptr) &var←c97444)+4)/* slice←v10308 */ ))+1) ), (* (( (ptr) gf←c97476)+13)
));
SOURCE(19201, 44)
{
W2 var←c93028;
{
word pd150;
pd150 = (* (( (ptr) (* (( (ptr) gf←c97476)+214)/* var←c92996 */ ))+20) );
(void) ( *( (fPt) ((* (ptr) pd150 ))))((word) (&var←c93028), pd150);
};
(* (( (ptr) &var←c97444)+16)/* ptr←v21752 */ ) = var←c93028.f1;
(* (( (ptr) &var←c97444)+17)/* holeList←v21780 */ ) = var←c93028.f0;
};
SOURCE(19247, 50)
{
word var←c93060;
word pd151;
pd151 = (* (( (ptr) (* (( (ptr) gf←c97476)+204)/* var←c91588 */ ))+73) );
var←c93060 = (word) ( *( (fPt) ((* (ptr) pd151 ))))((* (( (ptr) &var←c97444)+4)/* slice←v10308 */ ), 0, (word) (( (bPt) &var←c97444)+44)
/* var←c92964 */ , 0, pd151);
};
SOURCE(19299, 93)
if (((* (( (ptr) &var←c97444)+17)/* holeList←v21780 */ ) != 0)) {
SOURCE(19320, 72)
{
word pd152;
pd152 = (* (( (ptr) (* (( (ptr) gf←c97476)+214)/* var←c92996 */ ))+22) );
(* (( (ptr) (* (( (ptr) &var←c97444)+15)/* newData←v21724 */ ))+4) ) = (word) ( *( (fPt) ((* (ptr) pd152 ))))((* (( (ptr) (* (
( (ptr) &var←c97444)+15)/* newData←v21724 */ ))+4) ), (* (( (ptr) &var←c97444)+17)/* holeList←v21780 */ ), pd152);
};
};
SOURCE(19394, 22)
{
word var←c93092;
word var←c93124;
var←c93092 = XR←NewObject(8, (* (( (ptr) gf←c97476)+25) ));
var←c93124 = var←c93092;
(* (ptr) var←c93124 ) = (* (( (ptr) &var←c97444)+13)/* newParent←v21640 */ );
(* (( (ptr) &var←c97444)+6)/* copy←v10512 */ ) = var←c93092;
};
}
else {
SOURCE(19425, 1578)
{
/* declaration of fillColor←v22140 skipped */
SOURCE(20844, 88)
{
W2 var←c0259;
word var←c93156;
{
word pd153;
pd153 = (* (( (ptr) (* (( (ptr) gf←c97476)+207)/* var←c91876 */ ))+62) );
(void) ( *( (fPt) ((* (ptr) pd153 ))))((word) &var←c0259, (* (( (ptr) &var←c97444)+4)/* slice←v10308 */ ), 0, pd153);
};
var←c93156 = var←c0259.f0;
{
word pd154;
pd154 = (* (( (ptr) (* (( (ptr) gf←c97476)+213)/* var←c92868 */ ))+38) );
(* (( (ptr) &var←c97444)+18)/* fillColor←v22140 */ ) = (word) ( *( (fPt) ((* (ptr) pd154 ))))(var←c93156, pd154);
};
};
SOURCE(20934, 67)
{
word var←c93188;
word pd155;
pd155 = (* (( (ptr) (* (( (ptr) gf←c97476)+204)/* var←c91588 */ ))+74) );
var←c93188 = (word) ( *( (fPt) ((* (ptr) pd155 ))))((* (( (ptr) &var←c97444)+4)/* slice←v10308 */ ), parts←v10336, 0, (word) (
( (bPt) &var←c97444)+28)/* var←c92900 */ , 0, pd155);
};
};
};
SOURCE(18466, 2535)
return((* (( (ptr) &var←c97444)+6)/* copy←v10512 */ ));
}
static word AddChild←P4860(child←v22012, formal←c97540)
word child←v22012;
word formal←c97540;
{
register ptr gf←c97508 = (ptr) &globalframe;
word done←v22056;
formal←c97540 = (formal←c97540 - 44);
/* AddChild: */
SOURCE(18830, 16)
SOURCE(18830, 16)
done←v22056 = 0;
SOURCE(18893, 270)
if (((* (( (ptr) formal←c97540)+14) ) == 0)) {
SOURCE(18918, 39)
{
word pd156;
pd156 = (* (( (ptr) (* (( (ptr) gf←c97508)+207)/* var←c91876 */ ))+10) );
(* (( (ptr) formal←c97540)+14) ) = (* (ptr) ( *( (fPt) ((* (ptr) pd156 ))))(child←v22012, 0, pd156) );
};
SOURCE(18959, 28)
{
word pd157;
pd157 = (* (( (ptr) formal←c97540)+5) );
(* (( (ptr) formal←c97540)+13) ) = (word) ( *( (fPt) ((* (ptr) pd157 ))))((* ((( (ptr) formal←c97540)+14)) ), pd157);
};
SOURCE(18989, 32)
(* (( (ptr) formal←c97540)+15) ) = XR←Narrow((* (( (ptr) (* (( (ptr) formal←c97540)+13) ))+1) ), (* (( (ptr) gf←c97508)+13)
));
}
else {
SOURCE(19032, 39)
{
word pd158;
pd158 = (* (( (ptr) (* (( (ptr) gf←c97508)+207)/* var←c91876 */ ))+10) );
(* (( (ptr) formal←c97540)+14) ) = (* (ptr) ( *( (fPt) ((* (ptr) pd158 ))))(child←v22012, 0, pd158) );
};
SOURCE(19073, 61)
{
W2 var←c93220;
{
word pd159;
pd159 = (* (( (ptr) (* (( (ptr) gf←c97508)+214)/* var←c92996 */ ))+21) );
(void) ( *( (fPt) ((* (ptr) pd159 ))))((word) &var←c93220, (* (( (ptr) formal←c97540)+14) ), (* (( (ptr) formal←c97540)+17)
), (* (( (ptr) formal←c97540)+16) ), pd159);
};
(* (( (ptr) formal←c97540)+16) ) = var←c93220.f1;
(* (( (ptr) formal←c97540)+17) ) = var←c93220.f0;
};
SOURCE(19136, 27)
(* (( (ptr) (* (( (ptr) formal←c97540)+14) ))+2) ) = (* (( (ptr) formal←c97540)+13) );
};
SOURCE(18830, 16)
return(done←v22056);
}
static void CopyWholeTraj←P4968(child←v22216, enclose←v22244, formal←c97604)
word child←v22216;
word enclose←v22244;
word formal←c97604;
{
register ptr gf←c97572 = (ptr) &globalframe;
word thisFillColor←v22376;
word newChild←v22404;
formal←c97604 = (formal←c97604 - 36);
/* CopyWholeTraj: */
SOURCE(19483, 21)
SOURCE(19545, 92)
{
W2 var←c0269;
word var←c93252;
{
word pd160;
pd160 = (* (( (ptr) (* (( (ptr) gf←c97572)+207)/* var←c91876 */ ))+62) );
(void) ( *( (fPt) ((* (ptr) pd160 ))))((word) &var←c0269, (* (( (ptr) formal←c97604)+4) ), 0, pd160);
};
var←c93252 = var←c0269.f0;
{
word pd161;
pd161 = (* (( (ptr) (* (( (ptr) gf←c97572)+213)/* var←c92868 */ ))+38) );
thisFillColor←v22376 = (word) ( *( (fPt) ((* (ptr) pd161 ))))(var←c93252, pd161);
};
};
SOURCE(19639, 46)
{
word pd162;
pd162 = (* (( (ptr) (* (( (ptr) gf←c97572)+207)/* var←c91876 */ ))+10) );
newChild←v22404 = (* (ptr) ( *( (fPt) ((* (ptr) pd162 ))))(child←v22216, 0, pd162) );
};
SOURCE(19687, 75)
if ((0 != enclose←v22244)) {
SOURCE(19703, 59)
{
word pd163;
pd163 = (* (( (ptr) (* (( (ptr) gf←c97572)+208)/* var←c91972 */ ))+5) );
newChild←v22404 = (word) ( *( (fPt) ((* (ptr) pd163 ))))(newChild←v22404, thisFillColor←v22376, pd163);
};
};
SOURCE(19764, 54)
{
word var←c93284;
{
word var←c93316;
word var←c93348;
var←c93316 = XR←NewObject(8, (* (( (ptr) gf←c97572)+25) ));
var←c93348 = var←c93316;
(* (ptr) var←c93348 ) = newChild←v22404;
var←c93284 = var←c93316;
};
{
word pd164;
pd164 = (* (( (ptr) (* (( (ptr) gf←c97572)+214)/* var←c92996 */ ))+22) );
(* (( (ptr) formal←c97604)+6) ) = (word) ( *( (fPt) ((* (ptr) pd164 ))))((* (( (ptr) formal←c97604)+6) ), var←c93284, pd164)
;
};
};
}
static word VisitChild←P5028(childD←v22304, formal←c97668)
word childD←v22304;
word formal←c97668;
{
register ptr gf←c97636 = (ptr) &globalframe;
word done←v22348;
word nextChild←v22448;
word childParts←v22476;
formal←c97668 = (formal←c97668 - 28);
/* VisitChild: */
SOURCE(19823, 18)
SOURCE(19823, 18)
done←v22348 = 0;
SOURCE(19899, 31)
nextChild←v22448 = (* (ptr) childD←v22304 );
SOURCE(19932, 37)
childParts←v22476 = (* (( (ptr) childD←v22304)+1) );
SOURCE(19971, 853)
{
word pd165;
pd165 = (* (( (ptr) (* (( (ptr) gf←c97636)+207)/* var←c91876 */ ))+6) );
if (((word) ( *( (fPt) ((* (ptr) pd165 ))))(nextChild←v22448, pd165) != (* (( (ptr) gf←c97636)+59) ))) {
SOURCE(20017, 78)
{
word var←c93380;
{
word pd166;
pd166 = (* (( (ptr) (* (( (ptr) gf←c97636)+207)/* var←c91876 */ ))+10) );
var←c93380 = (word) ( *( (fPt) ((* (ptr) pd166 ))))(nextChild←v22448, childParts←v22476, pd166);
};
{
word pd167;
pd167 = (* (( (ptr) (* (( (ptr) gf←c97636)+214)/* var←c92996 */ ))+22) );
(* (( (ptr) formal←c97668)+6) ) = (word) ( *( (fPt) ((* (ptr) pd167 ))))((* (( (ptr) formal←c97668)+6) ), var←c93380, pd167)
;
};
};
}
else {
SOURCE(20104, 734)
{
word nextChildParts←v22520;
SOURCE(20106, 46)
nextChildParts←v22520 = XR←Narrow(childParts←v22476, (* (( (ptr) gf←c97636)+27) ));
SOURCE(20154, 670)
{
word pd168;
pd168 = (* (( (ptr) (* (( (ptr) gf←c97636)+215)/* var←c93412 */ ))+26) );
if ((0 != (word) ( *( (fPt) ((* (ptr) pd168 ))))(nextChildParts←v22520, pd168))) {
SOURCE(20200, 36)
(void) CopyWholeTraj←P4968(nextChild←v22448, 1, (word) (( (bPt) formal←c97668)+36));
}
else {
SOURCE(20236, 599)
{
word nextRuns←v22564;
W2 var←c0281;
SOURCE(20238, 89)
{
word pd169;
pd169 = (* (( (ptr) (* (( (ptr) gf←c97636)+215)/* var←c93412 */ ))+37) );
(void) ( *( (fPt) ((* (ptr) pd169 ))))((word) &var←c0281, nextChildParts←v22520, pd169);
};
nextRuns←v22564 = var←c0281.f0;
SOURCE(20329, 495)
{
register word nextSeq←v22608;
{
word pd170;
pd170 = (* (( (ptr) (* (( (ptr) gf←c97636)+215)/* var←c93412 */ ))+38) );
nextSeq←v22608 = (word) ( *( (fPt) ((* (ptr) pd170 ))))(nextRuns←v22564, pd170);
};
lab←L100044: ;
if ((nextSeq←v22608 != 0)) {
}
else {
goto lab←L100041;
};
SOURCE(20444, 203)
{
word pd171;
pd171 = (* (( (ptr) (* (( (ptr) gf←c97636)+215)/* var←c93412 */ ))+31) );
if ((0 == (word) ( *( (fPt) ((* (ptr) pd171 ))))(nextSeq←v22608, pd171))) {
SOURCE(20496, 159)
/*1*/ {
/*1*/ word router←v22652;
SOURCE(20498, 52)
/*1*/ {
/*1*/ word pd172;
/*1*/ pd172 = (* (( (ptr) (* (( (ptr) gf←c97636)+202)/* var←c91492 */ ))+10) );
/*1*/ router←v22652 = (word) ( *( (fPt) ((* (ptr) pd172 ))))((* ((( (ptr) gf←c97636)+58)) ), pd172);
/*1*/ };
SOURCE(20552, 95)
/*1*/ {
/*1*/ word pd173;
/*1*/ pd173 = (* (( (ptr) (* (( (ptr) gf←c97636)+202)/* var←c91492 */ ))+12) );
/*1*/ (void) ( *( (fPt) ((* (ptr) pd173 ))))(router←v22652, 0, (* (( (ptr) gf←c97636)+57) ), (* (( (ptr) gf←c97636)+37) ), pd173)
/*1*/ ;
/*1*/ };
SOURCE(20649, 4)
/*1*/ goto lab←L100043;
/*1*/ };
/*1*/ };
};
SOURCE(20658, 53)
{
word pd174;
pd174 = (* (( (ptr) (* (( (ptr) gf←c97636)+216)/* var←c93444 */ ))+17) );
(* (( (ptr) formal←c97668)+14) ) = (word) ( *( (fPt) ((* (ptr) pd174 ))))(nextChild←v22448, nextSeq←v22608, pd174);
};
SOURCE(20713, 55)
{
word pd175;
pd175 = (* (( (ptr) (* (( (ptr) gf←c97636)+208)/* var←c91972 */ ))+5) );
(* (( (ptr) formal←c97668)+14) ) = (word) ( *( (fPt) ((* (ptr) pd175 ))))((* (( (ptr) formal←c97668)+14) ), (* (( (ptr) formal←c97668)+18)
/*1*/ ), pd175);
};
SOURCE(20770, 54)
{
word var←c93476;
{
/*1*/ word var←c93508;
/*1*/ word var←c93540;
/*1*/ var←c93508 = XR←NewObject(8, (* (( (ptr) gf←c97636)+25) ));
/*1*/ var←c93540 = var←c93508;
/*1*/ (* (ptr) var←c93540 ) = (* (( (ptr) formal←c97668)+14) );
/*1*/ var←c93476 = var←c93508;
/*1*/ };
{
/*1*/ word pd176;
/*1*/ pd176 = (* (( (ptr) (* (( (ptr) gf←c97636)+214)/* var←c92996 */ ))+22) );
/*1*/ (* (( (ptr) formal←c97668)+6) ) = (word) ( *( (fPt) ((* (ptr) pd176 ))))((* (( (ptr) formal←c97668)+6) ), var←c93476, pd176)
/*1*/ ;
/*1*/ };
};
lab←L100043: ;
{
word pd177;
pd177 = (* (( (ptr) (* (( (ptr) gf←c97636)+215)/* var←c93412 */ ))+38) );
nextSeq←v22608 = (word) ( *( (fPt) ((* (ptr) pd177 ))))(nextRuns←v22564, pd177);
};
goto lab←L100044;
lab←L100041: ;
};
};
};
};
};
};
};
SOURCE(19823, 18)
return(done←v22348);
}
static void Restore←P1080(from←v10656, to←v10684)
word from←v10656;
word to←v10684;
{
register ptr gf←c97700 = (ptr) &globalframe;
/* Restore: */
SOURCE(21010, 2585)
SOURCE(21060, 27)
if ((to←v10684 == 0) || (from←v10656 == 0)) {
SOURCE(21087, 5)
(void) XR←RaiseUnnamedError();
};
SOURCE(21094, 28)
if (((* (ptr) to←v10684 ) != (* (ptr) from←v10656 ))) {
SOURCE(21122, 5)
(void) XR←RaiseUnnamedError();
};
SOURCE(21221, 2376)
{
word fromSize←v22696 = 0;
word fromData←v22724;
word fromChildren←v22752;
word toSize←v22780 = 0;
word toData←v22808;
word toChildren←v22836;
word lastToChildren←v22864 = 0;
SOURCE(21246, 41)
fromData←v22724 = XR←Narrow((* (( (ptr) from←v10656)+1) ), (* (( (ptr) gf←c97700)+13) ));
SOURCE(21289, 14)
fromChildren←v22752 = (* (( (ptr) fromData←v22724)+4) );
SOURCE(21355, 37)
toData←v22808 = XR←Narrow((* (( (ptr) to←v10684)+1) ), (* (( (ptr) gf←c97700)+13) ));
SOURCE(21394, 12)
toChildren←v22836 = (* (( (ptr) toData←v22808)+4) );
SOURCE(21477, 33)
(* (ptr) toData←v22808 ) = (* (ptr) fromData←v22724 );
SOURCE(21512, 37)
(* (( (ptr) toData←v22808)+1) ) = (* (( (ptr) fromData←v22724)+1) );
SOURCE(21551, 35)
(* (( (ptr) toData←v22808)+2) ) = (* (( (ptr) fromData←v22724)+2) );
SOURCE(21588, 41)
(* (( (ptr) toData←v22808)+3) ) = (* (( (ptr) fromData←v22724)+3) );
SOURCE(21632, 101)
{
register word fromList←v23160;
fromList←v23160 = fromChildren←v22752;
lab←L100048: ;
if ((fromList←v23160 != 0)) {
}
else {
goto lab←L100045;
};
SOURCE(21712, 21)
fromSize←v22696 = (fromSize←v22696 + 1);
fromList←v23160 = (* (( (ptr) fromList←v23160)+1) );
goto lab←L100048;
lab←L100045: ;
};
SOURCE(21744, 89)
{
register word toList←v23288;
toList←v23288 = toChildren←v22836;
lab←L100052: ;
if ((toList←v23288 != 0)) {
}
else {
goto lab←L100049;
};
SOURCE(21816, 17)
toSize←v22780 = (toSize←v22780 + 1);
toList←v23288 = (* (( (ptr) toList←v23288)+1) );
goto lab←L100052;
lab←L100049: ;
};
SOURCE(21845, 1196)
if ((0 != (* (ptr) (* (( (ptr) (* (( (ptr) gf←c97700)+205)/* var←c91620 */ ))+67) ) ))) {
SOURCE(21873, 917)
if (( (int)fromSize←v22696 >= (int)toSize←v22780)) {
SOURCE(21900, 269)
lab←L100055: ;
if ((toChildren←v22836 != 0)) {
}
else {
goto lab←L100053;
};
SOURCE(21924, 66)
{
word pd178;
pd178 = (* (( (ptr) (* (( (ptr) gf←c97700)+207)/* var←c91876 */ ))+11) );
(void) ( *( (fPt) ((* (ptr) pd178 ))))((* (ptr) fromChildren←v22752 ), (* (ptr) toChildren←v22836 ), pd178);
};
SOURCE(21992, 28)
(* (( (ptr) (* (ptr) toChildren←v22836 ))+2) ) = to←v10684;
SOURCE(22077, 28)
lastToChildren←v22864 = toChildren←v22836;
SOURCE(22107, 32)
fromChildren←v22752 = (* (( (ptr) fromChildren←v22752)+1) );
SOURCE(22141, 28)
toChildren←v22836 = (* (( (ptr) toChildren←v22836)+1) );
goto lab←L100055;
lab←L100053: ;
SOURCE(22180, 235)
if ((lastToChildren←v22864 != 0)) {
SOURCE(22252, 34)
(* (( (ptr) lastToChildren←v22864)+1) ) = fromChildren←v22752;
SOURCE(22309, 106)
{
register word adoptees←v23416;
adoptees←v23416 = fromChildren←v22752;
lab←L100059: ;
if ((adoptees←v23416 != 0)) {
}
else {
goto lab←L100056;
};
SOURCE(22389, 26)
(* (( (ptr) (* (ptr) adoptees←v23416 ))+2) ) = to←v10684;
adoptees←v23416 = (* (( (ptr) adoptees←v23416)+1) );
goto lab←L100059;
lab←L100056: ;
};
};
}
else {
SOURCE(22456, 271)
lab←L100062: ;
if ((fromChildren←v22752 != 0)) {
}
else {
goto lab←L100060;
};
SOURCE(22482, 66)
{
word pd179;
pd179 = (* (( (ptr) (* (( (ptr) gf←c97700)+207)/* var←c91876 */ ))+11) );
(void) ( *( (fPt) ((* (ptr) pd179 ))))((* (ptr) fromChildren←v22752 ), (* (ptr) toChildren←v22836 ), pd179);
};
SOURCE(22550, 28)
(* (( (ptr) (* (ptr) toChildren←v22836 ))+2) ) = to←v10684;
SOURCE(22635, 28)
lastToChildren←v22864 = toChildren←v22836;
SOURCE(22665, 32)
fromChildren←v22752 = (* (( (ptr) fromChildren←v22752)+1) );
SOURCE(22699, 28)
toChildren←v22836 = (* (( (ptr) toChildren←v22836)+1) );
goto lab←L100062;
lab←L100060: ;
SOURCE(22738, 52)
if ((lastToChildren←v22864 != 0)) {
SOURCE(22765, 25)
(* (( (ptr) lastToChildren←v22864)+1) ) = 0;
};
};
}
else {
SOURCE(22884, 111)
{
register word adoptees←v23544;
adoptees←v23544 = (* (( (ptr) fromData←v22724)+4) );
lab←L100066: ;
if ((adoptees←v23544 != 0)) {
}
else {
goto lab←L100063;
};
SOURCE(22969, 26)
(* (( (ptr) (* (ptr) adoptees←v23544 ))+2) ) = to←v10684;
adoptees←v23544 = (* (( (ptr) adoptees←v23544)+1) );
goto lab←L100066;
lab←L100063: ;
};
SOURCE(23006, 35)
(* (( (ptr) toData←v22808)+4) ) = (* (( (ptr) fromData←v22724)+4) );
};
SOURCE(23068, 39)
(* (W4Pt) (( (ptr) to←v10684)+3) ) = (* (W4Pt) (( (ptr) from←v10656)+3) );
SOURCE(23127, 28)
(* (( (ptr) to←v10684)+7) ) = 0;
SOURCE(23181, 25)
(* (( (ptr) to←v10684)+8) ) = 0;
SOURCE(23232, 28)
(* (( (ptr) to←v10684)+9) ) = 0;
SOURCE(23286, 27)
(* (( (ptr) to←v10684)+10) ) = 0;
SOURCE(23339, 29)
(* (W6Pt) (* (( (ptr) to←v10684)+13) ) ) = (* (W6Pt) (* (( (ptr) from←v10656)+13) ) );
SOURCE(23370, 37)
(* (( (ptr) to←v10684)+14) ) = (* (( (ptr) from←v10656)+14) );
SOURCE(23409, 29)
(* (W6Pt) (* (( (ptr) to←v10684)+15) ) ) = (* (W6Pt) (* (( (ptr) from←v10656)+15) ) );
SOURCE(23440, 27)
(* (( (ptr) to←v10684)+16) ) = (* (( (ptr) from←v10656)+16) );
SOURCE(23469, 29)
(* (( (ptr) to←v10684)+17) ) = (* (( (ptr) from←v10656)+17) );
SOURCE(23500, 33)
(* (( (ptr) to←v10684)+18) ) = (* (( (ptr) from←v10656)+18) );
SOURCE(23535, 27)
(* (( (ptr) to←v10684)+19) ) = (* (( (ptr) from←v10656)+19) );
SOURCE(23564, 31)
(* (( (ptr) to←v10684)+20) ) = (* (( (ptr) from←v10656)+20) );
};
}
static void OutlineBuildPath←P1140(slice←v10744, transformParts←v10772, transform←v10800, moveTo←v10828, lineTo←v10856, curveTo←v10884, conicTo←v10912, arcTo←v10940, editConstraints←v10968)
word slice←v10744;
word transformParts←v10772;
word transform←v10800;
word moveTo←v10828;
word lineTo←v10856;
word curveTo←v10884;
word conicTo←v10912;
word arcTo←v10940;
word editConstraints←v10968;
{
register ptr gf←c97732 = (ptr) &globalframe;
word outlineData←v23672;
word outlineTransformParts←v23700;
word noTransform←v23728;
word transformAll←v23756;
word pathTransformParts←v23784;
/* OutlineBuildPath: */
SOURCE(23608, 1401)
SOURCE(23855, 45)
outlineData←v23672 = XR←Narrow((* (( (ptr) slice←v10744)+1) ), (* (( (ptr) gf←c97732)+13) ));
SOURCE(23902, 60)
outlineTransformParts←v23700 = XR←Narrow(transformParts←v10772, (* (( (ptr) gf←c97732)+21) ));
SOURCE(23964, 33)
noTransform←v23728 = (unsigned) (transform←v10800 == 0);
SOURCE(23999, 57)
transformAll←v23756 = (unsigned) ( (transform←v10800 != 0) ? (transformParts←v10772 == 0) : 0 ) ;
SOURCE(24058, 20)
pathTransformParts←v23784 = ( (transformParts←v10772 == 0) ? 0 : (* (ptr) outlineTransformParts←v23700 ) ) ;
SOURCE(24175, 834)
{
register word children←v23912;
children←v23912 = (* (( (ptr) outlineData←v23672)+4) );
lab←L100070: ;
if ((children←v23912 != 0)) {
}
else {
goto lab←L100067;
};
{
word isClosed←v24040;
SOURCE(24265, 108)
{
word tc180;
word pd181;
pd181 = (* (( (ptr) (* (( (ptr) gf←c97732)+207)/* var←c91876 */ ))+6) );
if (((word) ( *( (fPt) ((* (ptr) pd181 ))))((* (ptr) (children←v23912) ), pd181) != (* (( (ptr) gf←c97732)+59) ))) {
tc180 = (word) 1;
}
else {
tc180 = (word) ((* (ptr) XR←Narrow((* (( (ptr) (* (ptr) children←v23912 ))+1) ), (* (( (ptr) gf←c97732)+31) )) ) != 2);
};
isClosed←v24040 = (unsigned) tc180;
};
SOURCE(24375, 554)
if ((0 != isClosed←v24040)) {
SOURCE(24433, 496)
if ((0 != noTransform←v23728)) {
SOURCE(24453, 110)
{
word pd182;
pd182 = (* (( (ptr) (* (( (ptr) gf←c97732)+207)/* var←c91876 */ ))+13) );
(void) ( *( (fPt) ((* (ptr) pd182 ))))((* (ptr) children←v23912 ), 0, 0, moveTo←v10828, lineTo←v10856, curveTo←v10884
, conicTo←v10912, arcTo←v10940, editConstraints←v10968, pd182);
};
}
else {
SOURCE(24563, 366)
if ((0 != transformAll←v23756)) {
SOURCE(24584, 116)
{
word pd183;
pd183 = (* (( (ptr) (* (( (ptr) gf←c97732)+207)/* var←c91876 */ ))+13) );
(void) ( *( (fPt) ((* (ptr) pd183 ))))((* (ptr) children←v23912 ), 0, transform←v10800, moveTo←v10828, lineTo←v10856, curveTo←v10884
, conicTo←v10912, arcTo←v10940, editConstraints←v10968, pd183);
};
}
else {
SOURCE(24700, 229)
{
word pd184;
pd184 = (* (( (ptr) (* (( (ptr) gf←c97732)+207)/* var←c91876 */ ))+13) );
(void) ( *( (fPt) ((* (ptr) pd184 ))))((* (ptr) children←v23912 ), ( ((* (ptr) pathTransformParts←v23784 ) == 0) ? 0 : (* (
( (ptr) (* (ptr) pathTransformParts←v23784 ))+1) ) ) , ( ((* (ptr) pathTransformParts←v23784 ) == 0) ? 0 : transform←v10800 ) , moveTo←v10828, lineTo←v10856, curveTo←v10884
, conicTo←v10912, arcTo←v10940, editConstraints←v10968, pd184);
};
};
};
};
SOURCE(24934, 75)
if ((pathTransformParts←v23784 != 0)) {
SOURCE(24965, 44)
pathTransformParts←v23784 = (* (( (ptr) pathTransformParts←v23784)+1) );
};
};
children←v23912 = (* (( (ptr) children←v23912)+1) );
goto lab←L100070;
lab←L100067: ;
};
}
static void OutlineDrawBorder←P1200(slice←v11028, drawParts←v11056, transformParts←v11084, transform←v11112, dc←v11140, camera←v11168, quick←v11196, editConstraints←v11224)
word slice←v11028;
word drawParts←v11056;
word transformParts←v11084;
word transform←v11112;
word dc←v11140;
word camera←v11168;
word quick←v11196;
word editConstraints←v11224;
{
register ptr gf←c97764 = (ptr) &globalframe;
word outlineData←v24084;
word outlineDrawParts←v24112;
word outlineTransformParts←v24140;
word noTransform←v24168;
word transformAll←v24196;
word drawAll←v24224;
word pathTransformParts←v24252;
word pathDrawParts←v24280;
/* OutlineDrawBorder: */
SOURCE(25024, 1624)
SOURCE(25250, 45)
outlineData←v24084 = XR←Narrow((* (( (ptr) slice←v11028)+1) ), (* (( (ptr) gf←c97764)+13) ));
SOURCE(25297, 50)
outlineDrawParts←v24112 = XR←Narrow(drawParts←v11056, (* (( (ptr) gf←c97764)+21) ));
SOURCE(25349, 60)
outlineTransformParts←v24140 = XR←Narrow(transformParts←v11084, (* (( (ptr) gf←c97764)+21) ));
SOURCE(25411, 33)
noTransform←v24168 = (unsigned) (transform←v11112 == 0);
SOURCE(25446, 57)
transformAll←v24196 = (unsigned) ( (transform←v11112 != 0) ? (transformParts←v11084 == 0) : 0 ) ;
SOURCE(25505, 29)
drawAll←v24224 = (unsigned) (drawParts←v11056 == 0);
SOURCE(25536, 20)
pathTransformParts←v24252 = ( (transformParts←v11084 == 0) ? 0 : (* (ptr) outlineTransformParts←v24140 ) ) ;
SOURCE(25653, 15)
pathDrawParts←v24280 = ( (0 != drawAll←v24224) ? 0 : (* (ptr) outlineDrawParts←v24112 ) ) ;
SOURCE(25749, 899)
{
register word children←v24492;
children←v24492 = (* (( (ptr) outlineData←v24084)+4) );
lab←L100074: ;
if ((children←v24492 != 0)) {
}
else {
goto lab←L100071;
};
SOURCE(25839, 667)
if ((0 != drawAll←v24224) || ((* (ptr) pathDrawParts←v24280 ) != 0)) {
SOURCE(25917, 589)
if ((0 != noTransform←v24168)) {
SOURCE(25937, 141)
{
word pd185;
pd185 = (* (( (ptr) (* (( (ptr) gf←c97764)+207)/* var←c91876 */ ))+14) );
(void) ( *( (fPt) ((* (ptr) pd185 ))))((* (ptr) children←v24492 ), ( (0 != drawAll←v24224) ? 0 : (* (( (ptr) (* (ptr) pathDrawParts←v24280 ))+1)
) ) , 0, 0, dc←v11140, camera←v11168
, quick←v11196, editConstraints←v11224, pd185);
};
}
else {
SOURCE(26078, 428)
if ((0 != transformAll←v24196)) {
SOURCE(26099, 147)
{
word pd186;
pd186 = (* (( (ptr) (* (( (ptr) gf←c97764)+207)/* var←c91876 */ ))+14) );
(void) ( *( (fPt) ((* (ptr) pd186 ))))((* (ptr) children←v24492 ), ( (0 != drawAll←v24224) ? 0 : (* (( (ptr) (* (ptr) pathDrawParts←v24280 ))+1)
) ) , 0, transform←v11112, dc←v11140, camera←v11168
, quick←v11196, editConstraints←v11224, pd186);
};
}
else {
SOURCE(26246, 260)
{
word pd187;
pd187 = (* (( (ptr) (* (( (ptr) gf←c97764)+207)/* var←c91876 */ ))+14) );
(void) ( *( (fPt) ((* (ptr) pd187 ))))((* (ptr) children←v24492 ), ( (0 != drawAll←v24224) ? 0 : (* (( (ptr) (* (ptr) pathDrawParts←v24280 ))+1)
) ) , ( ((* (ptr) pathTransformParts←v24252 ) == 0) ? 0 : (* (( (ptr) (* (ptr) pathTransformParts←v24252 ))+1) ) ) , ( ((* (ptr) pathTransformParts←v24252 ) == 0) ? 0 : transform←v11112 ) , dc←v11140, camera←v11168
, quick←v11196, editConstraints←v11224, pd187);
};
};
};
};
SOURCE(26511, 75)
if ((pathTransformParts←v24252 != 0)) {
SOURCE(26542, 44)
pathTransformParts←v24252 = (* (( (ptr) pathTransformParts←v24252)+1) );
};
SOURCE(26588, 60)
if ((pathDrawParts←v24280 != 0)) {
SOURCE(26614, 34)
pathDrawParts←v24280 = (* (( (ptr) pathDrawParts←v24280)+1) );
};
children←v24492 = (* (( (ptr) children←v24492)+1) );
goto lab←L100074;
lab←L100071: ;
};
}
static void OutlineDrawParts←P1260(slice←v11284, parts←v11312, formal←c0943, formal←c0944, formal←c0945)
word slice←v11284;
word parts←v11312;
word formal←c0943;
word formal←c0944;
word formal←c0945;
{
W12 var←c97796;
/* declaration of dc←v11340 skipped */
/* declaration of camera←v11368 skipped */
/* declaration of quick←v11396 skipped */
register ptr gf←c97828 = (ptr) &globalframe;
/* declaration of var←c93572 skipped */
/* declaration of var←c93604 skipped */
/* declaration of outlineData←v24648 skipped */
(* (( (ptr) &var←c97796)+4)/* dc←v11340 */ ) = formal←c0943;
(* (( (ptr) &var←c97796)+5)/* camera←v11368 */ ) = formal←c0944;
(* (( (ptr) &var←c97796)+6)/* quick←v11396 */ ) = formal←c0945;
/* OutlineDrawParts: */
SOURCE(26663, 994)
{
word tmpAddr188;
tmpAddr188 = (word) (( (ptr) &var←c97796)+7)/* var←c93572 */ ;
(* (ptr) tmpAddr188 ) = ( ((word) (fPt) RenderChild←P5820) );
(* (( (ptr) tmpAddr188) + 1) ) = 1;
};
{
word tmpAddr189;
tmpAddr189 = (word) (( (ptr) &var←c97796)+9)/* var←c93604 */ ;
(* (ptr) tmpAddr189 ) = ( ((word) (fPt) BuildOutline←P5664) );
(* (( (ptr) tmpAddr189) + 1) ) = 1;
};
SOURCE(27110, 45)
(* (( (ptr) &var←c97796)+11)/* outlineData←v24648 */ ) = XR←Narrow((* (( (ptr) slice←v11284)+1) ), (* (( (ptr) gf←c97828)+13)
));
SOURCE(27157, 137)
if (((* (( (ptr) (* (( (ptr) &var←c97796)+11)/* outlineData←v24648 */ ))+1) ) != 0)) {
SOURCE(27193, 45)
{
word pd190;
pd190 = (* (( (ptr) (* (( (ptr) gf←c97828)+213)/* var←c92868 */ ))+36) );
(void) ( *( (fPt) ((* (ptr) pd190 ))))((* (( (ptr) &var←c97796)+4)/* dc←v11340 */ ), (* (( (ptr) (* (( (ptr) &var←c97796)+11)
/* outlineData←v24648 */ ))+1) ), 0, pd190);
};
SOURCE(27240, 54)
{
word pd191;
pd191 = (* (( (ptr) (* (( (ptr) gf←c97828)+203)/* var←c91524 */ ))+62) );
(void) ( *( (fPt) ((* (ptr) pd191 ))))((* (( (ptr) &var←c97796)+4)/* dc←v11340 */ ), (word) (( (bPt) &var←c97796)+36)/* var←c93604 */ , (* (ptr) (* (
( (ptr) &var←c97796)+11)/* outlineData←v24648 */ ) ), pd191);
};
};
SOURCE(27299, 167)
{
register word children←v24692;
children←v24692 = (* (( (ptr) (* (( (ptr) &var←c97796)+11)/* outlineData←v24648 */ ))+4) );
lab←L100078: ;
if ((children←v24692 != 0)) {
}
else {
goto lab←L100075;
};
SOURCE(27389, 77)
{
word pd192;
pd192 = (* (( (ptr) (* (( (ptr) gf←c97828)+207)/* var←c91876 */ ))+14) );
(void) ( *( (fPt) ((* (ptr) pd192 ))))((* (ptr) children←v24692 ), 0, 0, 0, (* (( (ptr) &var←c97796)+4)/* dc←v11340 */ ), (* (
( (ptr) &var←c97796)+5)/* camera←v11368 */ )
, 0, 0, pd192);
};
children←v24692 = (* (( (ptr) children←v24692)+1) );
goto lab←L100078;
lab←L100075: ;
};
SOURCE(27477, 182)
SOURCE(27599, 58)
{
word var←c93636;
word pd193;
pd193 = (* (( (ptr) (* (( (ptr) gf←c97828)+204)/* var←c91588 */ ))+73) );
var←c93636 = (word) ( *( (fPt) ((* (ptr) pd193 ))))(slice←v11284, 1, (word) (( (bPt) &var←c97796)+28)/* var←c93572 */ , (* (
( (ptr) gf←c97828)+32) ), pd193);
};
}
static void BuildOutline←P5664(moveTo←v79512, lineTo←v79540, curveTo←v79568, conicTo←v79596, arcTo←v79624, formal←c97892)
word moveTo←v79512;
word lineTo←v79540;
word curveTo←v79568;
word conicTo←v79596;
word arcTo←v79624;
word formal←c97892;
{
register ptr gf←c97860 = (ptr) &globalframe;
formal←c97892 = (formal←c97892 - 36);
/* BuildOutline: */
SOURCE(26780, 286)
SOURCE(26814, 252)
{
register word children←v24968;
children←v24968 = (* (( (ptr) (* (( (ptr) formal←c97892)+11) ))+4) );
lab←L100082: ;
if ((children←v24968 != 0)) {
}
else {
goto lab←L100079;
};
{
word isOpen←v25096;
SOURCE(26904, 48)
{
word pd194;
pd194 = (* (( (ptr) (* (( (ptr) gf←c97860)+207)/* var←c91876 */ ))+73) );
isOpen←v25096 = (word) ( *( (fPt) ((* (ptr) pd194 ))))((* (ptr) (children←v24968) ), pd194);
};
SOURCE(26954, 112)
if ((0 == isOpen←v25096)) {
SOURCE(26973, 93)
{
word pd195;
pd195 = (* (( (ptr) (* (( (ptr) gf←c97860)+207)/* var←c91876 */ ))+13) );
(void) ( *( (fPt) ((* (ptr) pd195 ))))((* (ptr) children←v24968 ), 0, 0, moveTo←v79512, lineTo←v79540, curveTo←v79568
, conicTo←v79596, arcTo←v79624, 0, pd195);
};
};
};
children←v24968 = (* (( (ptr) children←v24968)+1) );
goto lab←L100082;
lab←L100079: ;
};
}
static word RenderChild←P5820(child←v24896, formal←c97956)
word child←v24896;
word formal←c97956;
{
register ptr gf←c97924 = (ptr) &globalframe;
word done←v24940;
formal←c97956 = (formal←c97956 - 28);
/* RenderChild: */
SOURCE(27483, 19)
SOURCE(27483, 19)
done←v24940 = 0;
SOURCE(27550, 44)
{
word pd196;
pd196 = (* (( (ptr) (* (( (ptr) gf←c97924)+205)/* var←c91620 */ ))+50) );
(void) ( *( (fPt) ((* (ptr) pd196 ))))((* (( (ptr) formal←c97956)+4) ), child←v24896, (* (( (ptr) formal←c97956)+5) ), (* (
( (ptr) formal←c97956)+6) ), pd196);
};
SOURCE(27483, 19)
return(done←v24940);
}
static void DrawParts←P1320(slice←v11456, parts←v11484, dc←v11512, camera←v11540, quick←v11568)
word slice←v11456;
word parts←v11484;
word dc←v11512;
word camera←v11540;
word quick←v11568;
{
register ptr gf←c97988 = (ptr) &globalframe;
word outlineData←v25140;
/* DrawParts: */
SOURCE(27668, 307)
SOURCE(27778, 45)
outlineData←v25140 = XR←Narrow((* (( (ptr) slice←v11456)+1) ), (* (( (ptr) gf←c97988)+13) ));
SOURCE(27825, 150)
{
register word children←v25184;
children←v25184 = (* (( (ptr) outlineData←v25140)+4) );
lab←L100086: ;
if ((children←v25184 != 0)) {
}
else {
goto lab←L100083;
};
SOURCE(27915, 60)
{
word pd197;
pd197 = (* (( (ptr) (* (( (ptr) gf←c97988)+207)/* var←c91876 */ ))+15) );
(void) ( *( (fPt) ((* (ptr) pd197 ))))((* (ptr) children←v25184 ), 0, dc←v11512, camera←v11540, quick←v11568, pd197);
};
children←v25184 = (* (( (ptr) children←v25184)+1) );
goto lab←L100086;
lab←L100083: ;
};
}
static void OutlineDrawTransform←P1380(slice←v11628, parts←v11656, dc←v11684, camera←v11712, formal←c0946, formal←c0947)
word slice←v11628;
word parts←v11656;
word dc←v11684;
word camera←v11712;
word formal←c0946;
word formal←c0947;
{
W11 var←c98020;
/* declaration of transform←v11740 skipped */
/* declaration of editConstraints←v11768 skipped */
register ptr gf←c98052 = (ptr) &globalframe;
/* declaration of var←c93668 skipped */
/* declaration of outlineData←v25340 skipped */
/* declaration of outlineParts←v25368 skipped */
word borderParts←v25396 = 0;
/* declaration of t←v25424 skipped */
(* (( (ptr) &var←c98020)+4)/* transform←v11740 */ ) = formal←c0946;
(* (( (ptr) &var←c98020)+5)/* editConstraints←v11768 */ ) = formal←c0947;
/* OutlineDrawTransform: */
SOURCE(27989, 1747)
{
word tmpAddr198;
tmpAddr198 = (word) (( (ptr) &var←c98020)+6)/* var←c93668 */ ;
(* (ptr) tmpAddr198 ) = ( ((word) (fPt) BuildOutline←P6024) );
(* (( (ptr) tmpAddr198) + 1) ) = 1;
};
SOURCE(28820, 45)
(* (( (ptr) &var←c98020)+8)/* outlineData←v25340 */ ) = XR←Narrow((* (( (ptr) slice←v11628)+1) ), (* (( (ptr) gf←c98052)+13)
));
SOURCE(28867, 42)
(* (( (ptr) &var←c98020)+9)/* outlineParts←v25368 */ ) = XR←Narrow(parts←v11656, (* (( (ptr) gf←c98052)+21) ));
SOURCE(28949, 17)
(* (( (ptr) &var←c98020)+10)/* t←v25424 */ ) = 0;
SOURCE(28969, 74)
if (((* (( (ptr) &var←c98020)+9)/* outlineParts←v25368 */ ) == 0)) {
borderParts←v25396 = 0;
}
else {
borderParts←v25396 = (* (ptr) (* (( (ptr) &var←c98020)+9)/* outlineParts←v25368 */ ) );
};
SOURCE(29045, 232)
if (((* (( (ptr) (* (( (ptr) &var←c98020)+8)/* outlineData←v25340 */ ))+1) ) != 0)) {
SOURCE(29081, 140)
if ((0 != (word) IsComplete←P2640((* ((( (ptr) &var←c98020)+9)/* outlineParts←v25368 */ ) )))) {
SOURCE(29114, 62)
{
word pd199;
pd199 = (* (( (ptr) (* (( (ptr) gf←c98052)+213)/* var←c92868 */ ))+36) );
(void) ( *( (fPt) ((* (ptr) pd199 ))))(dc←v11684, (* (( (ptr) (* (( (ptr) &var←c98020)+8)/* outlineData←v25340 */ ))+1)
), (* (( (ptr) &var←c98020)+4)/* transform←v11740 */ ), pd199);
};
}
else {
SOURCE(29176, 45)
{
word pd200;
pd200 = (* (( (ptr) (* (( (ptr) gf←c98052)+213)/* var←c92868 */ ))+36) );
(void) ( *( (fPt) ((* (ptr) pd200 ))))(dc←v11684, (* (( (ptr) (* (( (ptr) &var←c98020)+8)/* outlineData←v25340 */ ))+1)
), 0, pd200);
};
};
SOURCE(29223, 54)
{
word pd201;
pd201 = (* (( (ptr) (* (( (ptr) gf←c98052)+203)/* var←c91524 */ ))+62) );
(void) ( *( (fPt) ((* (ptr) pd201 ))))(dc←v11684, (word) (( (bPt) &var←c98020)+24)/* var←c93668 */ , (* (ptr) (* (( (ptr) &var←c98020)+8)
/* outlineData←v25340 */ ) ), pd201);
};
};
SOURCE(29282, 465)
{
word transformParts←v25552 = 0;
SOURCE(29316, 420)
{
register word children←v25596;
children←v25596 = (* (( (ptr) (* (( (ptr) &var←c98020)+8)/* outlineData←v25340 */ ))+4) );
lab←L100090: ;
if ((children←v25596 != 0)) {
}
else {
goto lab←L100087;
};
SOURCE(29406, 98)
if ((borderParts←v25396 == 0) || ((* (ptr) borderParts←v25396 ) == 0)) {
transformParts←v25552 = 0;
}
else {
transformParts←v25552 = (* (( (ptr) (* (ptr) borderParts←v25396 ))+1) );
};
SOURCE(29506, 73)
if ((borderParts←v25396 == 0) || ((* (ptr) borderParts←v25396 ) != 0)) {
(* (( (ptr) &var←c98020)+10)/* t←v25424 */ ) = (* (( (ptr) &var←c98020)+4)/* transform←v11740 */ );
}
else {
(* (( (ptr) &var←c98020)+10)/* t←v25424 */ ) = 0;
};
SOURCE(29581, 97)
{
word pd202;
pd202 = (* (( (ptr) (* (( (ptr) gf←c98052)+207)/* var←c91876 */ ))+14) );
(void) ( *( (fPt) ((* (ptr) pd202 ))))((* (ptr) children←v25596 ), 0, transformParts←v25552, (* (( (ptr) &var←c98020)+10)
/* t←v25424 */ ), dc←v11684, camera←v11712
, 0, (* (( (ptr) &var←c98020)+5)/* editConstraints←v11768 */ ), pd202);
};
SOURCE(29680, 56)
if ((borderParts←v25396 != 0)) {
SOURCE(29706, 30)
borderParts←v25396 = (* (( (ptr) borderParts←v25396)+1) );
};
children←v25596 = (* (( (ptr) children←v25596)+1) );
goto lab←L100090;
lab←L100087: ;
};
};
}
static void BuildOutline←P6024(moveTo←v80420, lineTo←v80448, curveTo←v80476, conicTo←v80504, arcTo←v80532, formal←c98116)
word moveTo←v80420;
word lineTo←v80448;
word curveTo←v80476;
word conicTo←v80504;
word arcTo←v80532;
word formal←c98116;
{
register ptr gf←c98084 = (ptr) &globalframe;
word pathParts←v25724 = 0;
word transformParts←v25752 = 0;
formal←c98116 = (formal←c98116 - 24);
/* BuildOutline: */
SOURCE(28164, 642)
SOURCE(28262, 72)
if (((* (( (ptr) formal←c98116)+9) ) == 0)) {
pathParts←v25724 = 0;
}
else {
pathParts←v25724 = (* (ptr) (* (( (ptr) formal←c98116)+9) ) );
};
SOURCE(28336, 470)
{
register word children←v25880;
children←v25880 = (* (( (ptr) (* (( (ptr) formal←c98116)+8) ))+4) );
lab←L100094: ;
if ((children←v25880 != 0)) {
}
else {
goto lab←L100091;
};
SOURCE(28426, 96)
if ((pathParts←v25724 == 0) || ((* (ptr) pathParts←v25724 ) == 0)) {
transformParts←v25752 = 0;
}
else {
transformParts←v25752 = (* (( (ptr) (* (ptr) pathParts←v25724 ))+1) );
};
SOURCE(28524, 69)
if ((pathParts←v25724 == 0) || ((* (ptr) pathParts←v25724 ) != 0)) {
(* (( (ptr) formal←c98116)+10) ) = (* (( (ptr) formal←c98116)+4) );
}
else {
(* (( (ptr) formal←c98116)+10) ) = 0;
};
SOURCE(28595, 159)
{
word pd203;
pd203 = (* (( (ptr) (* (( (ptr) gf←c98084)+207)/* var←c91876 */ ))+73) );
if ((0 == (word) ( *( (fPt) ((* (ptr) pd203 ))))((* (ptr) (children←v25880) ), pd203))) {
SOURCE(28641, 113)
{
word pd204;
pd204 = (* (( (ptr) (* (( (ptr) gf←c98084)+207)/* var←c91876 */ ))+13) );
(void) ( *( (fPt) ((* (ptr) pd204 ))))((* (ptr) children←v25880 ), transformParts←v25752, (* (( (ptr) formal←c98116)+10)
), moveTo←v80420, lineTo←v80448, curveTo←v80476
, conicTo←v80504, arcTo←v80532, (* (( (ptr) formal←c98116)+5) ), pd204);
};
};
};
SOURCE(28756, 50)
if ((pathParts←v25724 != 0)) {
SOURCE(28780, 26)
pathParts←v25724 = (* (( (ptr) pathParts←v25724)+1) );
};
children←v25880 = (* (( (ptr) children←v25880)+1) );
goto lab←L100094;
lab←L100091: ;
};
}
static void DrawTransform←P1440(slice←v11828, parts←v11856, dc←v11884, camera←v11912, transform←v11940, editConstraints←v11968)
word slice←v11828;
word parts←v11856;
word dc←v11884;
word camera←v11912;
word transform←v11940;
word editConstraints←v11968;
{
register ptr gf←c98148 = (ptr) &globalframe;
word outlineData←v26008;
word outlineParts←v26036;
word childrenD←v26064 = 0;
word thisChild←v26092 = 0;
word theseParts←v26120 = 0;
word t←v26148 = 0;
/* DrawTransform: */
SOURCE(29756, 973)
SOURCE(29924, 45)
outlineData←v26008 = XR←Narrow((* (( (ptr) slice←v11828)+1) ), (* (( (ptr) gf←c98148)+13) ));
SOURCE(29971, 42)
outlineParts←v26036 = XR←Narrow(parts←v11856, (* (( (ptr) gf←c98148)+21) ));
SOURCE(30134, 72)
if ((outlineParts←v26036 == 0)) {
childrenD←v26064 = 0;
}
else {
childrenD←v26064 = (* (ptr) outlineParts←v26036 );
};
SOURCE(30208, 521)
{
register word children←v26276;
children←v26276 = (* (( (ptr) outlineData←v26008)+4) );
lab←L100098: ;
if ((children←v26276 != 0)) {
}
else {
goto lab←L100095;
};
SOURCE(30298, 26)
thisChild←v26092 = (* (ptr) children←v26276 );
SOURCE(30326, 266)
if ((childrenD←v26064 == 0)) {
SOURCE(30383, 16)
theseParts←v26120 = 0;
SOURCE(30401, 13)
t←v26148 = transform←v11940;
}
else {
SOURCE(30423, 169)
if (((* (ptr) childrenD←v26064 ) != 0)) {
SOURCE(30477, 34)
theseParts←v26120 = (* (( (ptr) (* (ptr) childrenD←v26064 ))+1) );
SOURCE(30513, 13)
t←v26148 = transform←v11940;
}
else {
SOURCE(30567, 16)
theseParts←v26120 = 0;
SOURCE(30585, 7)
t←v26148 = 0;
};
};
SOURCE(30597, 79)
{
word pd205;
pd205 = (* (( (ptr) (* (( (ptr) gf←c98148)+207)/* var←c91876 */ ))+16) );
(void) ( *( (fPt) ((* (ptr) pd205 ))))(thisChild←v26092, theseParts←v26120, dc←v11884, camera←v11912, t←v26148, editConstraints←v11968, pd205)
;
};
SOURCE(30678, 51)
if ((childrenD←v26064 != 0)) {
SOURCE(30702, 27)
childrenD←v26064 = (* (( (ptr) childrenD←v26064)+1) );
};
children←v26276 = (* (( (ptr) children←v26276)+1) );
goto lab←L100098;
lab←L100095: ;
};
}
static void DrawSelectionFeedback←P1500(slice←v12028, selectedParts←v12056, hotParts←v12084, dc←v12112, camera←v12140, dragInProgress←v12168, caretIsMoving←v12196, hideHot←v12224, quick←v12252)
word slice←v12028;
word selectedParts←v12056;
word hotParts←v12084;
word dc←v12112;
word camera←v12140;
word dragInProgress←v12168;
word caretIsMoving←v12196;
word hideHot←v12224;
word quick←v12252;
{
register ptr gf←c98180 = (ptr) &globalframe;
register word normalList←v26404 = 0;
register word hotList←v26432 = 0;
word slowNormal←v26460 = 0;
word slowHot←v26488 = 0;
word completeNormal←v26516 = 0;
word completeHot←v26544 = 0;
word normalOutlineParts←v26572;
word hotOutlineParts←v26600;
/* DrawSelectionFeedback: */
SOURCE(30744, 1944)
SOURCE(31046, 56)
normalOutlineParts←v26572 = XR←Narrow(selectedParts←v12056, (* (( (ptr) gf←c98180)+21) ));
SOURCE(31104, 48)
hotOutlineParts←v26600 = XR←Narrow(hotParts←v12084, (* (( (ptr) gf←c98180)+21) ));
SOURCE(31154, 74)
if ((normalOutlineParts←v26572 != 0)) {
completeNormal←v26516 = (unsigned) (0 != (word) IsComplete←P2640(normalOutlineParts←v26572));
}
else {
completeNormal←v26516 = (unsigned) 0;
};
SOURCE(31230, 65)
if ((hotOutlineParts←v26600 != 0)) {
completeHot←v26544 = (unsigned) (0 != (word) IsComplete←P2640(hotOutlineParts←v26600));
}
else {
completeHot←v26544 = (unsigned) 0;
};
SOURCE(31297, 65)
if ((selectedParts←v12056 != 0)) {
if ((0 == quick←v12252)) {
slowNormal←v26460 = (unsigned) 1;
}
else {
slowNormal←v26460 = (unsigned) (0 == completeNormal←v26516);
};
}
else {
slowNormal←v26460 = (unsigned) 0;
};
SOURCE(31364, 54)
if ((hotParts←v12084 != 0)) {
if ((0 == quick←v12252)) {
slowHot←v26488 = (unsigned) 1;
}
else {
slowHot←v26488 = (unsigned) (0 == completeHot←v26544);
};
}
else {
slowHot←v26488 = (unsigned) 0;
};
SOURCE(31420, 1268)
if (((0 != slowNormal←v26460) && (0 != slowHot←v26488))) {
SOURCE(31453, 37)
hotList←v26432 = (* (ptr) hotOutlineParts←v26600 );
SOURCE(31492, 610)
normalList←v26404 = (* (ptr) normalOutlineParts←v26572 );
lab←L100102: ;
if ((normalList←v26404 != 0)) {
}
else {
goto lab←L100099;
};
SOURCE(31581, 497)
if (((* (ptr) normalList←v26404 ) != 0)) {
SOURCE(31672, 201)
{
word pd206;
pd206 = (* (( (ptr) (* (( (ptr) gf←c98180)+207)/* var←c91876 */ ))+17) );
(void) ( *( (fPt) ((* (ptr) pd206 ))))((* (ptr) (* (ptr) normalList←v26404 ) ), (* (( (ptr) (* (ptr) normalList←v26404 ))+1)
), ( ((* (ptr) hotList←v26432 ) == 0) ? 0 : (* (( (ptr) (* (ptr) hotList←v26432 ))+1) ) ) , dc←v12112, camera←v12140, dragInProgress←v12168
, caretIsMoving←v12196, hideHot←v12224, quick←v12252, pd206);
};
}
else {
SOURCE(31873, 205)
if (((* (ptr) hotList←v26432 ) != 0)) {
SOURCE(31940, 138)
{
word pd207;
pd207 = (* (( (ptr) (* (( (ptr) gf←c98180)+207)/* var←c91876 */ ))+17) );
(void) ( *( (fPt) ((* (ptr) pd207 ))))((* (ptr) (* (ptr) hotList←v26432 ) ), 0, (* (( (ptr) (* (ptr) hotList←v26432 ))+1)
), dc←v12112, camera←v12140, dragInProgress←v12168
, caretIsMoving←v12196, hideHot←v12224, quick←v12252, pd207);
};
};
};
SOURCE(32080, 22)
hotList←v26432 = (* (( (ptr) hotList←v26432)+1) );
normalList←v26404 = (* (( (ptr) normalList←v26404)+1) );
goto lab←L100102;
lab←L100099: ;
}
else {
SOURCE(32120, 568)
if ((0 != slowNormal←v26460)) {
SOURCE(32141, 266)
normalList←v26404 = (* (ptr) normalOutlineParts←v26572 );
lab←L100106: ;
if ((normalList←v26404 != 0)) {
}
else {
goto lab←L100103;
};
SOURCE(32232, 175)
if (((* (ptr) normalList←v26404 ) != 0)) {
SOURCE(32263, 144)
{
word pd208;
pd208 = (* (( (ptr) (* (( (ptr) gf←c98180)+207)/* var←c91876 */ ))+17) );
(void) ( *( (fPt) ((* (ptr) pd208 ))))((* (ptr) (* (ptr) normalList←v26404 ) ), (* (( (ptr) (* (ptr) normalList←v26404 ))+1)
), 0, dc←v12112, camera←v12140, dragInProgress←v12168
, caretIsMoving←v12196, hideHot←v12224, quick←v12252, pd208);
};
};
normalList←v26404 = (* (( (ptr) normalList←v26404)+1) );
goto lab←L100106;
lab←L100103: ;
}
else {
SOURCE(32425, 263)
if ((0 != slowHot←v26488)) {
SOURCE(32443, 245)
hotList←v26432 = (* (ptr) hotOutlineParts←v26600 );
lab←L100110: ;
if ((hotList←v26432 != 0)) {
}
else {
goto lab←L100107;
};
SOURCE(32522, 166)
if (((* (ptr) hotList←v26432 ) != 0)) {
SOURCE(32550, 138)
{
word pd209;
pd209 = (* (( (ptr) (* (( (ptr) gf←c98180)+207)/* var←c91876 */ ))+17) );
(void) ( *( (fPt) ((* (ptr) pd209 ))))((* (ptr) (* (ptr) hotList←v26432 ) ), 0, (* (( (ptr) (* (ptr) hotList←v26432 ))+1)
), dc←v12112, camera←v12140, dragInProgress←v12168
, caretIsMoving←v12196, hideHot←v12224, quick←v12252, pd209);
};
};
hotList←v26432 = (* (( (ptr) hotList←v26432)+1) );
goto lab←L100110;
lab←L100107: ;
};
};
};
}
static void OutlineDrawSelectionFeedback←P1560(slice←v12312, selectedParts←v12340, hotParts←v12368, dc←v12396, camera←v12424, dragInProgress←v12452, caretIsMoving←v12480, hideHot←v12508, quick←v12536)
word slice←v12312;
word selectedParts←v12340;
word hotParts←v12368;
word dc←v12396;
word camera←v12424;
word dragInProgress←v12452;
word caretIsMoving←v12480;
word hideHot←v12508;
word quick←v12536;
{
register ptr gf←c98212 = (ptr) &globalframe;
word slowNormal←v26728 = 0;
word slowHot←v26756 = 0;
word completeNormal←v26784 = 0;
word completeHot←v26812 = 0;
W2 firstJoint←v26840;
word normalOutlineParts←v26868;
word hotOutlineParts←v26896;
/* OutlineDrawSelectionFeedback: */
SOURCE(32706, 1471)
SOURCE(32988, 56)
normalOutlineParts←v26868 = XR←Narrow(selectedParts←v12340, (* (( (ptr) gf←c98212)+21) ));
SOURCE(33046, 48)
hotOutlineParts←v26896 = XR←Narrow(hotParts←v12368, (* (( (ptr) gf←c98212)+21) ));
SOURCE(33097, 46)
if (((0 != caretIsMoving←v12480) || (0 != dragInProgress←v12452))) {
SOURCE(33137, 6)
return;
};
SOURCE(33145, 49)
if ( ( (selectedParts←v12340 == 0) ? (hotParts←v12368 == 0) : 0 ) ) {
SOURCE(33188, 6)
return;
};
SOURCE(33197, 74)
if ((normalOutlineParts←v26868 != 0)) {
completeNormal←v26784 = (unsigned) (0 != (word) IsComplete←P2640(normalOutlineParts←v26868));
}
else {
completeNormal←v26784 = (unsigned) 0;
};
SOURCE(33273, 65)
if ((hotOutlineParts←v26896 != 0)) {
completeHot←v26812 = (unsigned) (0 != (word) IsComplete←P2640(hotOutlineParts←v26896));
}
else {
completeHot←v26812 = (unsigned) 0;
};
SOURCE(33340, 65)
if ((selectedParts←v12340 != 0)) {
if ((0 == quick←v12536)) {
slowNormal←v26728 = (unsigned) 1;
}
else {
slowNormal←v26728 = (unsigned) (0 == completeNormal←v26784);
};
}
else {
slowNormal←v26728 = (unsigned) 0;
};
SOURCE(33407, 54)
if ((hotParts←v12368 != 0)) {
if ((0 == quick←v12536)) {
slowHot←v26756 = (unsigned) 1;
}
else {
slowHot←v26756 = (unsigned) (0 == completeHot←v26812);
};
}
else {
slowHot←v26756 = (unsigned) 0;
};
SOURCE(33464, 121)
{
word pd210;
pd210 = (* (( (ptr) (* (( (ptr) gf←c98212)+204)/* var←c91588 */ ))+12) );
(void) ( *( (fPt) ((* (ptr) pd210 ))))(slice←v12312, selectedParts←v12340, hotParts←v12368, dc←v12396, camera←v12424, dragInProgress←v12452
, caretIsMoving←v12480, hideHot←v12508, quick←v12536, pd210);
};
SOURCE(33587, 366)
if ( ( (0 == slowNormal←v26728) ? (0 != completeNormal←v26784) : 0 ) || ( (0 == slowHot←v26756) ? (0 != completeHot←v26812) : 0 ) ) {
SOURCE(33664, 291)
{
word firstChildD←v26940;
word pointGen←v26968;
W3 var←c0428;
SOURCE(33666, 129)
firstChildD←v26940 = ( (0 != completeNormal←v26784) ? (* (ptr) (* (ptr) normalOutlineParts←v26868 ) ) : (* (ptr) (* (ptr) hotOutlineParts←v26896 ) ) ) ;
SOURCE(33797, 69)
{
word pd211;
pd211 = (* (( (ptr) (* (( (ptr) gf←c98212)+207)/* var←c91876 */ ))+36) );
pointGen←v26968 = (word) ( *( (fPt) ((* (ptr) pd211 ))))(firstChildD←v26940, pd211);
};
SOURCE(33868, 85)
{
word pd212;
pd212 = (* (( (ptr) (* (( (ptr) gf←c98212)+207)/* var←c91876 */ ))+41) );
(void) ( *( (fPt) ((* (ptr) pd212 ))))((word) &var←c0428, (* (ptr) firstChildD←v26940 ), pointGen←v26968, pd212);
};
firstJoint←v26840 = (* (W2Pt) &var←c0428 );
};
};
SOURCE(33958, 113)
if ( ( (0 == slowNormal←v26728) ? (0 != completeNormal←v26784) : 0 ) ) {
SOURCE(34000, 71)
{
word pd213;
pd213 = (* (( (ptr) (* (( (ptr) gf←c98212)+209)/* var←c92356 */ ))+21) );
(void) ( *( (fPt) ((* (ptr) pd213 ))))(dc←v12396, firstJoint←v26840, 0, (* (( (ptr) camera←v12424)+4) ), pd213);
};
};
SOURCE(34073, 104)
if ( ( (0 == slowHot←v26756) ? (0 != completeHot←v26812) : 0 ) ) {
SOURCE(34109, 68)
{
word pd214;
pd214 = (* (( (ptr) (* (( (ptr) gf←c98212)+209)/* var←c92356 */ ))+21) );
(void) ( *( (fPt) ((* (ptr) pd214 ))))(dc←v12396, firstJoint←v26840, 1, (* (( (ptr) camera←v12424)+4) ), pd214);
};
};
}
static void DrawAttractorFeedback←P1620(slice←v12596, attractorParts←v12624, selectedParts←v12652, dragInProgress←v12680, dc←v12708, camera←v12736, editConstraints←v12764)
word slice←v12596;
word attractorParts←v12624;
word selectedParts←v12652;
word dragInProgress←v12680;
word dc←v12708;
word camera←v12736;
word editConstraints←v12764;
{
register ptr gf←c98244 = (ptr) &globalframe;
word success←v27012 = 0;
word childD←v27040 = 0;
word childSelectedParts←v27068 = 0;
/* DrawAttractorFeedback: */
SOURCE(34183, 678)
SOURCE(34464, 66)
{
word pd215;
pd215 = (* (( (ptr) (* (( (ptr) gf←c98244)+204)/* var←c91588 */ ))+78) );
childD←v27040 = (word) ( *( (fPt) ((* (ptr) pd215 ))))(slice←v12596, attractorParts←v12624, 0, 0, pd215);
};
SOURCE(34629, 27)
if ((childD←v27040 == 0)) {
SOURCE(34650, 6)
return;
};
SOURCE(34658, 76)
childSelectedParts←v27068 = (word) ChildPartsFromParts←P1740(slice←v12596, selectedParts←v12652, (* (ptr) childD←v27040 ))
;
SOURCE(34736, 125)
{
word pd216;
pd216 = (* (( (ptr) (* (( (ptr) gf←c98244)+207)/* var←c91876 */ ))+18) );
(void) ( *( (fPt) ((* (ptr) pd216 ))))((* (ptr) childD←v27040 ), (* (( (ptr) childD←v27040)+1) ), childSelectedParts←v27068, dragInProgress←v12680, dc←v12708, camera←v12736
, editConstraints←v12764, pd216);
};
}
static word AttractorFeedbackBoundBox←P1680(slice←v12824, attractorParts←v12852, selectedParts←v12880, dragInProgress←v12908, camera←v12936, editConstraints←v12964)
word slice←v12824;
word attractorParts←v12852;
word selectedParts←v12880;
word dragInProgress←v12908;
word camera←v12936;
word editConstraints←v12964;
{
register ptr gf←c98276 = (ptr) &globalframe;
word box←v13008;
word success←v27112 = 0;
word childD←v27140 = 0;
word childSelectedParts←v27168 = 0;
/* AttractorFeedbackBoundBox: */
SOURCE(34867, 661)
SOURCE(34867, 661)
box←v13008 = 0;
SOURCE(35156, 66)
{
word pd217;
pd217 = (* (( (ptr) (* (( (ptr) gf←c98276)+204)/* var←c91588 */ ))+78) );
childD←v27140 = (word) ( *( (fPt) ((* (ptr) pd217 ))))(slice←v12824, attractorParts←v12852, 0, 0, pd217);
};
SOURCE(35290, 27)
if ((childD←v27140 == 0)) {
SOURCE(35311, 6)
return(box←v13008);
};
SOURCE(35319, 76)
childSelectedParts←v27168 = (word) ChildPartsFromParts←P1740(slice←v12824, selectedParts←v12880, (* (ptr) childD←v27140 ))
;
SOURCE(35397, 131)
{
word pd218;
pd218 = (* (( (ptr) (* (( (ptr) gf←c98276)+207)/* var←c91876 */ ))+19) );
box←v13008 = (word) ( *( (fPt) ((* (ptr) pd218 ))))((* (ptr) childD←v27140 ), (* (( (ptr) childD←v27140)+1) ), childSelectedParts←v27168, dragInProgress←v12908, camera←v12936, editConstraints←v12964, pd218)
;
};
SOURCE(34867, 661)
return(box←v13008);
}
static word ChildPartsFromParts←P1740(slice←v13068, parts←v13096, child←v13124)
word slice←v13068;
word parts←v13096;
word child←v13124;
{
register ptr gf←c98308 = (ptr) &globalframe;
word childParts←v13168;
word outlineParts←v27212;
/* ChildPartsFromParts: */
SOURCE(35534, 405)
SOURCE(35534, 405)
childParts←v13168 = 0;
SOURCE(35645, 42)
outlineParts←v27212 = XR←Narrow(parts←v13096, (* (( (ptr) gf←c98308)+21) ));
SOURCE(35689, 42)
if ((child←v13124 == 0) || (parts←v13096 == 0)) {
SOURCE(35720, 11)
return(0);
};
SOURCE(35733, 206)
{
register word descriptors←v27256;
descriptors←v27256 = (* (ptr) outlineParts←v27212 );
lab←L100114: ;
if ((descriptors←v27256 != 0)) {
}
else {
goto lab←L100111;
};
SOURCE(35844, 95)
if ( ( ((* (ptr) descriptors←v27256 ) != 0) ? ((* (ptr) (* (ptr) descriptors←v27256 ) ) == child←v13124) : 0 ) ) {
SOURCE(35908, 31)
return((* (( (ptr) (* (ptr) descriptors←v27256 ))+1) ));
};
descriptors←v27256 = (* (( (ptr) descriptors←v27256)+1) );
goto lab←L100114;
lab←L100111: ;
};
SOURCE(35534, 405)
return(childParts←v13168);
}
static void SaveSelections←P1800(slice←v13228, parts←v13256, selectClass←v13284)
word slice←v13228;
word parts←v13256;
word selectClass←v13284;
{
register ptr gf←c98340 = (ptr) &globalframe;
word children←v27384;
/* SaveSelections: */
SOURCE(35954, 808)
SOURCE(36049, 10)
children←v27384 = (* (( (ptr) XR←Narrow((* (( (ptr) slice←v13228)+1) ), (* (( (ptr) gf←c98340)+13) )))+4) );
SOURCE(36117, 155)
{
register word nextChildList←v27512;
nextChildList←v27512 = children←v27384;
lab←L100118: ;
if ((nextChildList←v27512 != 0)) {
}
else {
goto lab←L100115;
};
SOURCE(36208, 64)
{
word pd219;
pd219 = (* (( (ptr) (* (( (ptr) gf←c98340)+207)/* var←c91876 */ ))+20) );
(void) ( *( (fPt) ((* (ptr) pd219 ))))((* (ptr) nextChildList←v27512 ), 0, selectClass←v13284, pd219);
};
nextChildList←v27512 = (* (( (ptr) nextChildList←v27512)+1) );
goto lab←L100118;
lab←L100115: ;
};
SOURCE(36313, 449)
if ((parts←v13256 != 0)) {
SOURCE(36331, 442)
{
word outlineParts←v27640;
word childrenParts←v27668 = 0;
SOURCE(36364, 42)
outlineParts←v27640 = XR←Narrow(parts←v13256, (* (( (ptr) gf←c98340)+21) ));
SOURCE(36448, 33)
if ((outlineParts←v27640 == 0)) {
SOURCE(36475, 6)
return;
};
SOURCE(36483, 41)
childrenParts←v27668 = (* (ptr) outlineParts←v27640 );
SOURCE(36526, 236)
{
register word nextChildParts←v27796;
nextChildParts←v27796 = childrenParts←v27668;
lab←L100122: ;
if ((nextChildParts←v27796 != 0)) {
}
else {
goto lab←L100119;
};
SOURCE(36635, 127)
if (((* (ptr) nextChildParts←v27796 ) != 0)) {
SOURCE(36668, 94)
{
word pd220;
pd220 = (* (( (ptr) (* (( (ptr) gf←c98340)+207)/* var←c91876 */ ))+20) );
(void) ( *( (fPt) ((* (ptr) pd220 ))))((* (ptr) (* (ptr) nextChildParts←v27796 ) ), (* (( (ptr) (* (ptr) nextChildParts←v27796 ))+1)
), selectClass←v13284, pd220);
};
};
nextChildParts←v27796 = (* (( (ptr) nextChildParts←v27796)+1) );
goto lab←L100122;
lab←L100119: ;
};
};
};
}
static word RemakeSelections←P1860(slice←v13344, selectClass←v13372)
word slice←v13344;
word selectClass←v13372;
{
register ptr gf←c98372 = (ptr) &globalframe;
word parts←v13416;
word childD←v27924 = 0;
word outlineParts←v27952;
word partsFound←v27980 = 0;
word ptr←v28008 = 0;
word children←v28036;
/* RemakeSelections: */
SOURCE(36780, 865)
SOURCE(36780, 865)
parts←v13416 = 0;
SOURCE(36911, 49)
outlineParts←v27952 = XR←NewObject(4, (* (( (ptr) gf←c98372)+21) ));
SOURCE(37018, 10)
children←v28036 = (* (( (ptr) XR←Narrow((* (( (ptr) slice←v13344)+1) ), (* (( (ptr) gf←c98372)+13) )))+4) );
SOURCE(37086, 70)
{
W2 var←c93732;
{
word pd221;
pd221 = (* (( (ptr) (* (( (ptr) gf←c98372)+214)/* var←c92996 */ ))+15) );
(void) ( *( (fPt) ((* (ptr) pd221 ))))((word) (&var←c93732), pd221);
};
ptr←v28008 = var←c93732.f1;
(* (ptr) outlineParts←v27952 ) = var←c93732.f0;
};
SOURCE(37158, 420)
{
register word nextChildren←v28248;
nextChildren←v28248 = children←v28036;
lab←L100126: ;
if ((nextChildren←v28248 != 0)) {
}
else {
goto lab←L100123;
};
{
word nextChildPart←v28376;
SOURCE(37246, 88)
{
word pd222;
pd222 = (* (( (ptr) (* (( (ptr) gf←c98372)+207)/* var←c91876 */ ))+21) );
nextChildPart←v28376 = (word) ( *( (fPt) ((* (ptr) pd222 ))))((* (ptr) nextChildren←v28248 ), selectClass←v13372, pd222)
;
};
SOURCE(37336, 136)
if ((nextChildPart←v28376 == 0)) {
SOURCE(37362, 18)
childD←v27924 = 0;
}
else {
SOURCE(37382, 71)
{
word pd223;
pd223 = (* (( (ptr) (* (( (ptr) gf←c98372)+205)/* var←c91620 */ ))+8) );
childD←v27924 = (word) ( *( (fPt) ((* (ptr) pd223 ))))((* (ptr) nextChildren←v28248 ), nextChildPart←v28376, pd223);
};
SOURCE(37455, 17)
partsFound←v27980 = 1;
};
SOURCE(37477, 101)
{
W2 var←c93764;
{
word pd224;
pd224 = (* (( (ptr) (* (( (ptr) gf←c98372)+214)/* var←c92996 */ ))+16) );
(void) ( *( (fPt) ((* (ptr) pd224 ))))((word) &var←c93764, childD←v27924, (* (ptr) outlineParts←v27952 ), ptr←v28008, pd224)
;
};
ptr←v28008 = var←c93764.f1;
(* (ptr) outlineParts←v27952 ) = var←c93764.f0;
};
};
nextChildren←v28248 = (* (( (ptr) nextChildren←v28248)+1) );
goto lab←L100126;
lab←L100123: ;
};
SOURCE(37589, 56)
if ((0 != partsFound←v27980)) {
SOURCE(37608, 26)
parts←v13416 = outlineParts←v27952;
}
else {
SOURCE(37634, 11)
parts←v13416 = 0;
};
SOURCE(36780, 865)
return(parts←v13416);
}
static void Transform←P1920(slice←v13476, parts←v13504, transform←v13532, editConstraints←v13560, formal←c0948)
word slice←v13476;
word parts←v13504;
word transform←v13532;
word editConstraints←v13560;
word formal←c0948;
{
W13 var←c98404;
/* declaration of history←v13588 skipped */
register ptr gf←c98436 = (ptr) &globalframe;
/* declaration of var←c93796 skipped */
/* declaration of var←c93828 skipped */
word outlineParts←v28420;
word outlineData←v28448;
(* (( (ptr) &var←c98404)+4)/* history←v13588 */ ) = formal←c0948;
/* Transform: */
SOURCE(37651, 1925)
{
word tmpAddr225;
tmpAddr225 = (word) (( (ptr) &var←c98404)+5)/* var←c93796 */ ;
(* (ptr) tmpAddr225 ) = ( ((word) (fPt) RestChildProc←P6816) );
(* (( (ptr) tmpAddr225) + 1) ) = 1;
};
{
word tmpAddr226;
tmpAddr226 = (word) (( (ptr) &var←c98404)+7)/* var←c93828 */ ;
(* (ptr) tmpAddr226 ) = ( ((word) (fPt) FirstChildProc←P6756) );
(* (( (ptr) tmpAddr226) + 1) ) = 1;
};
SOURCE(37823, 42)
outlineParts←v28420 = XR←Narrow(parts←v13504, (* (( (ptr) gf←c98436)+21) ));
SOURCE(37867, 45)
outlineData←v28448 = XR←Narrow((* (( (ptr) slice←v13476)+1) ), (* (( (ptr) gf←c98436)+13) ));
SOURCE(37914, 401)
if ((outlineParts←v28420 == 0)) {
SOURCE(37943, 148)
{
register word list←v28492;
list←v28492 = (* (( (ptr) outlineData←v28448)+4) );
lab←L100130: ;
if ((list←v28492 != 0)) {
}
else {
goto lab←L100127;
};
SOURCE(38021, 70)
{
word pd227;
pd227 = (* (( (ptr) (* (( (ptr) gf←c98436)+207)/* var←c91876 */ ))+22) );
(void) ( *( (fPt) ((* (ptr) pd227 ))))((* (ptr) list←v28492 ), 0, transform←v13532, editConstraints←v13560, 0, pd227);
};
list←v28492 = (* (( (ptr) list←v28492)+1) );
goto lab←L100130;
lab←L100127: ;
};
}
else {
SOURCE(38111, 204)
{
register word list←v28620;
list←v28620 = (* (ptr) outlineParts←v28420 );
lab←L100134: ;
if ((list←v28620 != 0)) {
}
else {
goto lab←L100131;
};
SOURCE(38203, 112)
if (((* (ptr) list←v28620 ) != 0)) {
SOURCE(38226, 89)
{
word pd228;
pd228 = (* (( (ptr) (* (( (ptr) gf←c98436)+207)/* var←c91876 */ ))+22) );
(void) ( *( (fPt) ((* (ptr) pd228 ))))((* (ptr) (* (ptr) list←v28620 ) ), (* (( (ptr) (* (ptr) list←v28620 ))+1) ), transform←v13532, editConstraints←v13560, 0, pd228)
;
};
};
list←v28620 = (* (( (ptr) list←v28620)+1) );
goto lab←L100134;
lab←L100131: ;
};
};
SOURCE(38329, 27)
{
word pd229;
pd229 = (* (( (ptr) (* (( (ptr) gf←c98436)+205)/* var←c91620 */ ))+68) );
(void) ( *( (fPt) ((* (ptr) pd229 ))))(slice←v13476, pd229);
};
SOURCE(38358, 137)
if ((outlineParts←v28420 == 0) || (0 != (word) IsComplete←P2640(outlineParts←v28420))) {
SOURCE(38413, 82)
{
word pd230;
pd230 = (* (( (ptr) (* (( (ptr) gf←c98436)+213)/* var←c92868 */ ))+37) );
(* (( (ptr) outlineData←v28448)+1) ) = (word) ( *( (fPt) ((* (ptr) pd230 ))))((* (( (ptr) outlineData←v28448)+1) ), transform←v13532, pd230)
;
};
};
SOURCE(38497, 1079)
if (((* (( (ptr) outlineData←v28448)+2) ) != 0)) {
SOURCE(38532, 1046)
{
/* declaration of recentlyFilledChild←v28804 skipped */
word foundFilledBox←v28832 = 0;
/* declaration of screenStyle←v28860 skipped */
/* declaration of loc←v28888 skipped */
SOURCE(39322, 26)
(* (( (ptr) &var←c98404)+9)/* recentlyFilledChild←v28804 */ ) = 0;
SOURCE(39350, 41)
(* (( (ptr) &var←c98404)+10)/* screenStyle←v28860 */ ) = 0;
SOURCE(39393, 22)
(* (( (ptr) &var←c98404)+11) ) = 0;
(* (( (ptr) &var←c98404)+12) ) = 0;
SOURCE(39418, 73)
{
word pd231;
pd231 = (* (( (ptr) (* (( (ptr) gf←c98436)+204)/* var←c91588 */ ))+73) );
foundFilledBox←v28832 = (word) ( *( (fPt) ((* (ptr) pd231 ))))(slice←v13476, 1, (word) (( (bPt) &var←c98404)+28)/* var←c93828 */ , (* (
( (ptr) gf←c98436)+32) ), pd231);
};
SOURCE(39493, 83)
if ((0 != foundFilledBox←v28832)) {
SOURCE(39516, 60)
{
word var←c93892;
word pd232;
pd232 = (* (( (ptr) (* (( (ptr) gf←c98436)+204)/* var←c91588 */ ))+73) );
var←c93892 = (word) ( *( (fPt) ((* (ptr) pd232 ))))(slice←v13476, 1, (word) (( (bPt) &var←c98404)+20)/* var←c93796 */ , (* (
( (ptr) gf←c98436)+32) ), pd232);
};
};
};
};
}
static word FirstChildProc←P6756(slice←v28964, formal←c98500)
word slice←v28964;
word formal←c98500;
{
register ptr gf←c98468 = (ptr) &globalframe;
word done←v29008;
formal←c98500 = (formal←c98500 - 28);
/* FirstChildProc: */
SOURCE(38534, 22)
SOURCE(38534, 22)
done←v29008 = 0;
SOURCE(38621, 46)
{
W3 var←c93924;
{
word pd233;
pd233 = (* (( (ptr) (* (( (ptr) gf←c98468)+205)/* var←c91620 */ ))+48) );
(void) ( *( (fPt) ((* (ptr) pd233 ))))((word) &var←c93924, slice←v28964, pd233);
};
(* (( (ptr) formal←c98500)+10) ) = var←c93924.f2;
(* (W2Pt) (( (ptr) formal←c98500)+11) ) = (* (W2Pt) &var←c93924 );
};
SOURCE(38669, 35)
if (((* (( (ptr) formal←c98500)+11) ) == 0)) {
SOURCE(38690, 14)
return(0);
};
SOURCE(38732, 52)
{
word pd234;
pd234 = (* (( (ptr) (* (( (ptr) gf←c98468)+205)/* var←c91620 */ ))+47) );
(void) ( *( (fPt) ((* (ptr) pd234 ))))(slice←v28964, (* (W2Pt) (( (ptr) formal←c98500)+11) ), (* (( (ptr) formal←c98500)+10)
), (* (( (ptr) formal←c98500)+4) ), pd234);
};
SOURCE(38817, 27)
(* (( (ptr) formal←c98500)+9) ) = slice←v28964;
SOURCE(38885, 12)
return(1);
}
static word RestChildProc←P6816(slice←v29068, formal←c98564)
word slice←v29068;
word formal←c98564;
{
register ptr gf←c98532 = (ptr) &globalframe;
word done←v29112;
formal←c98564 = (formal←c98564 - 20);
/* RestChildProc: */
SOURCE(38922, 21)
SOURCE(38922, 21)
done←v29112 = 0;
SOURCE(39008, 306)
if ((slice←v29068 != (* (( (ptr) formal←c98564)+9) ))) {
SOURCE(39042, 274)
{
W3 siblingNodes←v29140;
W2 resumeLoc←v29168;
SOURCE(39090, 83)
{
word pd235;
pd235 = (* (( (ptr) (* (( (ptr) gf←c98532)+205)/* var←c91620 */ ))+49) );
(void) ( *( (fPt) ((* (ptr) pd235 ))))((word) &siblingNodes←v29140, (* (( (ptr) formal←c98564)+9) ), pd235);
};
SOURCE(39175, 50)
resumeLoc←v29168 = (* (W2Pt) (( (ptr) &siblingNodes←v29140)+1) );
SOURCE(39227, 58)
{
word pd236;
pd236 = (* (( (ptr) (* (( (ptr) gf←c98532)+205)/* var←c91620 */ ))+47) );
(void) ( *( (fPt) ((* (ptr) pd236 ))))(slice←v29068, resumeLoc←v29168, (* (( (ptr) formal←c98564)+10) ), (* (( (ptr) formal←c98564)+4)
), pd236);
};
SOURCE(39287, 27)
(* (( (ptr) formal←c98564)+9) ) = slice←v29068;
};
};
SOURCE(38922, 21)
return(done←v29112);
}
static word OneChildPartOnly←P1980(realParts←v13648)
word realParts←v13648;
{
word theChild←v13692;
/* OneChildPartOnly: */
SOURCE(39586, 285)
SOURCE(39586, 285)
theChild←v13692 = 0;
SOURCE(39675, 196)
{
register word list←v29212;
list←v29212 = (* (ptr) realParts←v13648 );
lab←L100138: ;
if ((list←v29212 != 0)) {
}
else {
goto lab←L100135;
};
SOURCE(39764, 107)
if (((* (ptr) list←v29212 ) != 0)) {
SOURCE(39789, 82)
if ((theChild←v13692 != 0)) {
SOURCE(39810, 40)
return(0);
}
else {
SOURCE(39850, 21)
theChild←v13692 = (* (ptr) list←v29212 );
};
};
list←v29212 = (* (( (ptr) list←v29212)+1) );
goto lab←L100138;
lab←L100135: ;
};
SOURCE(39586, 285)
return(theChild←v13692);
}
static word Describe←P2040(sliceD←v13752, className←v13780)
word sliceD←v13752;
word className←v13780;
{
register ptr gf←c98596 = (ptr) &globalframe;
word rope←v13824;
word realParts←v29340 = 0;
word theChild←v29368 = 0;
/* Describe: */
SOURCE(39889, 578)
SOURCE(39889, 578)
rope←v13824 = 0;
SOURCE(40041, 44)
if (((* (( (ptr) sliceD←v13752)+1) ) == 0)) {
SOURCE(40068, 17)
return((* (( (ptr) gf←c98596)+33) ));
};
SOURCE(40087, 32)
realParts←v29340 = XR←Narrow((* (( (ptr) sliceD←v13752)+1) ), (* (( (ptr) gf←c98596)+21) ));
SOURCE(40121, 346)
theChild←v29368 = (word) OneChildPartOnly←P1980(realParts←v29340);
if ((theChild←v29368 != 0)) {
SOURCE(40176, 36)
{
word pd237;
pd237 = (* (( (ptr) (* (( (ptr) gf←c98596)+207)/* var←c91876 */ ))+23) );
rope←v13824 = (word) ( *( (fPt) ((* (ptr) pd237 ))))(theChild←v29368, pd237);
};
}
else {
SOURCE(40223, 177)
{
register word list←v29412;
list←v29412 = (* (ptr) realParts←v29340 );
lab←L100142: ;
if ((list←v29412 != 0)) {
}
else {
goto lab←L100139;
};
SOURCE(40312, 88)
if (((* (ptr) list←v29412 ) != 0)) {
SOURCE(40335, 65)
{
word pd238;
pd238 = (* (( (ptr) (* (( (ptr) gf←c98596)+217)/* var←c93988 */ ))+6) );
return((word) ( *( (fPt) ((* (ptr) pd238 ))))((* (( (ptr) gf←c98596)+34) ), className←v13780, pd238));
};
};
list←v29412 = (* (( (ptr) list←v29412)+1) );
goto lab←L100142;
lab←L100139: ;
};
SOURCE(40411, 56)
{
word pd239;
pd239 = (* (( (ptr) (* (( (ptr) gf←c98596)+217)/* var←c93988 */ ))+5) );
rope←v13824 = (word) ( *( (fPt) ((* (ptr) pd239 ))))((* (( (ptr) gf←c98596)+35) ), className←v13780, (* (( (ptr) gf←c98596)+36)
), 0, 0, pd239);
};
};
SOURCE(39889, 578)
return(rope←v13824);
}
static word DescribeHit←P2100(slice←v13884, hitData←v13912)
word slice←v13884;
word hitData←v13912;
{
register ptr gf←c98628 = (ptr) &globalframe;
word rope←v13972;
word outlineData←v29540;
word outlineHitData←v29568;
word count←v29596 = 0;
/* DescribeHit: */
SOURCE(40476, 808)
SOURCE(40476, 808)
rope←v13972 = 0;
SOURCE(40564, 45)
outlineData←v29540 = XR←Narrow((* (( (ptr) slice←v13884)+1) ), (* (( (ptr) gf←c98628)+13) ));
SOURCE(40611, 48)
outlineHitData←v29568 = XR←Narrow(hitData←v13912, (* (( (ptr) gf←c98628)+30) ));
SOURCE(40677, 527)
{
register word children←v29640;
children←v29640 = (* (( (ptr) outlineData←v29540)+4) );
lab←L100146: ;
if ((children←v29640 != 0)) {
}
else {
goto lab←L100143;
};
{
word child←v29768;
SOURCE(40765, 29)
child←v29768 = (* (ptr) children←v29640 );
SOURCE(40796, 386)
if ((child←v29768 == (* (ptr) outlineHitData←v29568 ))) {
SOURCE(40831, 353)
{
word clusterRope←v29812 = 0;
SOURCE(40857, 141)
{
word pd240;
pd240 = (* (( (ptr) (* (( (ptr) gf←c98628)+218)/* var←c94020 */ ))+39) );
if ((0 != (word) ( *( (fPt) ((* (ptr) pd240 ))))(slice←v13884, pd240))) {
SOURCE(40891, 59)
{
W2 var←c94052;
var←c94052.f0 = 5;
var←c94052.f1 = count←v29596;
{
word pd241;
pd241 = (* (( (ptr) (* (( (ptr) gf←c98628)+210)/* var←c92452 */ ))+63) );
clusterRope←v29812 = (word) ( *( (fPt) ((* (ptr) pd241 ))))((* (( (ptr) gf←c98628)+38) ), var←c94052, pd241);
};
};
}
else {
SOURCE(40950, 48)
{
W2 var←c94084;
var←c94084.f0 = 5;
var←c94084.f1 = count←v29596;
{
word pd242;
pd242 = (* (( (ptr) (* (( (ptr) gf←c98628)+210)/* var←c92452 */ ))+63) );
clusterRope←v29812 = (word) ( *( (fPt) ((* (ptr) pd242 ))))((* (( (ptr) gf←c98628)+39) ), var←c94084, pd242);
};
};
};
};
SOURCE(41000, 81)
{
word pd243;
pd243 = (* (( (ptr) (* (( (ptr) gf←c98628)+204)/* var←c91588 */ ))+62) );
if ((0 == (word) ( *( (fPt) ((* (ptr) pd243 ))))(child←v29768, pd243))) {
SOURCE(41037, 44)
{
word pd244;
pd244 = (* (( (ptr) (* (( (ptr) gf←c98628)+217)/* var←c93988 */ ))+6) );
clusterRope←v29812 = (word) ( *( (fPt) ((* (ptr) pd244 ))))(clusterRope←v29812, (* (( (ptr) gf←c98628)+40) ), pd244);
};
};
};
SOURCE(41083, 91)
{
word var←c94116;
{
word pd245;
pd245 = (* (( (ptr) (* (( (ptr) gf←c98628)+207)/* var←c91876 */ ))+24) );
var←c94116 = (word) ( *( (fPt) ((* (ptr) pd245 ))))(child←v29768, (* (( (ptr) outlineHitData←v29568)+1) ), pd245);
};
{
word pd246;
pd246 = (* (( (ptr) (* (( (ptr) gf←c98628)+217)/* var←c93988 */ ))+6) );
rope←v13972 = (word) ( *( (fPt) ((* (ptr) pd246 ))))(clusterRope←v29812, var←c94116, pd246);
};
};
SOURCE(41176, 6)
return(rope←v13972);
};
};
SOURCE(41187, 17)
count←v29596 = (count←v29596 + 1);
};
children←v29640 = (* (( (ptr) children←v29640)+1) );
goto lab←L100146;
lab←L100143: ;
};
SOURCE(41215, 69)
{
word var←c0523;
var←c0523 = (* (( (ptr) gf←c98628)+41) );
(void) (XR←RaiseSignal((* (( (ptr) gf←c98628)+4)/* Problem←v5520 */ ), 0, (word) &var←c0523));
};
SOURCE(40476, 808)
return(rope←v13972);
}
static void Fileout←P2160(slice←v14032, f←v14060)
word slice←v14032;
word f←v14060;
{
register ptr gf←c98660 = (ptr) &globalframe;
word outlineData←v29856;
word count←v29884 = 0;
/* Fileout: */
SOURCE(41290, 421)
SOURCE(41344, 45)
outlineData←v29856 = XR←Narrow((* (( (ptr) slice←v14032)+1) ), (* (( (ptr) gf←c98660)+13) ));
SOURCE(41407, 110)
{
register word childList←v29928;
childList←v29928 = (* (( (ptr) outlineData←v29856)+4) );
lab←L100150: ;
if ((childList←v29928 != 0)) {
}
else {
goto lab←L100147;
};
SOURCE(41500, 17)
count←v29884 = (count←v29884 + 1);
childList←v29928 = (* (( (ptr) childList←v29928)+1) );
goto lab←L100150;
lab←L100147: ;
};
SOURCE(41528, 45)
{
W2 var←c94148;
var←c94148.f0 = 5;
var←c94148.f1 = count←v29884;
{
word pd247;
pd247 = (* (( (ptr) (* (( (ptr) gf←c98660)+210)/* var←c92452 */ ))+61) );
(void) ( *( (fPt) ((* (ptr) pd247 ))))(f←v14060, (* (( (ptr) gf←c98660)+42) ), var←c94148, pd247);
};
};
SOURCE(41575, 136)
{
register word childList←v30056;
childList←v30056 = (* (( (ptr) outlineData←v29856)+4) );
lab←L100154: ;
if ((childList←v30056 != 0)) {
}
else {
goto lab←L100151;
};
SOURCE(41668, 43)
{
word pd248;
pd248 = (* (( (ptr) (* (( (ptr) gf←c98660)+207)/* var←c91876 */ ))+69) );
(void) ( *( (fPt) ((* (ptr) pd248 ))))(f←v14060, (* (ptr) childList←v30056 ), pd248);
};
childList←v30056 = (* (( (ptr) childList←v30056)+1) );
goto lab←L100154;
lab←L100151: ;
};
}
static word Filein←P2220(f←v14120, version←v14148, router←v14176, camera←v14204)
word f←v14120;
word version←v14148;
word router←v14176;
word camera←v14204;
{
register ptr gf←c98692 = (ptr) &globalframe;
word children←v14248;
word count←v30184 = 0;
word someChild←v30212 = 0;
word nextChild←v30240 = 0;
word childList←v30268 = 0;
word ptr←v30296 = 0;
/* Filein: */
SOURCE(41774, 1239)
SOURCE(41774, 1239)
children←v14248 = 0;
SOURCE(41973, 105)
{
word x249;
word x251;
if (((
x249 = version←v14148, *(float*)&x249
) >= (
x251 = (* (ptr) &fc250 ), *(float*)&x251
))) {
SOURCE(42000, 40)
{
word pd252;
pd252 = (* (( (ptr) (* (( (ptr) gf←c98692)+212)/* var←c92516 */ ))+9) );
(void) ( *( (fPt) ((* (ptr) pd252 ))))(f←v14120, (* (( (ptr) gf←c98692)+43) ), pd252);
};
}
else {
SOURCE(42040, 38)
{
word pd253;
pd253 = (* (( (ptr) (* (( (ptr) gf←c98692)+212)/* var←c92516 */ ))+9) );
(void) ( *( (fPt) ((* (ptr) pd253 ))))(f←v14120, (* (( (ptr) gf←c98692)+44) ), pd253);
};
};
};
SOURCE(42080, 25)
{
word pd254;
pd254 = (* (( (ptr) (* (( (ptr) gf←c98692)+212)/* var←c92516 */ ))+10) );
(void) ( *( (fPt) ((* (ptr) pd254 ))))(f←v14120, 91, pd254);
};
SOURCE(42107, 28)
{
word pd255;
pd255 = (* (( (ptr) (* (( (ptr) gf←c98692)+212)/* var←c92516 */ ))+25) );
count←v30184 = (word) ( *( (fPt) ((* (ptr) pd255 ))))(f←v14120, pd255);
};
SOURCE(42137, 25)
{
word pd256;
pd256 = (* (( (ptr) (* (( (ptr) gf←c98692)+212)/* var←c92516 */ ))+10) );
(void) ( *( (fPt) ((* (ptr) pd256 ))))(f←v14120, 93, pd256);
};
SOURCE(42164, 849)
if ((count←v30184 > 0)) {
SOURCE(42182, 45)
{
W2 var←c94180;
{
word pd257;
pd257 = (* (( (ptr) (* (( (ptr) gf←c98692)+214)/* var←c92996 */ ))+20) );
(void) ( *( (fPt) ((* (ptr) pd257 ))))((word) (&var←c94180), pd257);
};
ptr←v30296 = var←c94180.f1;
childList←v30268 = var←c94180.f0;
};
SOURCE(42229, 664)
{
register word i←v30424 = 0;
register word noName←c94212;
noName←c94212 = count←v30184;
if ((i←v30424 >= noName←c94212)) {
goto lab←L100155;
};
lab←L100158: ;
SOURCE(42257, 107)
{
word pd258;
word x259;
word x260;
pd258 = (* (( (ptr) (* (( (ptr) gf←c98692)+207)/* var←c91876 */ ))+70) );
nextChild←v30240 = (word) ( *( (fPt) ((* (ptr) pd258 ))))(f←v14120, version←v14148, router←v14176, camera←v14204, ( ((
x259 = version←v14148, *(float*)&x259
) >= (
x260 = (* (ptr) &fc101 ), *(float*)&x260
)) ? 0 : (* (( (ptr) gf←c98692)+6)/* trajClass←v7480 */ ) ) , pd258);
};
SOURCE(42427, 245)
{
word tc261;
word tc262;
word pd263;
if ( ( (someChild←v30212 == 0) ? (nextChild←v30240 != 0) : 0 ) ) {
pd263 = (* (( (ptr) (* (( (ptr) gf←c98692)+207)/* var←c91876 */ ))+6) );
tc262 = (word) ((word) ( *( (fPt) ((* (ptr) pd263 ))))(nextChild←v30240, pd263) == (* (( (ptr) gf←c98692)+59) ));
}
else {
tc262 = (word) 0;
};
if (tc262) {
tc261 = (word) ((* (ptr) XR←Narrow((* (( (ptr) nextChild←v30240)+1) ), (* (( (ptr) gf←c98692)+31) )) ) == 3);
}
else {
tc261 = (word) 0;
};
if (tc261) {
SOURCE(42558, 15)
(* (( (ptr) gf←c98692)+5)/* fillColor←v7452 */ ) = 0;
SOURCE(42627, 45)
(* (ptr) XR←Narrow((* (( (ptr) nextChild←v30240)+1) ), (* (( (ptr) gf←c98692)+31) )) ) = 0;
};
};
SOURCE(42713, 180)
if ((nextChild←v30240 != 0)) {
SOURCE(42737, 21)
someChild←v30212 = nextChild←v30240;
SOURCE(42760, 64)
{
W2 var←c94244;
{
word pd264;
pd264 = (* (( (ptr) (* (( (ptr) gf←c98692)+214)/* var←c92996 */ ))+21) );
(void) ( *( (fPt) ((* (ptr) pd264 ))))((word) &var←c94244, nextChild←v30240, childList←v30268, ptr←v30296, pd264);
};
ptr←v30296 = var←c94244.f1;
childList←v30268 = var←c94244.f0;
};
}
else {
SOURCE(42833, 60)
(void) ComplainAboutFile←P2400(f←v14120, (* (( (ptr) gf←c98692)+45) ), (* (( (ptr) gf←c98692)+46) ), router←v14176);
};
i←v30424 = (i←v30424 + 1);
if ((i←v30424 < noName←c94212)) {
goto lab←L100158;
};
lab←L100155: ;
};
SOURCE(42904, 17)
return(childList←v30268);
}
else {
SOURCE(42930, 83)
(void) ComplainAboutFile←P2400(f←v14120, (* (( (ptr) gf←c98692)+45) ), (* (( (ptr) gf←c98692)+47) ), router←v14176);
};
SOURCE(41774, 1239)
return(children←v14248);
}
static void OutlineFileout←P2280(slice←v14392, f←v14420)
word slice←v14392;
word f←v14420;
{
register ptr gf←c98724 = (ptr) &globalframe;
word outlineData←v30468;
/* OutlineFileout: */
SOURCE(43018, 393)
SOURCE(43079, 45)
outlineData←v30468 = XR←Narrow((* (( (ptr) slice←v14392)+1) ), (* (( (ptr) gf←c98724)+13) ));
SOURCE(43126, 24)
{
word pd265;
pd265 = (* (( (ptr) (* (( (ptr) gf←c98724)+210)/* var←c92452 */ ))+93) );
(void) ( *( (fPt) ((* (ptr) pd265 ))))(f←v14420, (* (( (ptr) gf←c98724)+48) ), 0, 2147483647, pd265);
};
SOURCE(43152, 47)
{
word pd266;
pd266 = (* (( (ptr) (* (( (ptr) gf←c98724)+211)/* var←c92484 */ ))+6) );
(void) ( *( (fPt) ((* (ptr) pd266 ))))(f←v14420, (* (( (ptr) outlineData←v30468)+1) ), pd266);
};
SOURCE(43201, 18)
{
word pd267;
pd267 = (* (( (ptr) (* (( (ptr) gf←c98724)+210)/* var←c92452 */ ))+93) );
(void) ( *( (fPt) ((* (ptr) pd267 ))))(f←v14420, (* (( (ptr) gf←c98724)+49) ), 0, 2147483647, pd267);
};
SOURCE(43221, 44)
{
word pd268;
pd268 = (* (( (ptr) (* (( (ptr) gf←c98724)+211)/* var←c92484 */ ))+15) );
(void) ( *( (fPt) ((* (ptr) pd268 ))))(f←v14420, (* (ptr) outlineData←v30468 ), pd268);
};
SOURCE(43268, 24)
{
word pd269;
pd269 = (* (( (ptr) (* (( (ptr) gf←c98724)+210)/* var←c92452 */ ))+93) );
(void) ( *( (fPt) ((* (ptr) pd269 ))))(f←v14420, (* (( (ptr) gf←c98724)+50) ), 0, 2147483647, pd269);
};
SOURCE(43294, 70)
{
word pd270;
pd270 = (* (( (ptr) (* (( (ptr) gf←c98724)+211)/* var←c92484 */ ))+8) );
(void) ( *( (fPt) ((* (ptr) pd270 ))))(f←v14420, (* (( (ptr) outlineData←v30468)+2) ), (* (( (ptr) outlineData←v30468)+3)
), pd270);
};
SOURCE(43367, 16)
{
word pd271;
pd271 = (* (( (ptr) (* (( (ptr) gf←c98724)+210)/* var←c92452 */ ))+21) );
(void) ( *( (fPt) ((* (ptr) pd271 ))))(f←v14420, 10, pd271);
};
SOURCE(43385, 26)
{
word pd272;
pd272 = (* (( (ptr) (* (( (ptr) gf←c98724)+204)/* var←c91588 */ ))+20) );
(void) ( *( (fPt) ((* (ptr) pd272 ))))(slice←v14392, f←v14420, pd272);
};
}
static word OutlineFilein←P2340(f←v14480, version←v14508, router←v14536, camera←v14564)
word f←v14480;
word version←v14508;
word router←v14536;
word camera←v14564;
{
register ptr gf←c98756 = (ptr) &globalframe;
word slice←v14608;
word oddWrap←v30512 = 1;
word fillColor←v30540 = 0;
word fillText←v30568 = 0;
word screenStyle←v30596 = 1;
word childList←v30624 = 0;
/* OutlineFilein: */
SOURCE(43417, 920)
SOURCE(43417, 920)
slice←v14608 = 0;
SOURCE(43652, 64)
if (((* (( (ptr) gf←c98756)+6)/* trajClass←v7480 */ ) == 0)) {
SOURCE(43674, 42)
{
word pd273;
pd273 = (* (( (ptr) (* (( (ptr) gf←c98756)+205)/* var←c91620 */ ))+7) );
(* (( (ptr) gf←c98756)+6)/* trajClass←v7480 */ ) = (word) ( *( (fPt) ((* (ptr) pd273 ))))((* ((( (ptr) gf←c98756)+59)) ), pd273)
;
};
};
SOURCE(43718, 35)
{
word pd274;
pd274 = (* (( (ptr) (* (( (ptr) gf←c98756)+212)/* var←c92516 */ ))+9) );
(void) ( *( (fPt) ((* (ptr) pd274 ))))(f←v14480, (* (( (ptr) gf←c98756)+51) ), pd274);
};
SOURCE(43755, 43)
{
word pd275;
pd275 = (* (( (ptr) (* (( (ptr) gf←c98756)+212)/* var←c92516 */ ))+16) );
fillColor←v30540 = (word) ( *( (fPt) ((* (ptr) pd275 ))))(f←v14480, version←v14508, pd275);
};
SOURCE(43800, 88)
{
word x276;
word x277;
if (((
x276 = version←v14508, *(float*)&x276
) >= (
x277 = (* (ptr) &fc101 ), *(float*)&x277
))) {
SOURCE(43827, 28)
{
word pd278;
pd278 = (* (( (ptr) (* (( (ptr) gf←c98756)+212)/* var←c92516 */ ))+9) );
(void) ( *( (fPt) ((* (ptr) pd278 ))))(f←v14480, (* (( (ptr) gf←c98756)+52) ), pd278);
};
SOURCE(43857, 31)
{
word pd279;
pd279 = (* (( (ptr) (* (( (ptr) gf←c98756)+212)/* var←c92516 */ ))+24) );
oddWrap←v30512 = (word) ( *( (fPt) ((* (ptr) pd279 ))))(f←v14480, pd279);
};
};
};
SOURCE(43893, 119)
{
word x280;
word x282;
if (((
x280 = version←v14508, *(float*)&x280
) >= (
x282 = (* (ptr) &fc281 ), *(float*)&x282
))) {
SOURCE(43920, 34)
{
word pd283;
pd283 = (* (( (ptr) (* (( (ptr) gf←c98756)+212)/* var←c92516 */ ))+9) );
(void) ( *( (fPt) ((* (ptr) pd283 ))))(f←v14480, (* (( (ptr) gf←c98756)+53) ), pd283);
};
SOURCE(43956, 56)
{
W2 var←c94276;
{
word pd284;
pd284 = (* (( (ptr) (* (( (ptr) gf←c98756)+212)/* var←c92516 */ ))+18) );
(void) ( *( (fPt) ((* (ptr) pd284 ))))((word) &var←c94276, f←v14480, version←v14508, pd284);
};
screenStyle←v30596 = var←c94276.f1;
fillText←v30568 = var←c94276.f0;
};
};
};
SOURCE(44017, 145)
{
word x285;
word x287;
if (((
x285 = version←v14508, *(float*)&x285
) < (
x287 = (* (ptr) &fc286 ), *(float*)&x287
))) {
SOURCE(44094, 35)
{
word pd288;
pd288 = (* (( (ptr) (* (( (ptr) gf←c98756)+212)/* var←c92516 */ ))+9) );
(void) ( *( (fPt) ((* (ptr) pd288 ))))(f←v14480, (* (( (ptr) gf←c98756)+54) ), pd288);
};
SOURCE(44131, 31)
{
word var←c94308;
word pd289;
pd289 = (* (( (ptr) (* (( (ptr) gf←c98756)+212)/* var←c92516 */ ))+14) );
var←c94308 = (word) ( *( (fPt) ((* (ptr) pd289 ))))(f←v14480, pd289);
};
};
};
SOURCE(44167, 55)
{
word pd290;
pd290 = (* (( (ptr) (* (( (ptr) gf←c98756)+204)/* var←c91588 */ ))+21) );
childList←v30624 = (word) ( *( (fPt) ((* (ptr) pd290 ))))(f←v14480, version←v14508, router←v14536, camera←v14564, pd290)
;
};
SOURCE(44224, 113)
if ((childList←v30624 != 0)) {
SOURCE(44246, 91)
slice←v14608 = (word) OutlineFromChildList←P180(childList←v30624, fillColor←v30540, oddWrap←v30512, fillText←v30568, screenStyle←v30596, version←v14508)
;
};
SOURCE(43417, 920)
return(slice←v14608);
}
static void ComplainAboutFile←P2400(formal←c0949, className←v14696, complaint←v14724, router←v14752)
word formal←c0949;
word className←v14696;
word complaint←v14724;
word router←v14752;
{
W8 var←c98788;
/* declaration of f←v14668 skipped */
register ptr gf←c98820 = (ptr) &globalframe;
word of←v30752 = 0;
/* declaration of fileName←v30780 skipped */
W2 var←c0569;
var←c98788.f4/* f←v14668 */ = formal←c0949;
/* ComplainAboutFile: */
SOURCE(44343, 426)
SOURCE(44455, 25)
var←c98788.f5/* fileName←v30780 */ = 0;
SOURCE(44482, 68)
SOURCE(44482, 68)
{
/* declaration of var←c01 skipped */
var←c98788.f6/* var←c01 */ = (* (( (ptr) (* (( (ptr) gf←c98820)+219)/* var←c94340 */ ))+30) );
{
/* declaration of var←c02 skipped */
{
word var←c03;
{
word var←c0926;
var←c0926 = (word) &var←c98788;
var←c03 = (word) XR←Enable(( ((word) (fPt) NoName←Q8472) ), ( ((word) (fPt) NoName←Q8532) ), var←c0926);
};
if ((var←c03 == 2)) {
goto lab←L100160;
};
};
of←v30752 = var←c98788.f7/* var←c02 */ ;
};
};
lab←L100160: ;
SOURCE(44567, 56)
if ((var←c98788.f5/* fileName←v30780 */ == 0)) {
SOURCE(44588, 35)
{
word pd291;
pd291 = (* (( (ptr) (* (( (ptr) gf←c98820)+219)/* var←c94340 */ ))+20) );
(void) ( *( (fPt) ((* (ptr) pd291 ))))((word) &var←c0569, of←v30752, pd291);
};
var←c98788.f5/* fileName←v30780 */ = var←c0569.f0;
};
SOURCE(44625, 144)
{
word var←c94372;
{
word var←c94404;
word var←c94436;
var←c94404 = XR←NewObject(12, (* (( (ptr) gf←c98820)+29) ));
var←c94436 = var←c94404;
(* (ptr) var←c94436 ) = 11;
(* (( (ptr) var←c94436)+1) ) = var←c98788.f5/* fileName←v30780 */ ;
(* (( (ptr) var←c94436)+2) ) = XR←NewObject(12, (* (( (ptr) gf←c98820)+29) ));
var←c94436 = (* (( (ptr) var←c94436)+2) );
(* (ptr) var←c94436 ) = 11;
(* (( (ptr) var←c94436)+1) ) = className←v14696;
(* (( (ptr) var←c94436)+2) ) = XR←NewObject(12, (* (( (ptr) gf←c98820)+29) ));
var←c94436 = (* (( (ptr) var←c94436)+2) );
(* (ptr) var←c94436 ) = 11;
(* (( (ptr) var←c94436)+1) ) = complaint←v14724;
var←c94372 = var←c94404;
};
{
word pd292;
pd292 = (* (( (ptr) (* (( (ptr) gf←c98820)+202)/* var←c91492 */ ))+13) );
(void) ( *( (fPt) ((* (ptr) pd292 ))))(router←v14752, 0, (* (( (ptr) gf←c98820)+57) ), (* (( (ptr) gf←c98820)+56) ), var←c94372, pd292)
;
};
};
}
static word NoName←Q8472(formal←c0902)
word formal←c0902;
{
SOURCE(44482, 68)
{
word pd293;
pd293 = (* (( (ptr) formal←c0902)+6) );
(* (( (ptr) formal←c0902)+7) ) = (word) ( *( (fPt) ((* (ptr) pd293 ))))((* ((( (ptr) formal←c0902)+4)) ), pd293);
};
return(0);
}
static word IsEmptyParts←P2460(sliceD←v14812)
word sliceD←v14812;
{
register ptr gf←c98852 = (ptr) &globalframe;
word var←c14856;
word realParts←v30824;
/* IsEmptyParts: */
SOURCE(44775, 153)
SOURCE(44775, 153)
var←c14856 = 0;
SOURCE(44854, 46)
realParts←v30824 = XR←Narrow((* (( (ptr) sliceD←v14812)+1) ), (* (( (ptr) gf←c98852)+21) ));
SOURCE(44902, 26)
return((word) IsEmpty←P2520(realParts←v30824));
}
static word IsEmpty←P2520(realParts←v14916)
word realParts←v14916;
{
register ptr gf←c98884 = (ptr) &globalframe;
word var←c14960;
/* IsEmpty: */
SOURCE(44934, 342)
SOURCE(44934, 342)
var←c14960 = 0;
SOURCE(45008, 34)
if ((realParts←v14916 == 0)) {
SOURCE(45030, 12)
return(1);
};
SOURCE(45084, 169)
{
register word list←v30868;
list←v30868 = (* (ptr) realParts←v14916 );
lab←L100166: ;
if ((list←v30868 != 0)) {
}
else {
goto lab←L100163;
};
SOURCE(45173, 80)
{
word tc294;
word pd295;
if (((* (ptr) list←v30868 ) != 0)) {
pd295 = (* (( (ptr) (* (( (ptr) gf←c98884)+207)/* var←c91876 */ ))+27) );
tc294 = (word) (0 == (word) ( *( (fPt) ((* (ptr) pd295 ))))((* (ptr) (list←v30868) ), pd295));
}
else {
tc294 = (word) 0;
};
if (tc294) {
SOURCE(45240, 13)
return(0);
};
};
list←v30868 = (* (( (ptr) list←v30868)+1) );
goto lab←L100166;
lab←L100163: ;
};
SOURCE(45264, 12)
return(1);
}
static word IsCompleteParts←P2580(sliceD←v15020)
word sliceD←v15020;
{
register ptr gf←c98916 = (ptr) &globalframe;
word var←c15064;
word realParts←v30996;
/* IsCompleteParts: */
SOURCE(45282, 159)
SOURCE(45282, 159)
var←c15064 = 0;
SOURCE(45364, 46)
realParts←v30996 = XR←Narrow((* (( (ptr) sliceD←v15020)+1) ), (* (( (ptr) gf←c98916)+21) ));
SOURCE(45412, 29)
return((word) IsComplete←P2640(realParts←v30996));
}
static word IsComplete←P2640(realParts←v15124)
word realParts←v15124;
{
register ptr gf←c98948 = (ptr) &globalframe;
word var←c15168;
/* IsComplete: */
SOURCE(45447, 348)
SOURCE(45447, 348)
var←c15168 = 0;
SOURCE(45524, 35)
if ((realParts←v15124 == 0)) {
SOURCE(45546, 13)
return(0);
};
SOURCE(45601, 171)
{
register word list←v31040;
list←v31040 = (* (ptr) realParts←v15124 );
lab←L100170: ;
if ((list←v31040 != 0)) {
}
else {
goto lab←L100167;
};
SOURCE(45690, 82)
{
word pd297;
if (((* (ptr) list←v31040 ) == 0)) { goto then0296;};
pd297 = (* (( (ptr) (* (( (ptr) gf←c98948)+207)/* var←c91876 */ ))+28) );
if ((0 == (word) ( *( (fPt) ((* (ptr) pd297 ))))((* (ptr) (list←v31040) ), pd297))) {
then0296: ;
SOURCE(45759, 13)
return(0);
};
};
list←v31040 = (* (( (ptr) list←v31040)+1) );
goto lab←L100170;
lab←L100167: ;
};
SOURCE(45783, 12)
return(1);
}
static word NewParts←P2700(slice←v15228, hitData←v15256, mode←v15284)
word slice←v15228;
word hitData←v15256;
word mode←v15284;
{
register ptr gf←c98980 = (ptr) &globalframe;
word sliceD←v15340;
word outlineData←v31168;
word outlineHitData←v31196;
word newParts←v31224;
/* NewParts: */
SOURCE(45801, 1291)
SOURCE(45801, 1291)
sliceD←v15340 = 0;
SOURCE(45912, 45)
outlineData←v31168 = XR←Narrow((* (( (ptr) slice←v15228)+1) ), (* (( (ptr) gf←c98980)+13) ));
SOURCE(45959, 48)
outlineHitData←v31196 = XR←Narrow(hitData←v15256, (* (( (ptr) gf←c98980)+30) ));
SOURCE(46009, 45)
newParts←v31224 = XR←NewObject(4, (* (( (ptr) gf←c98980)+21) ));
SOURCE(46056, 1036)
{
word var←c94564;
var←c94564 = mode←v15284;
switch (var←c94564) {
case 8: case 6: case 7:
SOURCE(46098, 529)
{
word ptr←v31268 = 0;
SOURCE(46161, 66)
{
W2 var←c94596;
{
word pd298;
pd298 = (* (( (ptr) (* (( (ptr) gf←c98980)+214)/* var←c92996 */ ))+15) );
(void) ( *( (fPt) ((* (ptr) pd298 ))))((word) (&var←c94596), pd298);
};
ptr←v31268 = var←c94596.f1;
(* (ptr) newParts←v31224 ) = var←c94596.f0;
};
SOURCE(46229, 305)
{
register word children←v31396;
children←v31396 = (* (( (ptr) outlineData←v31168)+4) );
lab←L100174: ;
if ((children←v31396 != 0)) {
}
else {
goto lab←L100171;
};
{
word child←v31524;
word childD←v31552;
SOURCE(46317, 29)
child←v31524 = (* (ptr) children←v31396 );
SOURCE(46348, 91)
{
word tc299;
word pd300;
if ((mode←v15284 == 8)) {
tc299 = (word) 0;
}
else {
pd300 = (* (( (ptr) (* (( (ptr) gf←c98980)+207)/* var←c91876 */ ))+29) );
tc299 = (word) ( *( (fPt) ((* (ptr) pd300 ))))(child←v31524, 0, 6, pd300);
};
childD←v31552 = tc299;
};
SOURCE(46441, 93)
{
W2 var←c94628;
{
word pd301;
pd301 = (* (( (ptr) (* (( (ptr) gf←c98980)+214)/* var←c92996 */ ))+16) );
(void) ( *( (fPt) ((* (ptr) pd301 ))))((word) &var←c94628, childD←v31552, (* (ptr) newParts←v31224 ), ptr←v31268, pd301)
;
};
ptr←v31268 = var←c94628.f1;
(* (ptr) newParts←v31224 ) = var←c94628.f0;
};
};
children←v31396 = (* (( (ptr) children←v31396)+1) );
goto lab←L100174;
lab←L100171: ;
};
SOURCE(46545, 53)
{
word pd302;
pd302 = (* (( (ptr) (* (( (ptr) gf←c98980)+205)/* var←c91620 */ ))+8) );
sliceD←v15340 = (word) ( *( (fPt) ((* (ptr) pd302 ))))(slice←v15228, newParts←v31224, pd302);
};
};
break;
default:
SOURCE(46683, 329)
{
register word children←v31596;
children←v31596 = (* (( (ptr) outlineData←v31168)+4) );
lab←L100178: ;
if ((children←v31596 != 0)) {
}
else {
goto lab←L100175;
};
{
word child←v31724;
SOURCE(46771, 29)
child←v31724 = (* (ptr) children←v31596 );
SOURCE(46802, 210)
if ((child←v31724 == (* (ptr) outlineHitData←v31196 ))) {
SOURCE(46837, 177)
{
word childD←v31768;
SOURCE(46839, 87)
{
word pd303;
pd303 = (* (( (ptr) (* (( (ptr) gf←c98980)+207)/* var←c91876 */ ))+29) );
childD←v31768 = (word) ( *( (fPt) ((* (ptr) pd303 ))))(child←v31724, (* (( (ptr) outlineHitData←v31196)+1) ), mode←v15284, pd303)
;
};
SOURCE(46929, 62)
{
word pd304;
pd304 = (* (( (ptr) (* (( (ptr) gf←c98980)+204)/* var←c91588 */ ))+82) );
sliceD←v15340 = (word) ( *( (fPt) ((* (ptr) pd304 ))))(slice←v15228, childD←v31768, pd304);
};
SOURCE(47006, 6)
return(sliceD←v15340);
};
};
};
children←v31596 = (* (( (ptr) children←v31596)+1) );
goto lab←L100178;
lab←L100175: ;
};
SOURCE(47026, 66)
{
word var←c0604;
var←c0604 = (* (( (ptr) gf←c98980)+60) );
(void) (XR←RaiseSignal((* (( (ptr) gf←c98980)+4)/* Problem←v5520 */ ), 0, (word) &var←c0604));
};
break;
};
};
SOURCE(45801, 1291)
return(sliceD←v15340);
}
static word UnionParts←P2760(partsA←v15400, partsB←v15428)
word partsA←v15400;
word partsB←v15428;
{
register ptr gf←c99012 = (ptr) &globalframe;
word aPlusB←v15472;
word realPartsA←v31812;
word realPartsB←v31840;
/* UnionParts: */
SOURCE(47101, 1331)
SOURCE(47101, 1331)
aPlusB←v15472 = 0;
SOURCE(47214, 47)
realPartsA←v31812 = XR←Narrow((* (( (ptr) partsA←v15400)+1) ), (* (( (ptr) gf←c99012)+21) ));
SOURCE(47263, 47)
realPartsB←v31840 = XR←Narrow((* (( (ptr) partsB←v15428)+1) ), (* (( (ptr) gf←c99012)+21) ));
SOURCE(47312, 41)
if (((* (( (ptr) partsA←v15400)+1) ) == 0)) {
SOURCE(47339, 14)
return(partsB←v15428);
};
SOURCE(47355, 41)
if (((* (( (ptr) partsB←v15428)+1) ) == 0)) {
SOURCE(47382, 14)
return(partsA←v15400);
};
SOURCE(47398, 42)
if ((0 != (word) IsEmpty←P2520(realPartsA←v31812))) {
SOURCE(47426, 14)
return(partsB←v15428);
};
SOURCE(47442, 42)
if ((0 != (word) IsEmpty←P2520(realPartsB←v31840))) {
SOURCE(47470, 14)
return(partsA←v15400);
};
SOURCE(47486, 45)
if ((0 != (word) IsComplete←P2640(realPartsA←v31812))) {
SOURCE(47517, 14)
return(partsA←v15400);
};
SOURCE(47533, 45)
if ((0 != (word) IsComplete←P2640(realPartsB←v31840))) {
SOURCE(47564, 14)
return(partsB←v15428);
};
SOURCE(47580, 854)
{
word ptr←v31884 = 0;
word union←v31912;
word listA←v31940;
word listB←v31968;
SOURCE(47616, 42)
union←v31912 = XR←NewObject(4, (* (( (ptr) gf←c99012)+21) ));
SOURCE(47660, 7)
listA←v31940 = (* (ptr) realPartsA←v31812 );
SOURCE(47717, 7)
listB←v31968 = (* (ptr) realPartsB←v31840 );
SOURCE(47774, 63)
{
W2 var←c94692;
{
word pd305;
pd305 = (* (( (ptr) (* (( (ptr) gf←c99012)+214)/* var←c92996 */ ))+15) );
(void) ( *( (fPt) ((* (ptr) pd305 ))))((word) (&var←c94692), pd305);
};
ptr←v31884 = var←c94692.f1;
(* (ptr) union←v31912 ) = var←c94692.f0;
};
SOURCE(47839, 525)
lab←L100181: ;
if ((listA←v31940 != 0)) {
}
else {
goto lab←L100179;
};
SOURCE(47860, 461)
if (((* (ptr) listA←v31940 ) == 0)) {
SOURCE(47886, 98)
{
W2 var←c94724;
{
word pd306;
pd306 = (* (( (ptr) (* (( (ptr) gf←c99012)+214)/* var←c92996 */ ))+16) );
(void) ( *( (fPt) ((* (ptr) pd306 ))))((word) &var←c94724, (* (ptr) listB←v31968 ), (* (ptr) union←v31912 ), ptr←v31884, pd306)
;
};
ptr←v31884 = var←c94724.f1;
(* (ptr) union←v31912 ) = var←c94724.f0;
};
}
else {
SOURCE(47984, 337)
if (((* (ptr) listB←v31968 ) == 0)) {
SOURCE(48010, 98)
{
W2 var←c94756;
{
word pd307;
pd307 = (* (( (ptr) (* (( (ptr) gf←c99012)+214)/* var←c92996 */ ))+16) );
(void) ( *( (fPt) ((* (ptr) pd307 ))))((word) &var←c94756, (* (ptr) listA←v31940 ), (* (ptr) union←v31912 ), ptr←v31884, pd307)
;
};
ptr←v31884 = var←c94756.f1;
(* (ptr) union←v31912 ) = var←c94756.f0;
};
}
else {
SOURCE(48108, 215)
{
word newSeq←v32264;
SOURCE(48110, 73)
{
word pd308;
pd308 = (* (( (ptr) (* (( (ptr) gf←c99012)+207)/* var←c91876 */ ))+30) );
newSeq←v32264 = (word) ( *( (fPt) ((* (ptr) pd308 ))))((* (ptr) listA←v31940 ), (* (ptr) listB←v31968 ), pd308);
};
SOURCE(48185, 136)
{
W2 var←c94820;
{
word var←c94788;
{
word pd309;
pd309 = (* (( (ptr) (* (( (ptr) gf←c99012)+207)/* var←c91876 */ ))+27) );
if ((0 != (word) ( *( (fPt) ((* (ptr) pd309 ))))(newSeq←v32264, pd309))) {
var←c94788 = 0;
}
else {
var←c94788 = newSeq←v32264;
};
};
{
W2 var←c0623;
{
word pd310;
pd310 = (* (( (ptr) (* (( (ptr) gf←c99012)+214)/* var←c92996 */ ))+16) );
(void) ( *( (fPt) ((* (ptr) pd310 ))))((word) &var←c0623, var←c94788, (* (ptr) union←v31912 ), ptr←v31884, pd310);
};
var←c94820 = var←c0623;
};
};
ptr←v31884 = var←c94820.f1;
(* (ptr) union←v31912 ) = var←c94820.f0;
};
};
};
};
SOURCE(48326, 18)
listA←v31940 = (* (( (ptr) listA←v31940)+1) );
SOURCE(48346, 18)
listB←v31968 = (* (( (ptr) listB←v31968)+1) );
goto lab←L100181;
lab←L100179: ;
SOURCE(48375, 57)
{
word pd311;
pd311 = (* (( (ptr) (* (( (ptr) gf←c99012)+205)/* var←c91620 */ ))+8) );
aPlusB←v15472 = (word) ( *( (fPt) ((* (ptr) pd311 ))))((* (ptr) partsA←v15400 ), union←v31912, pd311);
};
};
SOURCE(47101, 1331)
return(aPlusB←v15472);
}
static word DifferenceParts←P2820(partsA←v15532, partsB←v15560)
word partsA←v15532;
word partsB←v15560;
{
register ptr gf←c99044 = (ptr) &globalframe;
word aMinusB←v15604;
word realPartsA←v32308 = 0;
word realPartsB←v32336 = 0;
word diff←v32364 = 0;
word listA←v32392 = 0;
word listB←v32420 = 0;
word ptr←v32448 = 0;
/* DifferenceParts: */
SOURCE(48443, 1179)
SOURCE(48443, 1179)
aMinusB←v15604 = 0;
SOURCE(48715, 79)
if ((((* (( (ptr) partsA←v15532)+1) ) == 0) || (partsB←v15560 == 0)) || ((* (( (ptr) partsB←v15560)+1) ) == 0)) {
SOURCE(48780, 14)
return(partsA←v15532);
};
SOURCE(48796, 33)
realPartsA←v32308 = XR←Narrow((* (( (ptr) partsA←v15532)+1) ), (* (( (ptr) gf←c99044)+21) ));
SOURCE(48831, 33)
realPartsB←v32336 = XR←Narrow((* (( (ptr) partsB←v15560)+1) ), (* (( (ptr) gf←c99044)+21) ));
SOURCE(48866, 30)
listA←v32392 = (* (ptr) realPartsA←v32308 );
SOURCE(48898, 30)
listB←v32420 = (* (ptr) realPartsB←v32336 );
SOURCE(48930, 27)
diff←v32364 = XR←NewObject(4, (* (( (ptr) gf←c99044)+21) ));
SOURCE(48959, 62)
{
W2 var←c94884;
{
word pd312;
pd312 = (* (( (ptr) (* (( (ptr) gf←c99044)+214)/* var←c92996 */ ))+15) );
(void) ( *( (fPt) ((* (ptr) pd312 ))))((word) (&var←c94884), pd312);
};
ptr←v32448 = var←c94884.f1;
(* (ptr) diff←v32364 ) = var←c94884.f0;
};
SOURCE(49023, 531)
lab←L100184: ;
if ((listA←v32392 != 0)) {
}
else {
goto lab←L100182;
};
SOURCE(49044, 467)
if (((* (ptr) listA←v32392 ) == 0)) {
SOURCE(49070, 88)
{
W2 var←c94916;
{
word pd313;
pd313 = (* (( (ptr) (* (( (ptr) gf←c99044)+214)/* var←c92996 */ ))+16) );
(void) ( *( (fPt) ((* (ptr) pd313 ))))((word) &var←c94916, 0, (* (ptr) diff←v32364 ), ptr←v32448, pd313);
};
ptr←v32448 = var←c94916.f1;
(* (ptr) diff←v32364 ) = var←c94916.f0;
};
}
else {
SOURCE(49158, 353)
if ((listB←v32420 == 0) || ((* (ptr) listB←v32420 ) == 0)) {
SOURCE(49199, 96)
{
W2 var←c94948;
{
word pd314;
pd314 = (* (( (ptr) (* (( (ptr) gf←c99044)+214)/* var←c92996 */ ))+16) );
(void) ( *( (fPt) ((* (ptr) pd314 ))))((word) &var←c94948, (* (ptr) listA←v32392 ), (* (ptr) diff←v32364 ), ptr←v32448, pd314)
;
};
ptr←v32448 = var←c94948.f1;
(* (ptr) diff←v32364 ) = var←c94948.f0;
};
}
else {
SOURCE(49295, 218)
{
word newSeq←v32744;
SOURCE(49297, 78)
{
word pd315;
pd315 = (* (( (ptr) (* (( (ptr) gf←c99044)+207)/* var←c91876 */ ))+31) );
newSeq←v32744 = (word) ( *( (fPt) ((* (ptr) pd315 ))))((* (ptr) listA←v32392 ), (* (ptr) listB←v32420 ), pd315);
};
SOURCE(49377, 134)
{
W2 var←c95012;
{
word var←c94980;
{
word pd316;
pd316 = (* (( (ptr) (* (( (ptr) gf←c99044)+207)/* var←c91876 */ ))+27) );
if ((0 != (word) ( *( (fPt) ((* (ptr) pd316 ))))(newSeq←v32744, pd316))) {
var←c94980 = 0;
}
else {
var←c94980 = newSeq←v32744;
};
};
{
W2 var←c0642;
{
word pd317;
pd317 = (* (( (ptr) (* (( (ptr) gf←c99044)+214)/* var←c92996 */ ))+16) );
(void) ( *( (fPt) ((* (ptr) pd317 ))))((word) &var←c0642, var←c94980, (* (ptr) diff←v32364 ), ptr←v32448, pd317);
};
var←c95012 = var←c0642;
};
};
ptr←v32448 = var←c95012.f1;
(* (ptr) diff←v32364 ) = var←c95012.f0;
};
};
};
};
SOURCE(49516, 18)
listA←v32392 = (* (( (ptr) listA←v32392)+1) );
SOURCE(49536, 18)
listB←v32420 = (* (( (ptr) listB←v32420)+1) );
goto lab←L100184;
lab←L100182: ;
SOURCE(49565, 57)
{
word pd318;
pd318 = (* (( (ptr) (* (( (ptr) gf←c99044)+205)/* var←c91620 */ ))+8) );
aMinusB←v15604 = (word) ( *( (fPt) ((* (ptr) pd318 ))))((* (ptr) partsA←v15532 ), diff←v32364, pd318);
};
SOURCE(48443, 1179)
return(aMinusB←v15604);
}
static void OutlineMovingParts←P2880(formal←c0655, slice←v15664, selectedParts←v15692, editConstraints←v15720, bezierDrag←v15748)
word formal←c0655;
word slice←v15664;
word selectedParts←v15692;
word editConstraints←v15720;
W5 bezierDrag←v15748;
{
register ptr gf←c99076 = (ptr) &globalframe;
word background←v15792;
word overlay←v15820;
word rubber←v15848;
word drag←v15876;
word outlineData←v32788;
word filled←v32816;
/* OutlineMovingParts: */
SOURCE(49628, 416)
SOURCE(49628, 416)
background←v15792 = 0;
SOURCE(49628, 416)
overlay←v15820 = 0;
SOURCE(49628, 416)
rubber←v15848 = 0;
SOURCE(49628, 416)
drag←v15876 = 0;
SOURCE(49841, 45)
outlineData←v32788 = XR←Narrow((* (( (ptr) slice←v15664)+1) ), (* (( (ptr) gf←c99076)+13) ));
SOURCE(49888, 68)
filled←v32816 = (unsigned) ( ((* (( (ptr) outlineData←v32788)+1) ) != 0) ? 1 : ((* (( (ptr) outlineData←v32788)+2) ) != 0) ) ;
SOURCE(49958, 86)
{
W4 var←c95044;
{
word pd319;
pd319 = (* (( (ptr) (* (( (ptr) gf←c99076)+204)/* var←c91588 */ ))+27) );
(void) ( *( (fPt) ((* (ptr) pd319 ))))((word) &var←c95044, slice←v15664, selectedParts←v15692, filled←v32816, editConstraints←v15720, bezierDrag←v15748, pd319)
;
};
background←v15792 = var←c95044.f0;
overlay←v15820 = var←c95044.f1;
rubber←v15848 = var←c95044.f2;
drag←v15876 = var←c95044.f3;
/* removed tail goto */
};
(* (ptr) formal←c0655 ) = background←v15792;
(* (( (ptr) formal←c0655)+1) ) = overlay←v15820;
(* (( (ptr) formal←c0655)+2) ) = rubber←v15848;
(* (( (ptr) formal←c0655)+3) ) = drag←v15876;
return;
}
static void MovingParts←P2940(formal←c0723, slice←v15936, selectedParts←v15964, treatAsAUnit←v15992, editConstraints←v16020, bezierDrag←v16048)
word formal←c0723;
word slice←v15936;
word selectedParts←v15964;
word treatAsAUnit←v15992;
word editConstraints←v16020;
W5 bezierDrag←v16048;
{
register ptr gf←c99108 = (ptr) &globalframe;
word background←v16092;
word overlay←v16120;
word rubber←v16148;
word drag←v16176;
word outlineData←v32860 = 0;
word outlineParts←v32888;
word bkgdParts←v32916 = 0;
word overParts←v32944 = 0;
word rubberParts←v32972 = 0;
word dragParts←v33000 = 0;
word bkgdSeq←v33028 = 0;
word overSeq←v33056 = 0;
word rubberSeq←v33084 = 0;
word dragSeq←v33112 = 0;
word bkgdPtr←v33140 = 0;
word overPtr←v33168 = 0;
word rubberPtr←v33196 = 0;
word dragPtr←v33224 = 0;
word children←v33252 = 0;
word nullD←v33280;
word forNow←v33308 = 1;
/* MovingParts: */
SOURCE(50050, 3613)
SOURCE(50050, 3613)
background←v16092 = 0;
SOURCE(50050, 3613)
overlay←v16120 = 0;
SOURCE(50050, 3613)
rubber←v16148 = 0;
SOURCE(50050, 3613)
drag←v16176 = 0;
SOURCE(50317, 50)
outlineParts←v32888 = XR←Narrow(selectedParts←v15964, (* (( (ptr) gf←c99108)+21) ));
SOURCE(50572, 45)
nullD←v33280 = (* (( (ptr) slice←v15936)+11) );
SOURCE(50641, 84)
if ((0 != (word) IsEmpty←P2520(outlineParts←v32888))) {
SOURCE(50673, 44)
{
word var←c95076;
var←c95076 = nullD←v33280;
drag←v16176 = nullD←v33280;
rubber←v16148 = var←c95076;
overlay←v16120 = var←c95076;
background←v16092 = var←c95076;
};
SOURCE(50719, 6)
goto lab←L100186;
};
SOURCE(50730, 138)
if ((0 != (word) IsComplete←P2640(outlineParts←v32888))) {
SOURCE(50765, 37)
{
word var←c95108;
var←c95108 = nullD←v33280;
rubber←v16148 = nullD←v33280;
overlay←v16120 = var←c95108;
background←v16092 = var←c95108;
};
SOURCE(50804, 56)
{
word pd320;
pd320 = (* (( (ptr) (* (( (ptr) gf←c99108)+205)/* var←c91620 */ ))+8) );
drag←v16176 = (word) ( *( (fPt) ((* (ptr) pd320 ))))(slice←v15936, selectedParts←v15964, pd320);
};
SOURCE(50862, 6)
goto lab←L100186;
};
SOURCE(50874, 32)
bkgdParts←v32916 = XR←NewObject(4, (* (( (ptr) gf←c99108)+21) ));
SOURCE(50908, 32)
overParts←v32944 = XR←NewObject(4, (* (( (ptr) gf←c99108)+21) ));
SOURCE(50942, 34)
rubberParts←v32972 = XR←NewObject(4, (* (( (ptr) gf←c99108)+21) ));
SOURCE(50978, 32)
dragParts←v33000 = XR←NewObject(4, (* (( (ptr) gf←c99108)+21) ));
SOURCE(51013, 71)
{
W2 var←c95268;
{
word pd321;
pd321 = (* (( (ptr) (* (( (ptr) gf←c99108)+214)/* var←c92996 */ ))+15) );
(void) ( *( (fPt) ((* (ptr) pd321 ))))((word) (&var←c95268), pd321);
};
bkgdPtr←v33140 = var←c95268.f1;
(* (ptr) bkgdParts←v32916 ) = var←c95268.f0;
};
SOURCE(51086, 71)
{
W2 var←c95300;
{
word pd322;
pd322 = (* (( (ptr) (* (( (ptr) gf←c99108)+214)/* var←c92996 */ ))+15) );
(void) ( *( (fPt) ((* (ptr) pd322 ))))((word) (&var←c95300), pd322);
};
overPtr←v33168 = var←c95300.f1;
(* (ptr) overParts←v32944 ) = var←c95300.f0;
};
SOURCE(51159, 75)
{
W2 var←c95332;
{
word pd323;
pd323 = (* (( (ptr) (* (( (ptr) gf←c99108)+214)/* var←c92996 */ ))+15) );
(void) ( *( (fPt) ((* (ptr) pd323 ))))((word) (&var←c95332), pd323);
};
rubberPtr←v33196 = var←c95332.f1;
(* (ptr) rubberParts←v32972 ) = var←c95332.f0;
};
SOURCE(51236, 71)
{
W2 var←c95364;
{
word pd324;
pd324 = (* (( (ptr) (* (( (ptr) gf←c99108)+214)/* var←c92996 */ ))+15) );
(void) ( *( (fPt) ((* (ptr) pd324 ))))((word) (&var←c95364), pd324);
};
dragPtr←v33224 = var←c95364.f1;
(* (ptr) dragParts←v33000 ) = var←c95364.f0;
};
SOURCE(51310, 32)
outlineData←v32860 = XR←Narrow((* (( (ptr) slice←v15936)+1) ), (* (( (ptr) gf←c99108)+13) ));
SOURCE(51344, 31)
children←v33252 = (* (( (ptr) outlineData←v32860)+4) );
SOURCE(51377, 2048)
{
register word list←v33520;
list←v33520 = (* (ptr) outlineParts←v32888 );
lab←L100190: ;
if ((list←v33520 != 0)) {
}
else {
goto lab←L100187;
};
SOURCE(51469, 1924)
if (((* (ptr) list←v33520 ) == 0)) {
SOURCE(51496, 108)
{
W2 var←c95396;
{
word pd325;
pd325 = (* (( (ptr) (* (( (ptr) gf←c99108)+214)/* var←c92996 */ ))+16) );
(void) ( *( (fPt) ((* (ptr) pd325 ))))((word) &var←c95396, 0, (* (ptr) rubberParts←v32972 ), rubberPtr←v33196, pd325);
};
rubberPtr←v33196 = var←c95396.f1;
(* (ptr) rubberParts←v32972 ) = var←c95396.f0;
};
SOURCE(51606, 100)
{
W2 var←c95428;
{
word pd326;
pd326 = (* (( (ptr) (* (( (ptr) gf←c99108)+214)/* var←c92996 */ ))+16) );
(void) ( *( (fPt) ((* (ptr) pd326 ))))((word) &var←c95428, 0, (* (ptr) dragParts←v33000 ), dragPtr←v33224, pd326);
};
dragPtr←v33224 = var←c95428.f1;
(* (ptr) dragParts←v33000 ) = var←c95428.f0;
};
SOURCE(51708, 610)
if ((0 != treatAsAUnit←v15992)) {
SOURCE(51731, 57)
{
word pd327;
pd327 = (* (( (ptr) (* (( (ptr) gf←c99108)+207)/* var←c91876 */ ))+29) );
overSeq←v33056 = (word) ( *( (fPt) ((* (ptr) pd327 ))))((* (ptr) children←v33252 ), 0, 6, pd327);
};
SOURCE(51813, 104)
{
W2 var←c95460;
{
word pd328;
pd328 = (* (( (ptr) (* (( (ptr) gf←c99108)+214)/* var←c92996 */ ))+16) );
(void) ( *( (fPt) ((* (ptr) pd328 ))))((word) &var←c95460, overSeq←v33056, (* (ptr) overParts←v32944 ), overPtr←v33168, pd328)
;
};
overPtr←v33168 = var←c95460.f1;
(* (ptr) overParts←v32944 ) = var←c95460.f0;
};
SOURCE(51919, 100)
{
W2 var←c95492;
{
word pd329;
pd329 = (* (( (ptr) (* (( (ptr) gf←c99108)+214)/* var←c92996 */ ))+16) );
(void) ( *( (fPt) ((* (ptr) pd329 ))))((word) &var←c95492, 0, (* (ptr) bkgdParts←v32916 ), bkgdPtr←v33140, pd329);
};
bkgdPtr←v33140 = var←c95492.f1;
(* (ptr) bkgdParts←v32916 ) = var←c95492.f0;
};
}
else {
SOURCE(52030, 57)
{
word pd330;
pd330 = (* (( (ptr) (* (( (ptr) gf←c99108)+207)/* var←c91876 */ ))+29) );
bkgdSeq←v33028 = (word) ( *( (fPt) ((* (ptr) pd330 ))))((* (ptr) children←v33252 ), 0, 6, pd330);
};
SOURCE(52112, 104)
{
W2 var←c95524;
{
word pd331;
pd331 = (* (( (ptr) (* (( (ptr) gf←c99108)+214)/* var←c92996 */ ))+16) );
(void) ( *( (fPt) ((* (ptr) pd331 ))))((word) &var←c95524, bkgdSeq←v33028, (* (ptr) bkgdParts←v32916 ), bkgdPtr←v33140, pd331)
;
};
bkgdPtr←v33140 = var←c95524.f1;
(* (ptr) bkgdParts←v32916 ) = var←c95524.f0;
};
SOURCE(52218, 100)
{
W2 var←c95556;
{
word pd332;
pd332 = (* (( (ptr) (* (( (ptr) gf←c99108)+214)/* var←c92996 */ ))+16) );
(void) ( *( (fPt) ((* (ptr) pd332 ))))((word) &var←c95556, 0, (* (ptr) overParts←v32944 ), overPtr←v33168, pd332);
};
overPtr←v33168 = var←c95556.f1;
(* (ptr) overParts←v32944 ) = var←c95556.f0;
};
};
}
else {
SOURCE(52332, 128)
{
W4 var←c95588;
{
word pd333;
pd333 = (* (( (ptr) (* (( (ptr) gf←c99108)+207)/* var←c91876 */ ))+32) );
(void) ( *( (fPt) ((* (ptr) pd333 ))))((word) &var←c95588, (* (ptr) (* (ptr) list←v33520 ) ), (* (( (ptr) (* (ptr) list←v33520 ))+1)
), editConstraints←v16020, bezierDrag←v16048, pd333);
};
dragSeq←v33112 = var←c95588.f3;
rubberSeq←v33084 = var←c95588.f2;
overSeq←v33056 = var←c95588.f1;
bkgdSeq←v33028 = var←c95588.f0;
};
SOURCE(52493, 900)
if (((0 != treatAsAUnit←v15992) || (0 != forNow←v33308))) {
SOURCE(52526, 100)
{
W2 var←c95620;
{
word pd334;
pd334 = (* (( (ptr) (* (( (ptr) gf←c99108)+214)/* var←c92996 */ ))+16) );
(void) ( *( (fPt) ((* (ptr) pd334 ))))((word) &var←c95620, 0, (* (ptr) bkgdParts←v32916 ), bkgdPtr←v33140, pd334);
};
bkgdPtr←v33140 = var←c95620.f1;
(* (ptr) bkgdParts←v32916 ) = var←c95620.f0;
};
SOURCE(52628, 104)
{
W2 var←c95652;
{
word pd335;
pd335 = (* (( (ptr) (* (( (ptr) gf←c99108)+214)/* var←c92996 */ ))+16) );
(void) ( *( (fPt) ((* (ptr) pd335 ))))((word) &var←c95652, overSeq←v33056, (* (ptr) overParts←v32944 ), overPtr←v33168, pd335)
;
};
overPtr←v33168 = var←c95652.f1;
(* (ptr) overParts←v32944 ) = var←c95652.f0;
};
SOURCE(52734, 114)
{
W2 var←c95684;
{
word pd336;
pd336 = (* (( (ptr) (* (( (ptr) gf←c99108)+214)/* var←c92996 */ ))+16) );
(void) ( *( (fPt) ((* (ptr) pd336 ))))((word) &var←c95684, rubberSeq←v33084, (* (ptr) rubberParts←v32972 ), rubberPtr←v33196, pd336)
;
};
rubberPtr←v33196 = var←c95684.f1;
(* (ptr) rubberParts←v32972 ) = var←c95684.f0;
};
SOURCE(52850, 104)
{
W2 var←c95716;
{
word pd337;
pd337 = (* (( (ptr) (* (( (ptr) gf←c99108)+214)/* var←c92996 */ ))+16) );
(void) ( *( (fPt) ((* (ptr) pd337 ))))((word) &var←c95716, dragSeq←v33112, (* (ptr) dragParts←v33000 ), dragPtr←v33224, pd337)
;
};
dragPtr←v33224 = var←c95716.f1;
(* (ptr) dragParts←v33000 ) = var←c95716.f0;
};
}
else {
SOURCE(52965, 104)
{
W2 var←c95748;
{
word pd338;
pd338 = (* (( (ptr) (* (( (ptr) gf←c99108)+214)/* var←c92996 */ ))+16) );
(void) ( *( (fPt) ((* (ptr) pd338 ))))((word) &var←c95748, overSeq←v33056, (* (ptr) bkgdParts←v32916 ), bkgdPtr←v33140, pd338)
;
};
bkgdPtr←v33140 = var←c95748.f1;
(* (ptr) bkgdParts←v32916 ) = var←c95748.f0;
};
SOURCE(53071, 100)
{
W2 var←c95780;
{
word pd339;
pd339 = (* (( (ptr) (* (( (ptr) gf←c99108)+214)/* var←c92996 */ ))+16) );
(void) ( *( (fPt) ((* (ptr) pd339 ))))((word) &var←c95780, 0, (* (ptr) overParts←v32944 ), overPtr←v33168, pd339);
};
overPtr←v33168 = var←c95780.f1;
(* (ptr) overParts←v32944 ) = var←c95780.f0;
};
SOURCE(53173, 114)
{
W2 var←c95812;
{
word pd340;
pd340 = (* (( (ptr) (* (( (ptr) gf←c99108)+214)/* var←c92996 */ ))+16) );
(void) ( *( (fPt) ((* (ptr) pd340 ))))((word) &var←c95812, rubberSeq←v33084, (* (ptr) rubberParts←v32972 ), rubberPtr←v33196, pd340)
;
};
rubberPtr←v33196 = var←c95812.f1;
(* (ptr) rubberParts←v32972 ) = var←c95812.f0;
};
SOURCE(53289, 104)
{
W2 var←c95844;
{
word pd341;
pd341 = (* (( (ptr) (* (( (ptr) gf←c99108)+214)/* var←c92996 */ ))+16) );
(void) ( *( (fPt) ((* (ptr) pd341 ))))((word) &var←c95844, dragSeq←v33112, (* (ptr) dragParts←v33000 ), dragPtr←v33224, pd341)
;
};
dragPtr←v33224 = var←c95844.f1;
(* (ptr) dragParts←v33000 ) = var←c95844.f0;
};
};
};
SOURCE(53401, 24)
children←v33252 = (* (( (ptr) children←v33252)+1) );
list←v33520 = (* (( (ptr) list←v33520)+1) );
goto lab←L100190;
lab←L100187: ;
};
SOURCE(53436, 58)
{
word pd342;
pd342 = (* (( (ptr) (* (( (ptr) gf←c99108)+205)/* var←c91620 */ ))+8) );
background←v16092 = (word) ( *( (fPt) ((* (ptr) pd342 ))))(slice←v15936, bkgdParts←v32916, pd342);
};
SOURCE(53496, 55)
{
word pd343;
pd343 = (* (( (ptr) (* (( (ptr) gf←c99108)+205)/* var←c91620 */ ))+8) );
overlay←v16120 = (word) ( *( (fPt) ((* (ptr) pd343 ))))(slice←v15936, overParts←v32944, pd343);
};
SOURCE(53553, 56)
{
word pd344;
pd344 = (* (( (ptr) (* (( (ptr) gf←c99108)+205)/* var←c91620 */ ))+8) );
rubber←v16148 = (word) ( *( (fPt) ((* (ptr) pd344 ))))(slice←v15936, rubberParts←v32972, pd344);
};
SOURCE(53611, 52)
{
word pd345;
pd345 = (* (( (ptr) (* (( (ptr) gf←c99108)+205)/* var←c91620 */ ))+8) );
drag←v16176 = (word) ( *( (fPt) ((* (ptr) pd345 ))))(slice←v15936, dragParts←v33000, pd345);
};
/* removed tail goto */
lab←L100186: ;
(* (ptr) formal←c0723 ) = background←v16092;
(* (( (ptr) formal←c0723)+1) ) = overlay←v16120;
(* (( (ptr) formal←c0723)+2) ) = rubber←v16148;
(* (( (ptr) formal←c0723)+3) ) = drag←v16176;
return;
}
static word AugmentParts←P3000(sliceD←v16236, selectClass←v16264)
word sliceD←v16236;
word selectClass←v16264;
{
register ptr gf←c99140 = (ptr) &globalframe;
word more←v16308;
word ptr←v33648 = 0;
word outlineParts←v33676;
word newParts←v33704 = 0;
/* AugmentParts: */
SOURCE(53669, 748)
SOURCE(53669, 748)
more←v16308 = 0;
SOURCE(53816, 49)
outlineParts←v33676 = XR←Narrow((* (( (ptr) sliceD←v16236)+1) ), (* (( (ptr) gf←c99140)+21) ));
SOURCE(53891, 41)
if ((outlineParts←v33676 == 0)) {
SOURCE(53918, 14)
return(sliceD←v16236);
};
SOURCE(53934, 31)
newParts←v33704 = XR←NewObject(4, (* (( (ptr) gf←c99140)+21) ));
SOURCE(53967, 66)
{
W2 var←c95908;
{
word pd346;
pd346 = (* (( (ptr) (* (( (ptr) gf←c99140)+214)/* var←c92996 */ ))+15) );
(void) ( *( (fPt) ((* (ptr) pd346 ))))((word) (&var←c95908), pd346);
};
ptr←v33648 = var←c95908.f1;
(* (ptr) newParts←v33704 ) = var←c95908.f0;
};
SOURCE(54035, 313)
{
register word nextParts←v33832;
nextParts←v33832 = (* (ptr) outlineParts←v33676 );
lab←L100194: ;
if ((nextParts←v33832 != 0)) {
}
else {
goto lab←L100191;
};
{
word nextPart←v33960;
SOURCE(54140, 43)
nextPart←v33960 = (* (ptr) nextParts←v33832 );
SOURCE(54185, 163)
{
W2 var←c95972;
{
word var←c95940;
{
word pd347;
if ((nextPart←v33960 != 0)) {
pd347 = (* (( (ptr) (* (( (ptr) gf←c99140)+207)/* var←c91876 */ ))+33) );
var←c95940 = (word) ( *( (fPt) ((* (ptr) pd347 ))))(nextPart←v33960, selectClass←v16264, pd347);
}
else {
var←c95940 = 0;
};
};
{
W2 var←c0736;
{
word pd348;
pd348 = (* (( (ptr) (* (( (ptr) gf←c99140)+214)/* var←c92996 */ ))+16) );
(void) ( *( (fPt) ((* (ptr) pd348 ))))((word) &var←c0736, var←c95940, (* (ptr) newParts←v33704 ), ptr←v33648, pd348);
};
var←c95972 = var←c0736;
};
};
ptr←v33648 = var←c95972.f1;
(* (ptr) newParts←v33704 ) = var←c95972.f0;
};
};
nextParts←v33832 = (* (( (ptr) nextParts←v33832)+1) );
goto lab←L100194;
lab←L100191: ;
};
SOURCE(54359, 58)
{
word pd349;
pd349 = (* (( (ptr) (* (( (ptr) gf←c99140)+205)/* var←c91620 */ ))+8) );
more←v16308 = (word) ( *( (fPt) ((* (ptr) pd349 ))))((* (ptr) sliceD←v16236 ), newParts←v33704, pd349);
};
SOURCE(53669, 748)
return(more←v16308);
}
static word AlterParts←P3060(sliceD←v16368, action←v16396)
word sliceD←v16368;
word action←v16396;
{
register ptr gf←c99172 = (ptr) &globalframe;
word alteredD←v16440;
word outlineParts←v34004;
word outlineData←v34032;
word newParts←v34060;
word childD←v34088;
word child←v34116;
/* AlterParts: */
SOURCE(54423, 1648)
SOURCE(54423, 1648)
alteredD←v16440 = 0;
SOURCE(54527, 49)
outlineParts←v34004 = XR←Narrow((* (( (ptr) sliceD←v16368)+1) ), (* (( (ptr) gf←c99172)+21) ));
SOURCE(54578, 52)
outlineData←v34032 = XR←Narrow((* (( (ptr) (* (ptr) sliceD←v16368 ))+1) ), (* (( (ptr) gf←c99172)+13) ));
SOURCE(54632, 45)
newParts←v34060 = XR←NewObject(4, (* (( (ptr) gf←c99172)+21) ));
SOURCE(54679, 88)
{
word pd350;
pd350 = (* (( (ptr) (* (( (ptr) gf←c99172)+204)/* var←c91588 */ ))+78) );
childD←v34088 = (word) ( *( (fPt) ((* (ptr) pd350 ))))((* (ptr) sliceD←v16368 ), (* (( (ptr) sliceD←v16368)+1) ), 0, 0, pd350)
;
};
SOURCE(54769, 27)
child←v34116 = (* (ptr) childD←v34088 );
SOURCE(54798, 1273)
SOURCE(54804, 1021)
{
word var←c96036;
var←c96036 = action←v16396;
if ((var←c96036 == (* (( (ptr) gf←c99172)+61) )) || (var←c96036 == (* (( (ptr) gf←c99172)+62) ))) {
SOURCE(54848, 44)
if ((0 != (word) IsComplete←P2640(outlineParts←v34004))) {
SOURCE(54881, 11)
return(0);
};
SOURCE(54894, 419)
{
word pd352;
pd352 = (* (( (ptr) (* (( (ptr) gf←c99172)+207)/* var←c91876 */ ))+28) );
if ((0 != (word) ( *( (fPt) ((* (ptr) pd352 ))))(childD←v34088, pd352))) {
SOURCE(54937, 378)
{
word beforeEnt←v34160 = 0;
word ent←v34188 = 0;
word afterEnt←v34216 = 0;
SOURCE(54980, 95)
{
W4 var←c96068;
{
word pd353;
pd353 = (* (( (ptr) (* (( (ptr) gf←c99172)+214)/* var←c92996 */ ))+24) );
(void) ( *( (fPt) ((* (ptr) pd353 ))))((word) &var←c96068, child←v34116, (* (( (ptr) outlineData←v34032)+4) ), pd353);
};
afterEnt←v34216 = var←c96068.f2;
ent←v34188 = var←c96068.f1;
beforeEnt←v34160 = var←c96068.f0;
};
SOURCE(55077, 236)
if ((action←v16396 == (* (( (ptr) gf←c99172)+61) ))) {
SOURCE(55103, 107)
{
word pd354;
if ((afterEnt←v34216 == 0)) {
alteredD←v16440 = 0;
}
else {
pd354 = (* (( (ptr) (* (( (ptr) gf←c99172)+204)/* var←c91588 */ ))+83) );
alteredD←v16440 = (word) ( *( (fPt) ((* (ptr) pd354 ))))((* (ptr) sliceD←v16368 ), (* (ptr) afterEnt←v34216 ), pd354);
};
};
}
else {
SOURCE(55210, 103)
{
word pd355;
if ((beforeEnt←v34160 == 0)) {
alteredD←v16440 = 0;
}
else {
pd355 = (* (( (ptr) (* (( (ptr) gf←c99172)+204)/* var←c91588 */ ))+83) );
alteredD←v16440 = (word) ( *( (fPt) ((* (ptr) pd355 ))))((* (ptr) sliceD←v16368 ), (* (ptr) beforeEnt←v34160 ), pd355)
;
};
};
};
};
}
else {
SOURCE(55322, 12)
goto lab←L100195;
};
};
goto endif0351;
};
if ((var←c96036 == (* (( (ptr) gf←c99172)+63) ))) {
SOURCE(55350, 44)
if ((0 != (word) IsComplete←P2640(outlineParts←v34004))) {
SOURCE(55383, 11)
return(0);
};
SOURCE(55396, 105)
{
word pd356;
pd356 = (* (( (ptr) (* (( (ptr) gf←c99172)+207)/* var←c91876 */ ))+28) );
if ((0 != (word) ( *( (fPt) ((* (ptr) pd356 ))))(childD←v34088, pd356))) {
SOURCE(55439, 62)
{
word pd357;
pd357 = (* (( (ptr) (* (( (ptr) gf←c99172)+207)/* var←c91876 */ ))+29) );
alteredD←v16440 = (word) ( *( (fPt) ((* (ptr) pd357 ))))((* (ptr) sliceD←v16368 ), 0, 6, pd357);
};
}
else {
SOURCE(55501, 12)
goto lab←L100195;
};
};
goto endif0351;
};
if ((var←c96036 == (* (( (ptr) gf←c99172)+64) ))) {
SOURCE(55538, 124)
if ((0 != (word) IsComplete←P2640(outlineParts←v34004))) {
SOURCE(55571, 91)
{
word var←c96100;
var←c96100 = (word) OutlineLastChild←P3180((* (ptr) (sliceD←v16368) ));
{
word pd358;
pd358 = (* (( (ptr) (* (( (ptr) gf←c99172)+204)/* var←c91588 */ ))+83) );
alteredD←v16440 = (word) ( *( (fPt) ((* (ptr) pd358 ))))((* (ptr) sliceD←v16368 ), var←c96100, pd358);
};
};
}
else {
SOURCE(55662, 12)
goto lab←L100195;
};
goto endif0351;
};
if ((var←c96036 == (* (( (ptr) gf←c99172)+65) ))) {
SOURCE(55700, 125)
if ((0 != (word) IsComplete←P2640(outlineParts←v34004))) {
SOURCE(55733, 92)
{
word var←c96132;
var←c96132 = (word) OutlineFirstChild←P3120((* (ptr) (sliceD←v16368) ));
{
word pd359;
pd359 = (* (( (ptr) (* (( (ptr) gf←c99172)+204)/* var←c91588 */ ))+83) );
alteredD←v16440 = (word) ( *( (fPt) ((* (ptr) pd359 ))))((* (ptr) sliceD←v16368 ), var←c96132, pd359);
};
};
}
else {
SOURCE(55825, 12)
goto lab←L100195;
};
goto endif0351;
};
SOURCE(55853, 5)
(void) XR←RaiseUnnamedError();
goto endif0351;
endif0351: ;
};
goto lab←L100196;
lab←L100195: ;
SOURCE(55877, 191)
{
word alteredChildD←v34344;
SOURCE(55879, 70)
{
word pd360;
pd360 = (* (( (ptr) (* (( (ptr) gf←c99172)+207)/* var←c91876 */ ))+34) );
alteredChildD←v34344 = (word) ( *( (fPt) ((* (ptr) pd360 ))))(childD←v34088, action←v16396, pd360);
};
SOURCE(55951, 115)
{
word pd361;
if ((alteredChildD←v34344 == 0)) {
alteredD←v16440 = 0;
}
else {
pd361 = (* (( (ptr) (* (( (ptr) gf←c99172)+204)/* var←c91588 */ ))+82) );
alteredD←v16440 = (word) ( *( (fPt) ((* (ptr) pd361 ))))((* (ptr) sliceD←v16368 ), alteredChildD←v34344, pd361);
};
};
};
lab←L100196: ;
SOURCE(54423, 1648)
return(alteredD←v16440);
}
static word OutlineFirstChild←P3120(slice←v16500)
word slice←v16500;
{
register ptr gf←c99204 = (ptr) &globalframe;
word child←v16544;
word outlineData←v34388;
/* OutlineFirstChild: */
SOURCE(56080, 147)
SOURCE(56080, 147)
child←v16544 = 0;
SOURCE(56146, 45)
outlineData←v34388 = XR←Narrow((* (( (ptr) slice←v16500)+1) ), (* (( (ptr) gf←c99204)+13) ));
SOURCE(56193, 34)
child←v16544 = (* (ptr) (* (( (ptr) outlineData←v34388)+4) ) );
SOURCE(56080, 147)
return(child←v16544);
}
static word OutlineLastChild←P3180(slice←v16604)
word slice←v16604;
{
register ptr gf←c99236 = (ptr) &globalframe;
word child←v16648;
word outlineData←v34432;
/* OutlineLastChild: */
SOURCE(56233, 208)
SOURCE(56233, 208)
child←v16648 = 0;
SOURCE(56298, 45)
outlineData←v34432 = XR←Narrow((* (( (ptr) slice←v16604)+1) ), (* (( (ptr) gf←c99236)+13) ));
SOURCE(56345, 96)
{
register word list←v34476;
list←v34476 = (* (( (ptr) outlineData←v34432)+4) );
lab←L100200: ;
if ((list←v34476 != 0)) {
}
else {
goto lab←L100197;
};
SOURCE(56423, 18)
child←v16648 = (* (ptr) list←v34476 );
list←v34476 = (* (( (ptr) list←v34476)+1) );
goto lab←L100200;
lab←L100197: ;
};
SOURCE(56233, 208)
return(child←v16648);
}
static void SetSelectedFields←P3240(sliceD←v16708, selected←v16736, selectClass←v16764)
word sliceD←v16708;
word selected←v16736;
word selectClass←v16764;
{
register ptr gf←c99268 = (ptr) &globalframe;
word outlineParts←v34604;
/* SetSelectedFields: */
SOURCE(56456, 424)
SOURCE(56562, 49)
outlineParts←v34604 = XR←Narrow((* (( (ptr) sliceD←v16708)+1) ), (* (( (ptr) gf←c99268)+21) ));
SOURCE(56613, 33)
if ((outlineParts←v34604 == 0)) {
SOURCE(56640, 6)
return;
};
SOURCE(56648, 232)
{
register word nextParts←v34648;
nextParts←v34648 = (* (ptr) outlineParts←v34604 );
lab←L100204: ;
if ((nextParts←v34648 != 0)) {
}
else {
goto lab←L100201;
};
{
word nextPart←v34776;
SOURCE(56753, 43)
nextPart←v34776 = (* (ptr) nextParts←v34648 );
SOURCE(56798, 82)
if ((nextPart←v34776 != 0)) {
SOURCE(56819, 61)
{
word pd362;
pd362 = (* (( (ptr) (* (( (ptr) gf←c99268)+207)/* var←c91876 */ ))+35) );
(void) ( *( (fPt) ((* (ptr) pd362 ))))(nextPart←v34776, selected←v16736, selectClass←v16764, pd362);
};
};
};
nextParts←v34648 = (* (( (ptr) nextParts←v34648)+1) );
goto lab←L100204;
lab←L100201: ;
};
}
static word PointsInDescriptor←P3300(sliceD←v17328)
word sliceD←v17328;
{
register ptr gf←c99300 = (ptr) &globalframe;
word pointGen←v17372;
word outlineParts←v34820;
word descriptors←v34848 = 0;
word childPointGen←v34876 = 0;
word pointGenData←v34904 = 0;
/* PointsInDescriptor: */
SOURCE(57545, 593)
SOURCE(57545, 593)
pointGen←v17372 = 0;
SOURCE(57642, 49)
outlineParts←v34820 = XR←Narrow((* (( (ptr) sliceD←v17328)+1) ), (* (( (ptr) gf←c99300)+21) ));
SOURCE(57796, 74)
if ((outlineParts←v34820 == 0)) {
descriptors←v34848 = 0;
}
else {
descriptors←v34848 = (* (ptr) outlineParts←v34820 );
};
SOURCE(57872, 126)
{
word pd363;
if ((descriptors←v34848 == 0) || ((* (ptr) descriptors←v34848 ) == 0)) {
childPointGen←v34876 = 0;
}
else {
pd363 = (* (( (ptr) (* (( (ptr) gf←c99300)+207)/* var←c91876 */ ))+36) );
childPointGen←v34876 = (word) ( *( (fPt) ((* (ptr) pd363 ))))((* (ptr) (descriptors←v34848) ), pd363);
};
};
SOURCE(58000, 72)
{
word var←c96164;
var←c96164 = XR←NewObject(8, (* (( (ptr) gf←c99300)+23) ));
(* (ptr) var←c96164 ) = descriptors←v34848;
(* (( (ptr) var←c96164)+1) ) = childPointGen←v34876;
pointGenData←v34904 = var←c96164;
};
SOURCE(58074, 64)
{
word var←c96196;
var←c96196 = XR←NewObject(16, (* (( (ptr) gf←c99300)+22) ));
(* (ptr) var←c96196 ) = sliceD←v17328;
(* (( (ptr) var←c96196)+3) ) = pointGenData←v34904;
pointGen←v17372 = var←c96196;
};
SOURCE(57545, 593)
return(pointGen←v17372);
}
static void WalkPointsInDescriptor←P3360(sliceD←v17432, walkProc←v17460)
word sliceD←v17432;
word walkProc←v17460;
{
register ptr gf←c99332 = (ptr) &globalframe;
word outlineParts←v35032;
word descriptors←v35060 = 0;
/* WalkPointsInDescriptor: */
SOURCE(58144, 462)
SOURCE(58235, 49)
outlineParts←v35032 = XR←Narrow((* (( (ptr) sliceD←v17432)+1) ), (* (( (ptr) gf←c99332)+21) ));
SOURCE(58324, 33)
if ((outlineParts←v35032 == 0)) {
SOURCE(58351, 6)
return;
};
SOURCE(58359, 38)
descriptors←v35060 = (* (ptr) outlineParts←v35032 );
SOURCE(58399, 207)
{
register word descriptors←v35188;
descriptors←v35188 = (* (ptr) outlineParts←v35032 );
lab←L100208: ;
if ((descriptors←v35188 != 0)) {
}
else {
goto lab←L100205;
};
SOURCE(58512, 94)
if (((* (ptr) descriptors←v35188 ) != 0)) {
SOURCE(58544, 62)
{
word pd364;
pd364 = (* (( (ptr) (* (( (ptr) gf←c99332)+207)/* var←c91876 */ ))+37) );
(void) ( *( (fPt) ((* (ptr) pd364 ))))((* (ptr) descriptors←v35188 ), walkProc←v17460, pd364);
};
};
descriptors←v35188 = (* (( (ptr) descriptors←v35188)+1) );
goto lab←L100208;
lab←L100205: ;
};
}
static word PointPairsInDescriptor←P3420(sliceD←v17520)
word sliceD←v17520;
{
register ptr gf←c99364 = (ptr) &globalframe;
word pointPairGen←v17564;
word outlineParts←v35316;
word descriptors←v35344 = 0;
word childPointPairGen←v35372 = 0;
word pointPairGenData←v35400 = 0;
/* PointPairsInDescriptor: */
SOURCE(58621, 666)
SOURCE(58621, 666)
pointPairGen←v17564 = 0;
SOURCE(58743, 49)
outlineParts←v35316 = XR←Narrow((* (( (ptr) sliceD←v17520)+1) ), (* (( (ptr) gf←c99364)+21) ));
SOURCE(58913, 74)
if ((outlineParts←v35316 == 0)) {
descriptors←v35344 = 0;
}
else {
descriptors←v35344 = (* (ptr) outlineParts←v35316 );
};
SOURCE(58989, 134)
{
word pd365;
if ((descriptors←v35344 == 0) || ((* (ptr) descriptors←v35344 ) == 0)) {
childPointPairGen←v35372 = 0;
}
else {
pd365 = (* (( (ptr) (* (( (ptr) gf←c99364)+207)/* var←c91876 */ ))+38) );
childPointPairGen←v35372 = (word) ( *( (fPt) ((* (ptr) pd365 ))))((* (ptr) (descriptors←v35344) ), pd365);
};
};
SOURCE(59125, 84)
{
word var←c96228;
var←c96228 = XR←NewObject(8, (* (( (ptr) gf←c99364)+20) ));
(* (ptr) var←c96228 ) = descriptors←v35344;
(* (( (ptr) var←c96228)+1) ) = childPointPairGen←v35372;
pointPairGenData←v35400 = var←c96228;
};
SOURCE(59211, 76)
{
word var←c96260;
var←c96260 = XR←NewObject(16, (* (( (ptr) gf←c99364)+19) ));
(* (ptr) var←c96260 ) = sliceD←v17520;
(* (( (ptr) var←c96260)+3) ) = pointPairGenData←v35400;
pointPairGen←v17564 = var←c96260;
};
SOURCE(58621, 666)
return(pointPairGen←v17564);
}
static word SegmentsInDescriptor←P3480(sliceD←v17624)
word sliceD←v17624;
{
register ptr gf←c99396 = (ptr) &globalframe;
word segGen←v17668;
word outlineParts←v35528;
word descriptors←v35556;
/* SegmentsInDescriptor: */
SOURCE(59293, 705)
SOURCE(59293, 705)
segGen←v17668 = 0;
SOURCE(59392, 49)
outlineParts←v35528 = XR←Narrow((* (( (ptr) sliceD←v17624)+1) ), (* (( (ptr) gf←c99396)+21) ));
SOURCE(59443, 13)
descriptors←v35556 = ( (outlineParts←v35528 == 0) ? 0 : (* (ptr) outlineParts←v35528 ) ) ;
SOURCE(59544, 454)
if ((descriptors←v35556 != 0)) {
SOURCE(59568, 432)
{
word segGenData←v35684;
SOURCE(59570, 296)
{
word var←c96292;
word var←c96324;
{
word pd366;
if (((* (ptr) descriptors←v35556 ) == 0)) {
var←c96292 = 0;
}
else {
pd366 = (* (( (ptr) (* (( (ptr) gf←c99396)+207)/* var←c91876 */ ))+39) );
var←c96292 = (word) ( *( (fPt) ((* (ptr) pd366 ))))((* (ptr) (descriptors←v35556) ), pd366);
};
};
var←c96324 = XR←NewObject(8, (* (( (ptr) gf←c99396)+12) ));
(* (ptr) var←c96324 ) = descriptors←v35556;
(* (( (ptr) var←c96324)+1) ) = var←c96292;
segGenData←v35684 = var←c96324;
};
SOURCE(59868, 130)
{
word var←c96356;
var←c96356 = XR←NewObject(32, (* (( (ptr) gf←c99396)+10) ));
(* (( (ptr) var←c96356)+1) ) = 9999;
(* (( (ptr) var←c96356)+6) ) = sliceD←v17624;
(* (( (ptr) var←c96356)+7) ) = segGenData←v35684;
segGen←v17668 = var←c96356;
};
};
};
SOURCE(59293, 705)
return(segGen←v17668);
}
static void NextSegment←P3540(formal←c0804, slice←v17728, segGen←v17756)
word formal←c0804;
word slice←v17728;
word segGen←v17756;
{
register ptr gf←c99428 = (ptr) &globalframe;
word seg←v17800;
word transform←v17828;
word segGenData←v35728;
word descriptors←v35756;
/* NextSegment: */
SOURCE(60007, 814)
SOURCE(60007, 814)
seg←v17800 = 0;
SOURCE(60007, 814)
transform←v17828 = 0;
SOURCE(60148, 63)
segGenData←v35728 = XR←Narrow((* (( (ptr) segGen←v17756)+7) ), (* (( (ptr) gf←c99428)+12) ));
SOURCE(60213, 13)
descriptors←v35756 = (* (ptr) segGenData←v35728 );
SOURCE(60271, 25)
if (((* (( (ptr) segGen←v17756)+1) ) != 9999)) {
SOURCE(60296, 5)
(void) XR←RaiseUnnamedError();
};
SOURCE(60320, 501)
lab←L100212: ;
SOURCE(60334, 250)
if (((* (ptr) descriptors←v35756 ) != 0)) {
SOURCE(60405, 85)
{
W2 var←c96388;
{
word pd367;
pd367 = (* (( (ptr) (* (( (ptr) gf←c99428)+207)/* var←c91876 */ ))+43) );
(void) ( *( (fPt) ((* (ptr) pd367 ))))((word) &var←c96388, (* (ptr) (* (ptr) descriptors←v35756 ) ), (* (( (ptr) segGenData←v35728)+1)
), pd367);
};
transform←v17828 = var←c96388.f1;
seg←v17800 = var←c96388.f0;
};
SOURCE(60492, 57)
if ((seg←v17800 != 0)) {
SOURCE(60510, 31)
(* (ptr) segGenData←v35728 ) = descriptors←v35756;
SOURCE(60543, 6)
goto lab←L100209;
};
SOURCE(60554, 30)
descriptors←v35756 = (* (( (ptr) descriptors←v35756)+1) );
};
SOURCE(60613, 92)
lab←L100215: ;
if ( ( (descriptors←v35756 != 0) ? ((* (ptr) descriptors←v35756 ) == 0) : 0 ) ) {
}
else {
goto lab←L100213;
};
SOURCE(60667, 38)
descriptors←v35756 = (* (( (ptr) descriptors←v35756)+1) );
goto lab←L100215;
lab←L100213: ;
SOURCE(60707, 42)
if ((descriptors←v35756 == 0)) {
SOURCE(60733, 16)
seg←v17800 = 0;
transform←v17828 = 0;
goto lab←L100209;
};
SOURCE(60751, 70)
{
word pd368;
pd368 = (* (( (ptr) (* (( (ptr) gf←c99428)+207)/* var←c91876 */ ))+39) );
(* (( (ptr) segGenData←v35728)+1) ) = (word) ( *( (fPt) ((* (ptr) pd368 ))))((* (ptr) (descriptors←v35756) ), pd368);
};
goto lab←L100212;
/* c2c skipped dead code */
lab←L100209: ;
(* (ptr) formal←c0804 ) = seg←v17800;
(* (( (ptr) formal←c0804)+1) ) = transform←v17828;
return;
}
static word WalkSegments←P3600(slice←v17888, walkProc←v17916)
word slice←v17888;
word walkProc←v17916;
{
register ptr gf←c99460 = (ptr) &globalframe;
word sliceD←v17960;
word ptr←v35884 = 0;
word outlineData←v35912;
word newParts←v35940;
/* WalkSegments: */
SOURCE(60861, 635)
SOURCE(60861, 635)
sliceD←v17960 = 0;
SOURCE(60990, 45)
outlineData←v35912 = XR←Narrow((* (( (ptr) slice←v17888)+1) ), (* (( (ptr) gf←c99460)+13) ));
SOURCE(61037, 45)
newParts←v35940 = XR←NewObject(4, (* (( (ptr) gf←c99460)+21) ));
SOURCE(61084, 66)
{
W2 var←c96452;
{
word pd369;
pd369 = (* (( (ptr) (* (( (ptr) gf←c99460)+214)/* var←c92996 */ ))+15) );
(void) ( *( (fPt) ((* (ptr) pd369 ))))((word) (&var←c96452), pd369);
};
ptr←v35884 = var←c96452.f1;
(* (ptr) newParts←v35940 ) = var←c96452.f0;
};
SOURCE(61152, 280)
{
register word children←v36068;
children←v36068 = (* (( (ptr) outlineData←v35912)+4) );
lab←L100219: ;
if ((children←v36068 != 0)) {
}
else {
goto lab←L100216;
};
{
word child←v36196;
word childD←v36224;
SOURCE(61240, 29)
child←v36196 = (* (ptr) children←v36068 );
SOURCE(61271, 66)
{
word pd370;
pd370 = (* (( (ptr) (* (( (ptr) gf←c99460)+207)/* var←c91876 */ ))+40) );
childD←v36224 = (word) ( *( (fPt) ((* (ptr) pd370 ))))(child←v36196, walkProc←v17916, pd370);
};
SOURCE(61339, 93)
{
W2 var←c96484;
{
word pd371;
pd371 = (* (( (ptr) (* (( (ptr) gf←c99460)+214)/* var←c92996 */ ))+16) );
(void) ( *( (fPt) ((* (ptr) pd371 ))))((word) &var←c96484, childD←v36224, (* (ptr) newParts←v35940 ), ptr←v35884, pd371)
;
};
ptr←v35884 = var←c96484.f1;
(* (ptr) newParts←v35940 ) = var←c96484.f0;
};
};
children←v36068 = (* (( (ptr) children←v36068)+1) );
goto lab←L100219;
lab←L100216: ;
};
SOURCE(61443, 53)
{
word pd372;
pd372 = (* (( (ptr) (* (( (ptr) gf←c99460)+205)/* var←c91620 */ ))+8) );
sliceD←v17960 = (word) ( *( (fPt) ((* (ptr) pd372 ))))(slice←v17888, newParts←v35940, pd372);
};
SOURCE(60861, 635)
return(sliceD←v17960);
}
static void NextPoint←P3660(formal←c0824, slice←v18020, pointGen←v18048)
word formal←c0824;
word slice←v18020;
word pointGen←v18048;
{
register ptr gf←c99492 = (ptr) &globalframe;
W3 pointAndDone←v18092;
word pgd←v36268;
word descriptors←v36296;
/* NextPoint: */
SOURCE(61502, 773)
SOURCE(61620, 56)
pgd←v36268 = XR←Narrow((* (( (ptr) pointGen←v18048)+3) ), (* (( (ptr) gf←c99492)+23) ));
SOURCE(61678, 13)
descriptors←v36296 = (* (ptr) pgd←v36268 );
SOURCE(61729, 47)
if ((descriptors←v36296 == 0)) {
SOURCE(61755, 21)
pointAndDone←v18092.f0 = (* (ptr) &fc373 );
pointAndDone←v18092.f1 = (* (ptr) &fc373 );
pointAndDone←v18092.f2 = 1;
goto lab←L100220;
};
SOURCE(61778, 497)
lab←L100223: ;
SOURCE(61792, 248)
if (((* (ptr) descriptors←v36296 ) != 0)) {
SOURCE(61865, 74)
{
word pd374;
pd374 = (* (( (ptr) (* (( (ptr) gf←c99492)+207)/* var←c91876 */ ))+41) );
(void) ( *( (fPt) ((* (ptr) pd374 ))))((word) &pointAndDone←v18092, (* (ptr) (* (ptr) descriptors←v36296 ) ), (* (( (ptr) pgd←v36268)+1)
), pd374);
};
SOURCE(61941, 64)
if ((0 == pointAndDone←v18092.f2)) {
SOURCE(61973, 24)
(* (ptr) pgd←v36268 ) = descriptors←v36296;
SOURCE(61999, 6)
goto lab←L100220;
};
SOURCE(62010, 30)
descriptors←v36296 = (* (( (ptr) descriptors←v36296)+1) );
};
SOURCE(62069, 92)
lab←L100226: ;
if ( ( (descriptors←v36296 != 0) ? ((* (ptr) descriptors←v36296 ) == 0) : 0 ) ) {
}
else {
goto lab←L100224;
};
SOURCE(62123, 38)
descriptors←v36296 = (* (( (ptr) descriptors←v36296)+1) );
goto lab←L100226;
lab←L100224: ;
SOURCE(62163, 47)
if ((descriptors←v36296 == 0)) {
SOURCE(62189, 21)
pointAndDone←v18092.f0 = (* (ptr) &fc373 );
pointAndDone←v18092.f1 = (* (ptr) &fc373 );
pointAndDone←v18092.f2 = 1;
goto lab←L100220;
};
SOURCE(62212, 63)
{
word pd375;
pd375 = (* (( (ptr) (* (( (ptr) gf←c99492)+207)/* var←c91876 */ ))+36) );
(* (( (ptr) pgd←v36268)+1) ) = (word) ( *( (fPt) ((* (ptr) pd375 ))))((* (ptr) (descriptors←v36296) ), pd375);
};
goto lab←L100223;
/* c2c skipped dead code */
lab←L100220: ;
(* (W3Pt) formal←c0824 ) = pointAndDone←v18092;
return;
}
static void NextPointPair←P3720(formal←c0831, slice←v18152, pointPairGen←v18180)
word formal←c0831;
word slice←v18152;
word pointPairGen←v18180;
{
register ptr gf←c99524 = (ptr) &globalframe;
W5 pointPairAndDone←v18224;
word pgd←v36424;
word descriptors←v36452;
/* NextPointPair: */
SOURCE(62317, 817)
SOURCE(62442, 64)
pgd←v36424 = XR←Narrow((* (( (ptr) pointPairGen←v18180)+3) ), (* (( (ptr) gf←c99524)+20) ));
SOURCE(62508, 13)
descriptors←v36452 = (* (ptr) pgd←v36424 );
SOURCE(62559, 54)
if ((descriptors←v36452 == 0)) {
SOURCE(62585, 28)
pointPairAndDone←v18224.f0 = (* (ptr) &fc373 );
pointPairAndDone←v18224.f1 = (* (ptr) &fc373 );
pointPairAndDone←v18224.f2 = (* (ptr) &fc373 );
pointPairAndDone←v18224.f3 = (* (ptr) &fc373 );
pointPairAndDone←v18224.f4 = 1;
goto lab←L100227;
};
SOURCE(62615, 519)
lab←L100230: ;
SOURCE(62629, 259)
if (((* (ptr) descriptors←v36452 ) != 0)) {
SOURCE(62701, 82)
{
word pd376;
pd376 = (* (( (ptr) (* (( (ptr) gf←c99524)+207)/* var←c91876 */ ))+42) );
(void) ( *( (fPt) ((* (ptr) pd376 ))))((word) &pointPairAndDone←v18224, (* (ptr) (* (ptr) descriptors←v36452 ) ), (* (
( (ptr) pgd←v36424)+1) ), pd376);
};
SOURCE(62785, 68)
if ((0 == pointPairAndDone←v18224.f4)) {
SOURCE(62821, 24)
(* (ptr) pgd←v36424 ) = descriptors←v36452;
SOURCE(62847, 6)
goto lab←L100227;
};
SOURCE(62858, 30)
descriptors←v36452 = (* (( (ptr) descriptors←v36452)+1) );
};
SOURCE(62917, 92)
lab←L100233: ;
if ( ( (descriptors←v36452 != 0) ? ((* (ptr) descriptors←v36452 ) == 0) : 0 ) ) {
}
else {
goto lab←L100231;
};
SOURCE(62971, 38)
descriptors←v36452 = (* (( (ptr) descriptors←v36452)+1) );
goto lab←L100233;
lab←L100231: ;
SOURCE(63011, 54)
if ((descriptors←v36452 == 0)) {
SOURCE(63037, 28)
pointPairAndDone←v18224.f0 = (* (ptr) &fc373 );
pointPairAndDone←v18224.f1 = (* (ptr) &fc373 );
pointPairAndDone←v18224.f2 = (* (ptr) &fc373 );
pointPairAndDone←v18224.f3 = (* (ptr) &fc373 );
pointPairAndDone←v18224.f4 = 1;
goto lab←L100227;
};
SOURCE(63067, 67)
{
word pd377;
pd377 = (* (( (ptr) (* (( (ptr) gf←c99524)+207)/* var←c91876 */ ))+38) );
(* (( (ptr) pgd←v36424)+1) ) = (word) ( *( (fPt) ((* (ptr) pd377 ))))((* (ptr) (descriptors←v36452) ), pd377);
};
goto lab←L100230;
/* c2c skipped dead code */
lab←L100227: ;
(* (W5Pt) formal←c0831 ) = pointPairAndDone←v18224;
return;
}
static void NoName←Q8532(formal←c0840, formal←c200000, formal←c200001, formal←c200002, formal←c200003)
word formal←c0840;
word formal←c200000;
word formal←c200001;
word formal←c200002;
word formal←c200003;
{
register ptr gf←c0925 = (ptr) &globalframe;
if ((formal←c200001 == (* (( (ptr) (* (( (ptr) gf←c0925)+210)/* var←c92452 */ ))+5) ))) {
{
word ec←v86228;
word stream←v86256;
word details←v86284;
word msg←v86312;
ec←v86228 = (* (ptr) formal←c200003 );
stream←v86256 = (* (( (ptr) formal←c200003)+1) );
details←v86284 = (* (( (ptr) formal←c200003)+2) );
msg←v86312 = (* (( (ptr) formal←c200003)+3) );
SOURCE(44527, 23)
(* (( (ptr) formal←c200000)+5) ) = (* (( (ptr) gf←c0925)+55) );
SOURCE(44552, 9)
(* (ptr) formal←c0840 ) = 2;
(* (( (ptr) formal←c0840)+1) ) = 2;
return;
};
};
(* (ptr) formal←c0840 ) = 0;
(* (( (ptr) formal←c0840)+1) ) = 0;
return;
}
/* file: GGOutlineImplA, module: GGOutlineImplA, compiled at: July 11, 1993 8:17:03 pm PDT */
extern void XR←install←GGOutlineImplA() {
NoName←Q8412();
}
extern void XR←run←GGOutlineImplA() { XR←Start(&globalframe); }