/* Generated with C2C (Cedar To C)*/
/* Copyright (C) 1993 by Xerox Corporation. All rights reserved. */
/* time: July 11, 1993 8:05:05 pm PDT */
/* C2C version: April 20, 1993 (sun4) */
/* ref-counting: off */
/* file: GGSliceOpsImpl, module: GGSliceOpsImpl */
/* switches: bcfhklnouw */
#include <cedar/InstallationSupport.h>
#include <cedar/CedarExtra.h>
static char versionStamp[] = "@(#)mob←version [2199996704,780654301] GGSliceOpsImpl";
typedef unsigned word, *ptr;
typedef unsigned char byte, *bPt;
typedef unsigned short half, *hPt;
typedef word (*fPt)();
typedef struct {word f0, f1, f2, f3, f4;} W5;
typedef struct {word f0, f1, f2, f3;} W4;
typedef struct {word f0, f1, f2;} W3;
typedef W3 *W3Pt;
typedef W5 *W5Pt;
typedef struct {word f0, f1;} W2;
typedef struct {word f0, f1, f2, f3, f4, f5, f6;} W7;
typedef W2 *W2Pt;
typedef struct {word f0, f1, f2, f3, f4, f5;} W6;
typedef struct {word f0, f1, f2, f3, f4, f5, f6, f7;} W8;
typedef struct {W8 f; W2 r;} W10;
#define SOURCE(p, l) /* source p, l */
static float fc113 = 0.0;
static float fc156 = 8705.14;
static float fc170 = 8906.16;
#define BCK(idx, lim) ( ((unsigned) idx) >= ((unsigned) lim) ? (XR←RaiseBoundsFault()) : (idx) )
#define SGNCK(i) ((int) (word) (i) < 0 ? XR←RaiseArithmeticFault(): i )
static float fc206 = 0.072;
static void NoName←Q6588();
static void GGSliceOpsImpl←P0();
static word GetType←P60();
static word GetBoundBox←P120();
static word GetTransformedBoundBox←P180();
static word GetTightBox←P240();
static word Copy←P300();
static void Restore←P360();
static void Unlink←P420();
static void BuildPath←P480();
static void DrawBorder←P540();
static void DrawParts←P600();
static void DrawTransform←P660();
static void DrawSelectionFeedback←P720();
static void DrawAttractorFeedback←P780();
static word AttractorFeedbackBoundBox←P840();
static void SaveSelections←P900();
static word RemakeSelections←P960();
static void Transform←P1020();
static word Describe←P1080();
static word DescribeHit←P1140();
static void Fileout←P1200();
static word Filein←P1260();
static word IsEmptyParts←P1320();
static word IsCompleteParts←P1380();
static word NewParts←P1440();
static word UnionParts←P1500();
static word DifferenceParts←P1560();
static void MovingParts←P1620();
static word AugmentParts←P1680();
static word AlterParts←P1740();
static void SetSelectedFields←P1800();
static word PointsInDescriptor←P1860();
static void WalkPointsInDescriptor←P1920();
static word PointPairsInDescriptor←P1980();
static word SegmentsInDescriptor←P2040();
static word WalkSegments←P2100();
static void NextPoint←P2160();
static void NextPointPair←P2220();
static void NextSegment←P2280();
static void ClosestPoint←P2340();
static void ClosestJointToHitData←P2400();
static void ClosestPointAndTangent←P2460();
static void ClosestSegment←P2520();
static void FilledPathsUnderPoint←P2580();
static void LineIntersection←P2640();
static void CircleIntersection←P2700();
static word HitDataAsSimpleCurve←P2760();
static void SetDefaults←P2820();
static word SetStrokeWidth←P2880();
static void GetStrokeWidth←P2940();
static void SetStrokeEnd←P3000();
static void GetStrokeEnd←P3060();
static void SetStrokeJoint←P3120();
static void GetStrokeJoint←P3180();
static void SetStrokeColor←P3240();
static void GetStrokeColor←P3300();
static void SetFillColor←P3360();
static void GetFillColor←P3420();
static void SetArrows←P3480();
static void GetArrows←P3540();
static void SetDashed←P3600();
static void GetDashed←P3660();
static word SetOrientation←P3720();
static void GetOrientation←P3780();
static void FileoutSlice←P3840();
static void FileoutPList←P3900();
static word FileoutProp←P4800();
static word FileinSlice←P3960();
static word SliceClassFromRope←P4020();
static void FileinPList←P4080();
static word ReadRopeInBoxcarAndBell←P4140();
static word PartsInBoundBox←P4200();
static word WithinBoundBox←P4260();
static word Within←P5004();
static word IsOpen←P4320();
static void GenericPropsUndo←P4380();
static void Note←P4440();
static void UndoProps←P4500();
static word FixBogusParts←P4560();
static word IsDescriptorOfEnd←P4620();
static void UnpackJoint←P4680();
static void UnpackSegment←P4740();
static struct {unsigned f; char r[16];} string1 = {851984, "\257\300\122\207\370\054\300\315\202\135\375\100\200\000\000"};
static struct {unsigned f; char r[12];} string2 = {589833, "\007\000\040\003\004\036\004\016\014\000\000"};
static struct {unsigned f; char r[16];} string3 = {851984, "\257\300\203\041\111\040\300\056\207\326\335\100\274\000\000"};
static struct {unsigned f; char r[4];} string4 = {65537, "\001\000\000"};
static struct {unsigned f; char r[4];} string5 = {131076, "\216\251\000"};
static struct {unsigned f; char r[4];} string6 = {65540, "\256\000\000"};
static struct {unsigned f; char r[16];} string7 = {851984, "\257\300ZT?\010\300\370;=;@t\000\000"};
static struct {unsigned f; char r[20];} string8 = {1048592, "\007\000\040\003\007\040\040\002\003\002\004\074\004\016\004\006\000\000\000"};
static struct {unsigned f; char r[16];} string9 = {851984, "\257\300\203\041\111\040\300\056\207\326\335\100\200\000\000"};
static struct {unsigned f; char r[16];} string10 = {851984, "\257\300\252\043\023\037\300\070\056\113\065\100\214\000\000"};
static struct {unsigned f; char r[4];} string11 = {131074, "\003\001\000"};
static struct {unsigned f; char r[16];} string12 = {851984, "\257\300\203\041\111\040\300\056\207\326\335\100\214\000\000"};
static struct {unsigned f; char r[48];} string13 = {2883632, "\260\006\005\146\151\162\163\164\216\257\300\252\043\023\037\300\070\056\113\065\100\214\005\004\162\145\163\164\214\216\257\300\252\043\023\037\300\070\056\113\065\100\214\261\000\000\000"};
static struct {unsigned f; char r[4];} string14 = {131074, "\004\003\000"};
static struct {unsigned f; char r[16];} string15 = {917520, "\216\257\300\363\223\326\161\300\017\164\046\072\104\350\000"};
static struct {unsigned f; char r[16];} string16 = {851984, "\257\300\203\041\111\040\300\056\207\326\335\100\244\000\000"};
static struct {unsigned f; char r[16];} string17 = {851984, "\257\300\203\041\111\040\300\056\207\326\335\100\230\000\000"};
static struct {unsigned f; char r[16];} string18 = {851984, "\257\300\203\041\111\040\300\056\207\326\335\100\260\000\000"};
static struct {unsigned f; char r[12];} string19 = {589836, "SetDashed\000\000"};
static struct {unsigned f; char r[16];} string20 = {917520, "SetOrientation\000"};
static struct {unsigned f; char r[12];} string21 = {589836, "SetArrows\000\000"};
static struct {unsigned f; char r[16];} string22 = {786448, "SetFillColor\000\000\000"};
static struct {unsigned f; char r[4];} string23 = {196612, "%g "};
static struct {unsigned f; char r[12];} string24 = {655372, " pList: ( \000"};
static struct {unsigned f; char r[4];} string25 = {131076, ")\012\000"};
static struct {unsigned f; char r[8];} string26 = {262152, "(%g \000\000\000"};
static struct {unsigned f; char r[12];} string27 = {524300, "%g%g%g) \000\000\000"};
static struct {unsigned f; char r[12];} string28 = {589836, "[%g] %g) \000\000"};
static struct {unsigned f; char r[8];} string29 = {262152, "Traj\000\000\000"};
static struct {unsigned f; char r[8];} string30 = {458760, "(class:"};
static struct {unsigned f; char r[4];} string31 = {131076, "]:\000"};
static struct {unsigned f; char r[8];} string32 = {327688, "Data:\000\000"};
static struct {unsigned f; char r[12];} string33 = {524300, "pList: (\000\000\000"};
static struct {unsigned f; char r[4];} string34 = {131076, "] \000"};
static struct {unsigned f; char r[20];} string35 = {1245204, "Not yet implemented"};
static struct {unsigned f; char r[16];} string36 = {917520, "SetStrokeColor\000"};
static struct {unsigned f; char r[16];} string37 = {917520, "SetStrokeJoint\000"};
static struct {unsigned f; char r[16];} string38 = {786448, "SetStrokeEnd\000\000\000"};
static struct {unsigned f; char r[16];} string39 = {917520, "SetStrokeWidth\000"};
static struct {unsigned f; char r[4];} string40 = {196612, "Set"};
static struct {unsigned f; char r[8];} string41 = {458760, "Cluster"};
static struct {unsigned f; char r[8];} string42 = {458760, "Outline"};
static struct {unsigned f; char r[12];} string43 = {589836, "Transform\000\000"};
static struct {unsigned f; char r[16];} string44 = {851984, "\257\300\203\041\111\040\300\056\207\326\335\100\164\000\000"};
static struct {unsigned f; char r[12];} string45 = {589833, "\006\001\100\140\010\000\004\032\001\000\000"};
static struct {unsigned f; char r[16];} string46 = {851984, "\257\300\055\153\222\376\300\327\164\352\142\100\150\000\000"};
static struct {unsigned f; char r[16];} string47 = {851984, "\257\300\322\334\347\304\300\124\107\000\027\100\150\000\000"};
static struct {unsigned f; char r[16];} string48 = {851984, "\257\300\311\023\117\300\300\337\236\305\170\100\150\000\000"};
static struct {unsigned f; char r[16];} string49 = {851984, "\257\300\301\241\007\150\300\032\111\265\237\100\150\000\000"};
static struct {unsigned f; char r[16];} string50 = {851984, "\257\300\236\155\220\261\300\040\017\026\014\100\150\000\000"};
static struct {unsigned f; char r[16];} string51 = {851984, "\257\300\317\075\344\275\300\105\331\241\110\100\150\000\000"};
static struct {unsigned f; char r[16];} string52 = {851984, "\257\300U$)\337\300Xo9\243@t\000\000"};
static struct {unsigned f; char r[8];} string53 = {1195856748, "iceOps"};
static struct {unsigned f; char r[16];} string54 = {851984, "\257\300\336\025\013\356\300\216\115\352\271\100\150\000\000"};
static struct {unsigned f; char r[16];} string55 = {851984, "\257\300\050\310\006\072\300\004\273\314\121\100\150\000\000"};
static struct {unsigned f; char r[16];} string56 = {851984, "\257\300\121\117\377\026\300\315\013\026\004\100\150\000\000"};
static struct {unsigned f; char r[16];} string57 = {851984, "\257\300\015\277\004\146\300\034\367\146\045\100\164\000\000"};
static struct {unsigned f; char r[16];} string58 = {851984, "\257\300\332\223\177\020\300\304\076\102\260\100\164\000\000"};
static struct {unsigned f; char r[16];} string59 = {851984, "\257\300\353\320\266\116\300\006\152\040\366\100\150\000\000"};
static struct {unsigned f; char r[16];} string60 = {851984, "\257\300\363\223\326\161\300\017\164\046\072\100\150\000\000"};
static struct {unsigned f; char r[16];} string61 = {851984, "\257\300\252\043\023\037\300\070\056\113\065\100\150\000\000"};
static struct {unsigned f; char r[20];} string62 = {1245204, "\211\007\006Change\300\252#\023\037\3008.K5"};
static struct {
word f0[4]; word f4; word f5; word f6;
word f7[44]; word f51; word f52; word f53;
word f54; word f55; word f56; word f57;
word f58; word f59; word f60; word f61;
word f62; word f63; word f64; word f65;
word f66; word f67; word f68; word f69;
word f70; word f71; word f72; word f73;
word f74; word f75; word f76; word f77;
word f78; word f79; word f80; word f81;
word f82; word f83; word f84; word f85;
word f86; word f87; word f88; word f89;
word f90; word f91; word f92; word f93;
word f94; word f95; word f96; word f97;
word f98; word f99; word f100; word f101;
word f102; word f103; word f104; word f105;
word f106; word f107; word f108; word f109;
word f110; word f111; word f112; word f113;
word f114; word f115; word f116; word f117;
word f118; word f119; word f120; word f121;
word f122; word f123; word f124; word f125;
word f126; word f127; word f128; word f129;
word f130; word f131; word f132; word f133;
word f134; word f135; word f136; word f137;
word f138; word f139; word f140; word f141;
word f142; word f143; word f144; word f145;
word f146; word f147; word f148; word f149;
word f150; word f151; word f152; word f153;
word f154; word f155; word f156; word f157;
word f158; word f159; word f160; word f161;
word f162; word f163; word f164; word f165;
word f166; word f167; word f168; word f169;
word f170; word f171; word f172; word f173;
word f174; word f175; word f176; word f177;
word f178; word f179; word f180; word f181;
word f182; word f183; word f184; word f185;
word f186; word f187; word f188; word f189;
word f190; word f191; word f192; word f193;
word f194; word f195; word f196; word f197;
word f198; word f199; word f200; word f201;
word f202; word f203; word f204; word f205;
word f206; word f207; word f208; word f209;
word f210[17];
} globalframe = {
{0}, (word) 1, 0, (word) 1,
{0}, (word) UnpackSegment←P4740, 0, (word) UnpackJoint←P4680,
0, (word) IsDescriptorOfEnd←P4620, 0, (word) FixBogusParts←P4560,
0, (word) UndoProps←P4500, 0, (word) Note←P4440,
0, (word) GenericPropsUndo←P4380, 0, (word) IsOpen←P4320,
0, (word) WithinBoundBox←P4260, 0, (word) PartsInBoundBox←P4200,
0, (word) ReadRopeInBoxcarAndBell←P4140, 0, (word) FileinPList←P4080,
0, (word) SliceClassFromRope←P4020, 0, (word) FileinSlice←P3960,
0, (word) FileoutPList←P3900, 0, (word) FileoutSlice←P3840,
0, (word) GetOrientation←P3780, 0, (word) SetOrientation←P3720,
0, (word) GetDashed←P3660, 0, (word) SetDashed←P3600,
0, (word) GetArrows←P3540, 0, (word) SetArrows←P3480,
0, (word) GetFillColor←P3420, 0, (word) SetFillColor←P3360,
0, (word) GetStrokeColor←P3300, 0, (word) SetStrokeColor←P3240,
0, (word) GetStrokeJoint←P3180, 0, (word) SetStrokeJoint←P3120,
0, (word) GetStrokeEnd←P3060, 0, (word) SetStrokeEnd←P3000,
0, (word) GetStrokeWidth←P2940, 0, (word) SetStrokeWidth←P2880,
0, (word) SetDefaults←P2820, 0, (word) HitDataAsSimpleCurve←P2760,
0, (word) CircleIntersection←P2700, 0, (word) LineIntersection←P2640,
0, (word) FilledPathsUnderPoint←P2580, 0, (word) ClosestSegment←P2520,
0, (word) ClosestPointAndTangent←P2460, 0, (word) ClosestJointToHitData←P2400,
0, (word) ClosestPoint←P2340, 0, (word) NextSegment←P2280,
0, (word) NextPointPair←P2220, 0, (word) NextPoint←P2160,
0, (word) WalkSegments←P2100, 0, (word) SegmentsInDescriptor←P2040,
0, (word) PointPairsInDescriptor←P1980, 0, (word) WalkPointsInDescriptor←P1920,
0, (word) PointsInDescriptor←P1860, 0, (word) SetSelectedFields←P1800,
0, (word) AlterParts←P1740, 0, (word) AugmentParts←P1680,
0, (word) MovingParts←P1620, 0, (word) DifferenceParts←P1560,
0, (word) UnionParts←P1500, 0, (word) NewParts←P1440,
0, (word) IsCompleteParts←P1380, 0, (word) IsEmptyParts←P1320,
0, (word) Filein←P1260, 0, (word) Fileout←P1200,
0, (word) DescribeHit←P1140, 0, (word) Describe←P1080,
0, (word) Transform←P1020, 0, (word) RemakeSelections←P960,
0, (word) SaveSelections←P900, 0, (word) AttractorFeedbackBoundBox←P840,
0, (word) DrawAttractorFeedback←P780, 0, (word) DrawSelectionFeedback←P720,
0, (word) DrawTransform←P660, 0, (word) DrawParts←P600,
0, (word) DrawBorder←P540, 0, (word) BuildPath←P480,
0, (word) Unlink←P420, 0, (word) Restore←P360,
0, (word) Copy←P300, 0, (word) GetTightBox←P240,
0, (word) GetTransformedBoundBox←P180, 0, (word) GetBoundBox←P120,
0, (word) GetType←P60, 0, (word) GGSliceOpsImpl←P0,
{0}
};
static void NoName←Q6588()
{
register ptr gf←c0638 = (ptr) &globalframe;
word var←c65360;
(* (( (ptr) gf←c0638)+7) ) = (word) XR←GetTypeIndex((word) &string1, 0, (word) &string2);
(* (( (ptr) gf←c0638)+8) ) = (word) XR←GetTypeIndex((word) &string3, 0, (word) &string4);
(* (( (ptr) gf←c0638)+9) ) = (word) XR←GetTypeIndex((word) &string5, 0, (word) &string4);
(* (( (ptr) gf←c0638)+12) ) = (word) XR←GetTypeIndexS((word) (&string6));
(* (( (ptr) gf←c0638)+13) ) = (word) XR←GetTypeIndex((word) &string7, 0, (word) &string8);
(* (( (ptr) gf←c0638)+14) ) = (word) XR←GetTypeIndexS((word) (&string9));
(* (( (ptr) gf←c0638)+15) ) = (word) XR←GetTypeIndex((word) &string10, 0, (word) &string11);
(* (( (ptr) gf←c0638)+16) ) = (word) XR←GetTypeIndexS((word) (&string12));
(* (( (ptr) gf←c0638)+17) ) = (word) XR←GetTypeIndex((word) &string13, 0, (word) &string14);
(* (( (ptr) gf←c0638)+19) ) = (word) XR←GetTypeIndex((word) &string15, 0, (word) &string4);
(* (( (ptr) gf←c0638)+20) ) = (word) XR←GetTypeIndexS((word) (&string16));
(* (( (ptr) gf←c0638)+22) ) = (word) XR←GetTypeIndex((word) &string17, 0, (word) &string11);
(* (( (ptr) gf←c0638)+23) ) = (word) XR←GetTypeIndexS((word) (&string18));
(* (ptr) (( (bPt) gf←c0638)+96) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0638)+9) ), (word) &string19);
(* (ptr) (( (bPt) gf←c0638)+100) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0638)+9) ), (word) &string20);
(* (ptr) (( (bPt) gf←c0638)+104) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0638)+9) ), (word) &string21);
(* (ptr) (( (bPt) gf←c0638)+108) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0638)+9) ), (word) &string22);
(* (ptr) (( (bPt) gf←c0638)+112) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0638)+19) ), (word) &string23);
(* (ptr) (( (bPt) gf←c0638)+116) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0638)+19) ), (word) &string24);
(* (ptr) (( (bPt) gf←c0638)+120) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0638)+19) ), (word) &string25);
(* (ptr) (( (bPt) gf←c0638)+124) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0638)+19) ), (word) &string26);
(* (ptr) (( (bPt) gf←c0638)+128) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0638)+19) ), (word) &string27);
(* (ptr) (( (bPt) gf←c0638)+132) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0638)+19) ), (word) &string28);
(* (ptr) (( (bPt) gf←c0638)+136) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0638)+19) ), (word) &string29);
(* (ptr) (( (bPt) gf←c0638)+140) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0638)+19) ), (word) &string30);
(* (ptr) (( (bPt) gf←c0638)+144) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0638)+19) ), (word) &string31);
(* (ptr) (( (bPt) gf←c0638)+148) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0638)+19) ), (word) &string32);
(* (ptr) (( (bPt) gf←c0638)+152) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0638)+19) ), (word) &string33);
(* (ptr) (( (bPt) gf←c0638)+156) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0638)+19) ), (word) &string34);
(* (ptr) (( (bPt) gf←c0638)+160) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0638)+19) ), (word) &string35);
(* (ptr) (( (bPt) gf←c0638)+164) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0638)+9) ), (word) &string29);
(* (ptr) (( (bPt) gf←c0638)+168) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0638)+9) ), (word) &string36);
(* (ptr) (( (bPt) gf←c0638)+172) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0638)+9) ), (word) &string37);
(* (ptr) (( (bPt) gf←c0638)+176) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0638)+9) ), (word) &string38);
(* (ptr) (( (bPt) gf←c0638)+180) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0638)+9) ), (word) &string39);
(* (ptr) (( (bPt) gf←c0638)+184) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0638)+9) ), (word) &string40);
(* (ptr) (( (bPt) gf←c0638)+188) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0638)+9) ), (word) &string41);
(* (ptr) (( (bPt) gf←c0638)+192) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0638)+9) ), (word) &string42);
(* (ptr) (( (bPt) gf←c0638)+196) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0638)+9) ), (word) &string43);
(void) XR←DeclareGlobalFrame((word) "GGSliceOpsImpl", &globalframe, (word) XR←GetTypeIndex((word) &string44, 0, (word) &string45)
, (word) (( (bPt) gf←c0638)+836)/* var←c61008 */ );
var←c65360 = (word) XR←ImportInterface((word) "Atom", (word) XR←GetTypeIndexS((word) (&string46)), 16);
(* (( (ptr) gf←c0638)+213)/* var←c62768 */ ) = var←c65360;
(void) XR←ImportProcS(var←c65360, 67895555);
(void) XR←ImportProcS(var←c65360, 67372289);
var←c65360 = (word) XR←ImportInterface((word) "Feedback", (word) XR←GetTypeIndexS((word) (&string47)), 25);
(* (( (ptr) gf←c0638)+221)/* var←c64272 */ ) = var←c65360;
var←c65360 = (word) XR←ImportInterface((word) "GGOutline", (word) XR←GetTypeIndexS((word) (&string48)), 19);
(* (( (ptr) gf←c0638)+224)/* var←c64976 */ ) = var←c65360;
(void) XR←ImportProcS(var←c65360, 671354113);
var←c65360 = (word) XR←ImportInterface((word) "GGParent", (word) XR←GetTypeIndexS((word) (&string49)), 83);
(* (( (ptr) gf←c0638)+215)/* var←c62864 */ ) = var←c65360;
(void) XR←ImportProcS(var←c65360, 68176388);
(void) XR←ImportProcS(var←c65360, 67386113);
var←c65360 = (word) XR←ImportInterface((word) "GGParseIn", (word) XR←GetTypeIndexS((word) (&string50)), 26);
(* (( (ptr) gf←c0638)+218)/* var←c63408 */ ) = var←c65360;
(void) XR←ImportProcS(var←c65360, 262401);
(void) XR←ImportProcS(var←c65360, 67376385);
(void) XR←ImportProcS(var←c65360, 525826);
(void) XR←ImportProcS(var←c65360, 525570);
(void) XR←ImportProcS(var←c65360, 67372033);
var←c65360 = (word) XR←ImportInterface((word) "GGProps", (word) XR←GetTypeIndexS((word) (&string51)), 11);
(* (( (ptr) gf←c0638)+216)/* var←c62960 */ ) = var←c65360;
(void) XR←ImportProcS(var←c65360, 1048580);
(void) XR←ImportProcS(var←c65360, 67635202);
(void) XR←ImportProcS(var←c65360, 134743810);
(void) XR←ImportProcS(var←c65360, 67896323);
var←c65360 = (word) XR←ImportInterface((word) "GGSlice", (word) XR←GetTypeIndexS((word) (&string52)), 128);
(* (( (ptr) gf←c0638)+211)/* var←c61168 */ ) = var←c65360;
(void) XR←ImportProcS(var←c65360, 67371777);
(void) XR←ImportProcS(var←c65360, 135293443);
(void) XR←ImportProcS(var←c65360, 68701702);
var←c65360 = (word) XR←ImportInterface((word) &string53, (word) XR←GetTypeIndexS((word) (&string54)), 73);
(* (( (ptr) gf←c0638)+212)/* var←c62704 */ ) = var←c65360;
(void) XR←ImportProcS(var←c65360, 1315333);
(void) XR←ImportProcS(var←c65360, 68173572);
(void) XR←ImportProcS(var←c65360, 1850631);
(void) XR←ImportProcS(var←c65360, 1325829);
(void) XR←ImportProcS(var←c65360, 1325317);
(void) XR←ImportProcS(var←c65360, 1324805);
(void) XR←ImportProcS(var←c65360, 1062148);
(void) XR←ImportProcS(var←c65360, 1061636);
(void) XR←ImportProcS(var←c65360, 68169988);
(void) XR←ImportProcS(var←c65360, 67901699);
(void) XR←ImportProcS(var←c65360, 529666);
(void) XR←ImportProcS(var←c65360, 67371521);
var←c65360 = (word) XR←ImportInterface((word) "GGTraj", (word) XR←GetTypeIndexS((word) (&string55)), 55);
(* (( (ptr) gf←c0638)+222)/* var←c64368 */ ) = var←c65360;
(void) XR←ImportProcS(var←c65360, 671625218);
(void) XR←ImportProcS(var←c65360, 67643650);
(void) XR←ImportProcS(var←c65360, 67374081);
var←c65360 = (word) XR←ImportInterface((word) "ImagerTransformation", (word) XR←GetTypeIndexS((word) (&string56)), 55);
(* (( (ptr) gf←c0638)+223)/* var←c64848 */ ) = var←c65360;
(void) XR←ImportProcS(var←c65360, 67383041);
var←c65360 = (word) XR←ImportInterface((word) "IO", (word) XR←GetTypeIndexS((word) (&string57)), 103);
(* (( (ptr) gf←c0638)+214)/* var←c62832 */ ) = var←c65360;
(void) XR←ImportProcS(var←c65360, 67917827);
(void) XR←ImportProcS(var←c65360, 67388417);
(void) XR←ImportProcS(var←c65360, 2111493);
(void) XR←ImportProcS(var←c65360, 1071364);
(void) XR←ImportProcS(var←c65360, 1063171);
var←c65360 = (word) XR←ImportInterface((word) "RefText", (word) XR←GetTypeIndexS((word) (&string58)), 26);
(* (( (ptr) gf←c0638)+220)/* var←c64176 */ ) = var←c65360;
(void) XR←ImportProcS(var←c65360, 67634946);
var←c65360 = (word) XR←ImportInterface((word) "RefTextExtras", (word) XR←GetTypeIndexS((word) (&string59)), 16);
(* (( (ptr) gf←c0638)+219)/* var←c63952 */ ) = var←c65360;
(void) XR←ImportProcS(var←c65360, 528130);
(void) XR←ImportProcS(var←c65360, 67374593);
var←c65360 = (word) XR←ImportInterface((word) "Rope", (word) XR←GetTypeIndexS((word) (&string60)), 43);
(* (( (ptr) gf←c0638)+217)/* var←c63056 */ ) = var←c65360;
(void) XR←ImportProcS(var←c65360, 67903235);
(void) XR←ImportProcS(var←c65360, 67373569);
var←c65360 = (word) XR←ExportInterface((word) &string53, (word) XR←GetTypeIndexS((word) (&string54)), 73);
(* (( (ptr) gf←c0638)+225)/* var←c65392 */ ) = var←c65360;
(void) XR←ExportVar(var←c65360, 0, (word) (( (bPt) gf←c0638)+16)/* noteNoMore←v3336 */ );
(void) XR←ExportVar(var←c65360, 1, (word) (( (bPt) gf←c0638)+20)/* debugHalt←v3364 */ );
(void) XR←ExportProcS(var←c65360, (word) (( (bPt) gf←c0638)+828)/* var←c60976 */ , 67371521, (word) "GetType");
(void) XR←ExportProcS(var←c65360, (word) (( (bPt) gf←c0638)+820)/* var←c60944 */ , 67633922, (word) "GetBoundBox");
(void) XR←ExportProcS(var←c65360, (word) (( (bPt) gf←c0638)+812)/* var←c60912 */ , 68158468, (word) "GetTransformedBoundBox")
;
(void) XR←ExportProcS(var←c65360, (word) (( (bPt) gf←c0638)+804)/* var←c60880 */ , 67634434, (word) "GetTightBox");
(void) XR←ExportProcS(var←c65360, (word) (( (bPt) gf←c0638)+796)/* var←c60848 */ , 67634690, (word) "Copy");
(void) XR←ExportProcS(var←c65360, (word) (( (bPt) gf←c0638)+788)/* var←c60816 */ , 526082, (word) "Restore");
(void) XR←ExportProcS(var←c65360, (word) (( (bPt) gf←c0638)+780)/* var←c60784 */ , 264193, (word) "Unlink");
(void) XR←ExportProcS(var←c65360, (word) (( (bPt) gf←c0638)+772)/* var←c60752 */ , 2361609, (word) "BuildPath");
(void) XR←ExportProcS(var←c65360, (word) (( (bPt) gf←c0638)+764)/* var←c60720 */ , 2099720, (word) "DrawBorder");
(void) XR←ExportProcS(var←c65360, (word) (( (bPt) gf←c0638)+756)/* var←c60688 */ , 1313541, (word) "DrawParts");
(void) XR←ExportProcS(var←c65360, (word) (( (bPt) gf←c0638)+748)/* var←c60656 */ , 1575942, (word) "DrawTransform");
(void) XR←ExportProcS(var←c65360, (word) (( (bPt) gf←c0638)+740)/* var←c60624 */ , 2362633, (word) "DrawSelectionFeedback")
;
(void) XR←ExportProcS(var←c65360, (word) (( (bPt) gf←c0638)+732)/* var←c60592 */ , 1838599, (word) "DrawAttractorFeedback")
;
(void) XR←ExportProcS(var←c65360, (word) (( (bPt) gf←c0638)+724)/* var←c60560 */ , 68685574, (word) "AttractorFeedbackBoundBox")
;
(void) XR←ExportProcS(var←c65360, (word) (( (bPt) gf←c0638)+716)/* var←c60528 */ , 790531, (word) "SaveSelections");
(void) XR←ExportProcS(var←c65360, (word) (( (bPt) gf←c0638)+708)/* var←c60496 */ , 67637506, (word) "RemakeSelections");
(void) XR←ExportProcS(var←c65360, (word) (( (bPt) gf←c0638)+700)/* var←c60464 */ , 1315333, (word) "Transform");
(void) XR←ExportProcS(var←c65360, (word) (( (bPt) gf←c0638)+692)/* var←c60432 */ , 67375873, (word) "Describe");
(void) XR←ExportProcS(var←c65360, (word) (( (bPt) gf←c0638)+684)/* var←c60400 */ , 67638274, (word) "DescribeHit");
(void) XR←ExportProcS(var←c65360, (word) (( (bPt) gf←c0638)+676)/* var←c60368 */ , 529666, (word) "Fileout");
(void) XR←ExportProcS(var←c65360, (word) (( (bPt) gf←c0638)+668)/* var←c60336 */ , 68163076, (word) "Filein");
(void) XR←ExportProcS(var←c65360, (word) (( (bPt) gf←c0638)+660)/* var←c60304 */ , 67376897, (word) "IsEmptyParts");
(void) XR←ExportProcS(var←c65360, (word) (( (bPt) gf←c0638)+652)/* var←c60272 */ , 67377153, (word) "IsCompleteParts");
(void) XR←ExportProcS(var←c65360, (word) (( (bPt) gf←c0638)+644)/* var←c60240 */ , 67901699, (word) "NewParts");
(void) XR←ExportProcS(var←c65360, (word) (( (bPt) gf←c0638)+636)/* var←c60208 */ , 67639810, (word) "UnionParts");
(void) XR←ExportProcS(var←c65360, (word) (( (bPt) gf←c0638)+628)/* var←c60176 */ , 67640066, (word) "DifferenceParts");
(void) XR←ExportProcS(var←c65360, (word) (( (bPt) gf←c0638)+620)/* var←c60144 */ , 270539780, (word) "MovingParts");
(void) XR←ExportProcS(var←c65360, (word) (( (bPt) gf←c0638)+612)/* var←c60112 */ , 67640578, (word) "AugmentParts");
(void) XR←ExportProcS(var←c65360, (word) (( (bPt) gf←c0638)+604)/* var←c60080 */ , 67640834, (word) "AlterParts");
(void) XR←ExportProcS(var←c65360, (word) (( (bPt) gf←c0638)+596)/* var←c60048 */ , 794371, (word) "SetSelectedFields");
(void) XR←ExportProcS(var←c65360, (word) (( (bPt) gf←c0638)+588)/* var←c60016 */ , 67379201, (word) "PointsInDescriptor")
;
(void) XR←ExportProcS(var←c65360, (word) (( (bPt) gf←c0638)+580)/* var←c59984 */ , 532738, (word) "WalkPointsInDescriptor")
;
(void) XR←ExportProcS(var←c65360, (word) (( (bPt) gf←c0638)+572)/* var←c59952 */ , 67379713, (word) "PointPairsInDescriptor")
;
(void) XR←ExportProcS(var←c65360, (word) (( (bPt) gf←c0638)+564)/* var←c59920 */ , 67379969, (word) "SegmentsInDescriptor")
;
(void) XR←ExportProcS(var←c65360, (word) (( (bPt) gf←c0638)+556)/* var←c59888 */ , 67642370, (word) "WalkSegments");
(void) XR←ExportProcS(var←c65360, (word) (( (bPt) gf←c0638)+548)/* var←c59856 */ , 201860354, (word) "NextPoint");
(void) XR←ExportProcS(var←c65360, (word) (( (bPt) gf←c0638)+540)/* var←c59824 */ , 336078338, (word) "NextPointPair");
(void) XR←ExportProcS(var←c65360, (word) (( (bPt) gf←c0638)+532)/* var←c59792 */ , 134752002, (word) "NextSegment");
(void) XR←ExportProcS(var←c65360, (word) (( (bPt) gf←c0638)+524)/* var←c59760 */ , 470820867, (word) "ClosestPoint");
(void) XR←ExportProcS(var←c65360, (word) (( (bPt) gf←c0638)+516)/* var←c59728 */ , 337127684, (word) "ClosestJointToHitData")
;
(void) XR←ExportProcS(var←c65360, (word) (( (bPt) gf←c0638)+508)/* var←c59696 */ , 470821379, (word) "ClosestPointAndTangent")
;
(void) XR←ExportProcS(var←c65360, (word) (( (bPt) gf←c0638)+500)/* var←c59664 */ , 470821635, (word) "ClosestSegment");
(void) XR←ExportProcS(var←c65360, (word) (( (bPt) gf←c0638)+492)/* var←c59632 */ , 135277571, (word) "FilledPathsUnderPoint")
;
(void) XR←ExportProcS(var←c65360, (word) (( (bPt) gf←c0638)+484)/* var←c59600 */ , 134753538, (word) "LineIntersection");
(void) XR←ExportProcS(var←c65360, (word) (( (bPt) gf←c0638)+476)/* var←c59568 */ , 134753794, (word) "CircleIntersection")
;
(void) XR←ExportProcS(var←c65360, (word) (( (bPt) gf←c0638)+468)/* var←c59536 */ , 67645186, (word) "HitDataAsSimpleCurve")
;
(void) XR←ExportProcS(var←c65360, (word) (( (bPt) gf←c0638)+460)/* var←c59504 */ , 1060868, (word) "SetDefaults");
(void) XR←ExportProcS(var←c65360, (word) (( (bPt) gf←c0638)+452)/* var←c59472 */ , 68169988, (word) "SetStrokeWidth");
(void) XR←ExportProcS(var←c65360, (word) (( (bPt) gf←c0638)+444)/* var←c59440 */ , 134754818, (word) "GetStrokeWidth");
(void) XR←ExportProcS(var←c65360, (word) (( (bPt) gf←c0638)+436)/* var←c59408 */ , 1061636, (word) "SetStrokeEnd");
(void) XR←ExportProcS(var←c65360, (word) (( (bPt) gf←c0638)+428)/* var←c59376 */ , 134755330, (word) "GetStrokeEnd");
(void) XR←ExportProcS(var←c65360, (word) (( (bPt) gf←c0638)+420)/* var←c59344 */ , 1062148, (word) "SetStrokeJoint");
(void) XR←ExportProcS(var←c65360, (word) (( (bPt) gf←c0638)+412)/* var←c59312 */ , 134755842, (word) "GetStrokeJoint");
(void) XR←ExportProcS(var←c65360, (word) (( (bPt) gf←c0638)+404)/* var←c59280 */ , 1324805, (word) "SetStrokeColor");
(void) XR←ExportProcS(var←c65360, (word) (( (bPt) gf←c0638)+396)/* var←c59248 */ , 134756354, (word) "GetStrokeColor");
(void) XR←ExportProcS(var←c65360, (word) (( (bPt) gf←c0638)+388)/* var←c59216 */ , 1325317, (word) "SetFillColor");
(void) XR←ExportProcS(var←c65360, (word) (( (bPt) gf←c0638)+380)/* var←c59184 */ , 134756866, (word) "GetFillColor");
(void) XR←ExportProcS(var←c65360, (word) (( (bPt) gf←c0638)+372)/* var←c59152 */ , 1325829, (word) "SetArrows");
(void) XR←ExportProcS(var←c65360, (word) (( (bPt) gf←c0638)+364)/* var←c59120 */ , 134495233, (word) "GetArrows");
(void) XR←ExportProcS(var←c65360, (word) (( (bPt) gf←c0638)+356)/* var←c59088 */ , 1850631, (word) "SetDashed");
(void) XR←ExportProcS(var←c65360, (word) (( (bPt) gf←c0638)+348)/* var←c59056 */ , 336084482, (word) "GetDashed");
(void) XR←ExportProcS(var←c65360, (word) (( (bPt) gf←c0638)+340)/* var←c59024 */ , 68173572, (word) "SetOrientation");
(void) XR←ExportProcS(var←c65360, (word) (( (bPt) gf←c0638)+332)/* var←c58992 */ , 134758402, (word) "GetOrientation");
(void) XR←ExportProcS(var←c65360, (word) (( (bPt) gf←c0638)+324)/* var←c58960 */ , 540930, (word) "FileoutSlice");
(void) XR←ExportProcS(var←c65360, (word) (( (bPt) gf←c0638)+308)/* var←c58896 */ , 68436485, (word) "FileinSlice");
(void) XR←ExportProcS(var←c65360, (word) (( (bPt) gf←c0638)+276)/* var←c58768 */ , 67650306, (word) "PartsInBoundBox");
(void) XR←ExportProcS(var←c65360, (word) (( (bPt) gf←c0638)+268)/* var←c58736 */ , 67650562, (word) "WithinBoundBox");
(void) XR←ExportProcS(var←c65360, (word) (( (bPt) gf←c0638)+260)/* var←c58704 */ , 67388673, (word) "IsOpen");
(void) XR←ExportProcS(var←c65360, (word) (( (bPt) gf←c0638)+220)/* var←c58544 */ , 67388929, (word) "IsDescriptorOfEnd");
(void) XR←ExportProcS(var←c65360, (word) (( (bPt) gf←c0638)+212)/* var←c58512 */ , 201606913, (word) "UnpackJoint");
(void) XR←ExportProcS(var←c65360, (word) (( (bPt) gf←c0638)+204)/* var←c58480 */ , 335824897, (word) "UnpackSegment");
var←c65360 = (word) XR←ExportInterface((word) "GGHistoryTypes", (word) XR←GetTypeIndexS((word) (&string61)), 2);
(* (( (ptr) gf←c0638)+226)/* var←c65424 */ ) = var←c65360;
(void) XR←ExportType((word) "Change", (word) XR←GetTypeIndexS((word) (&string62)), (word) XR←GetTypeIndex((word) &string1, 0, (word) &string2)
);
}
static void GGSliceOpsImpl←P0(formal←c0105, formal←c0104)
word formal←c0105;
word formal←c0104;
{
/* GGSliceOpsImpl: */
SOURCE(241, 21568)
/* moved to installation proc */
/* moved to installation proc */
}
static word GetType←P60(slice←v6636)
word slice←v6636;
{
word type←v6680;
/* GetType: */
SOURCE(1436, 85)
SOURCE(1436, 85)
type←v6680 = 0;
SOURCE(1497, 24)
return((* (ptr) (* (ptr) slice←v6636 ) ));
}
static word GetBoundBox←P120(slice←v30376, parts←v30404)
word slice←v30376;
word parts←v30404;
{
word box←v30448;
/* GetBoundBox: */
SOURCE(1524, 87)
SOURCE(1524, 87)
box←v30448 = 0;
SOURCE(1566, 45)
{
word pd63;
pd63 = (* (( (ptr) (* (ptr) slice←v30376 ))+1) );
return((word) ( *( (fPt) ((* (ptr) pd63 ))))(slice←v30376, parts←v30404, pd63));
};
}
static word GetTransformedBoundBox←P180(slice←v30508, selectedParts←v30536, movingParts←v30564, transform←v30592)
word slice←v30508;
word selectedParts←v30536;
word movingParts←v30564;
word transform←v30592;
{
word box←v30636;
/* GetTransformedBoundBox: */
SOURCE(1615, 152)
SOURCE(1615, 152)
box←v30636 = 0;
SOURCE(1679, 88)
{
word pd64;
pd64 = (* (( (ptr) (* (ptr) slice←v30508 ))+2) );
return((word) ( *( (fPt) ((* (ptr) pd64 ))))(slice←v30508, selectedParts←v30536, movingParts←v30564, transform←v30592, pd64)
);
};
}
static word GetTightBox←P240(slice←v30696, parts←v30724)
word slice←v30696;
word parts←v30724;
{
word box←v30768;
/* GetTightBox: */
SOURCE(1771, 87)
SOURCE(1771, 87)
box←v30768 = 0;
SOURCE(1813, 45)
{
word pd65;
pd65 = (* (( (ptr) (* (ptr) slice←v30696 ))+3) );
return((word) ( *( (fPt) ((* (ptr) pd65 ))))(slice←v30696, parts←v30724, pd65));
};
}
static word Copy←P300(slice←v30828, parts←v30856)
word slice←v30828;
word parts←v30856;
{
word copy←v30900;
/* Copy: */
SOURCE(1862, 69)
SOURCE(1862, 69)
copy←v30900 = 0;
SOURCE(1893, 38)
{
word pd66;
pd66 = (* (( (ptr) (* (ptr) slice←v30828 ))+4) );
return((word) ( *( (fPt) ((* (ptr) pd66 ))))(slice←v30828, parts←v30856, pd66));
};
}
static void Restore←P360(from←v30960, to←v30988)
word from←v30960;
word to←v30988;
{
/* Restore: */
SOURCE(1935, 75)
SOURCE(1972, 38)
{
word pd67;
pd67 = (* (( (ptr) (* (ptr) from←v30960 ))+6) );
(void) ( *( (fPt) ((* (ptr) pd67 ))))(from←v30960, to←v30988, pd67);
};
}
static void Unlink←P420(slice←v31048)
word slice←v31048;
{
/* Unlink: */
SOURCE(2014, 60)
SOURCE(2049, 25)
{
word pd68;
pd68 = (* (( (ptr) (* (ptr) slice←v31048 ))+5) );
(void) ( *( (fPt) ((* (ptr) pd68 ))))(slice←v31048, pd68);
};
}
static void BuildPath←P480(slice←v31108, transformParts←v31136, transform←v31164, moveTo←v31192, lineTo←v31220, curveTo←v31248, conicTo←v31276, arcTo←v31304, editConstraints←v31332)
word slice←v31108;
word transformParts←v31136;
word transform←v31164;
word moveTo←v31192;
word lineTo←v31220;
word curveTo←v31248;
word conicTo←v31276;
word arcTo←v31304;
word editConstraints←v31332;
{
/* BuildPath: */
SOURCE(2078, 154)
SOURCE(2119, 113)
{
word pd69;
pd69 = (* (( (ptr) (* (ptr) slice←v31108 ))+7) );
(void) ( *( (fPt) ((* (ptr) pd69 ))))(slice←v31108, transformParts←v31136, transform←v31164, moveTo←v31192, lineTo←v31220, curveTo←v31248
, conicTo←v31276, arcTo←v31304, editConstraints←v31332, pd69);
};
}
static void DrawBorder←P540(slice←v31392, drawParts←v31420, transformParts←v31448, transform←v31476, dc←v31504, camera←v31532, quick←v31560, editConstraints←v31588)
word slice←v31392;
word drawParts←v31420;
word transformParts←v31448;
word transform←v31476;
word dc←v31504;
word camera←v31532;
word quick←v31560;
word editConstraints←v31588;
{
/* DrawBorder: */
SOURCE(2236, 146)
SOURCE(2279, 103)
{
word pd70;
pd70 = (* (( (ptr) (* (ptr) slice←v31392 ))+8) );
(void) ( *( (fPt) ((* (ptr) pd70 ))))(slice←v31392, drawParts←v31420, transformParts←v31448, transform←v31476, dc←v31504, camera←v31532
, quick←v31560, editConstraints←v31588, pd70);
};
}
static void DrawParts←P600(slice←v31648, parts←v31676, dc←v31704, camera←v31732, quick←v31760)
word slice←v31648;
word parts←v31676;
word dc←v31704;
word camera←v31732;
word quick←v31760;
{
/* DrawParts: */
SOURCE(2386, 95)
SOURCE(2427, 54)
{
word pd71;
pd71 = (* (( (ptr) (* (ptr) slice←v31648 ))+9) );
(void) ( *( (fPt) ((* (ptr) pd71 ))))(slice←v31648, parts←v31676, dc←v31704, camera←v31732, quick←v31760, pd71);
};
}
static void DrawTransform←P660(slice←v31820, parts←v31848, dc←v31876, camera←v31904, transform←v31932, editConstraints←v31960)
word slice←v31820;
word parts←v31848;
word dc←v31876;
word camera←v31904;
word transform←v31932;
word editConstraints←v31960;
{
/* DrawTransform: */
SOURCE(2485, 129)
SOURCE(2534, 80)
{
word pd72;
pd72 = (* (( (ptr) (* (ptr) slice←v31820 ))+10) );
(void) ( *( (fPt) ((* (ptr) pd72 ))))(slice←v31820, parts←v31848, dc←v31876, camera←v31904, transform←v31932, editConstraints←v31960, pd72)
;
};
}
static void DrawSelectionFeedback←P720(slice←v32020, selectedParts←v32048, hotParts←v32076, dc←v32104, camera←v32132, dragInProgress←v32160, caretIsMoving←v32188, hideHot←v32216, quick←v32244)
word slice←v32020;
word selectedParts←v32048;
word hotParts←v32076;
word dc←v32104;
word camera←v32132;
word dragInProgress←v32160;
word caretIsMoving←v32188;
word hideHot←v32216;
word quick←v32244;
{
/* DrawSelectionFeedback: */
SOURCE(2618, 189)
SOURCE(2683, 124)
{
word pd73;
pd73 = (* (( (ptr) (* (ptr) slice←v32020 ))+11) );
(void) ( *( (fPt) ((* (ptr) pd73 ))))(slice←v32020, selectedParts←v32048, hotParts←v32076, dc←v32104, camera←v32132, dragInProgress←v32160
, caretIsMoving←v32188, hideHot←v32216, quick←v32244, pd73);
};
}
static void DrawAttractorFeedback←P780(slice←v32304, attractorParts←v32332, selectedParts←v32360, dragInProgress←v32388, dc←v32416, camera←v32444, editConstraints←v32472)
word slice←v32304;
word attractorParts←v32332;
word selectedParts←v32360;
word dragInProgress←v32388;
word dc←v32416;
word camera←v32444;
word editConstraints←v32472;
{
/* DrawAttractorFeedback: */
SOURCE(2811, 181)
SOURCE(2876, 116)
{
word pd74;
pd74 = (* (( (ptr) (* (ptr) slice←v32304 ))+12) );
(void) ( *( (fPt) ((* (ptr) pd74 ))))(slice←v32304, attractorParts←v32332, selectedParts←v32360, dragInProgress←v32388, dc←v32416, camera←v32444
, editConstraints←v32472, pd74);
};
}
static word AttractorFeedbackBoundBox←P840(slice←v32532, attractorParts←v32560, selectedParts←v32588, dragInProgress←v32616, camera←v32644, editConstraints←v32672)
word slice←v32532;
word attractorParts←v32560;
word selectedParts←v32588;
word dragInProgress←v32616;
word camera←v32644;
word editConstraints←v32672;
{
register ptr gf←c65456 = (ptr) &globalframe;
word box←v32716;
/* AttractorFeedbackBoundBox: */
SOURCE(2996, 377)
SOURCE(2996, 377)
box←v32716 = 0;
SOURCE(3069, 304)
if (((* (( (ptr) (* (ptr) slice←v32532 ))+13) ) == 0)) {
SOURCE(3121, 129)
{
word pd75;
pd75 = (* (( (ptr) (* (( (ptr) gf←c65456)+211)/* var←c61168 */ ))+82) );
return((word) ( *( (fPt) ((* (ptr) pd75 ))))(slice←v32532, attractorParts←v32560, selectedParts←v32588, dragInProgress←v32616, camera←v32644, editConstraints←v32672, pd75)
);
};
}
else {
SOURCE(3250, 123)
{
word pd76;
pd76 = (* (( (ptr) (* (ptr) slice←v32532 ))+13) );
return((word) ( *( (fPt) ((* (ptr) pd76 ))))(slice←v32532, attractorParts←v32560, selectedParts←v32588, dragInProgress←v32616, camera←v32644, editConstraints←v32672, pd76)
);
};
};
}
static void SaveSelections←P900(slice←v32776, parts←v32804, selectClass←v32832)
word slice←v32776;
word parts←v32804;
word selectClass←v32832;
{
/* SaveSelections: */
SOURCE(3378, 104)
SOURCE(3429, 53)
{
word pd77;
pd77 = (* (( (ptr) (* (ptr) slice←v32776 ))+14) );
(void) ( *( (fPt) ((* (ptr) pd77 ))))(slice←v32776, parts←v32804, selectClass←v32832, pd77);
};
}
static word RemakeSelections←P960(slice←v32892, selectClass←v32920)
word slice←v32892;
word selectClass←v32920;
{
word parts←v32964;
/* RemakeSelections: */
SOURCE(3486, 111)
SOURCE(3486, 111)
parts←v32964 = 0;
SOURCE(3541, 56)
{
word pd78;
pd78 = (* (( (ptr) (* (ptr) slice←v32892 ))+15) );
parts←v32964 = (word) ( *( (fPt) ((* (ptr) pd78 ))))(slice←v32892, selectClass←v32920, pd78);
};
SOURCE(3486, 111)
return(parts←v32964);
}
static void Transform←P1020(slice←v33024, parts←v33052, transform←v33080, editConstraints←v33108, history←v33136)
word slice←v33024;
word parts←v33052;
word transform←v33080;
word editConstraints←v33108;
word history←v33136;
{
register ptr gf←c65488 = (ptr) &globalframe;
word oldValue←v8848;
/* Transform: */
SOURCE(3602, 390)
SOURCE(3644, 46)
oldValue←v8848 = XR←NewObject(8, (* (( (ptr) gf←c65488)+8) ));
SOURCE(3692, 30)
(* (ptr) oldValue←v8848 ) = transform←v33080;
SOURCE(3781, 42)
(* (( (ptr) oldValue←v8848)+1) ) = editConstraints←v33108;
SOURCE(3825, 72)
{
word pd79;
pd79 = (* (( (ptr) (* (ptr) slice←v33024 ))+16) );
(void) ( *( (fPt) ((* (ptr) pd79 ))))(slice←v33024, parts←v33052, transform←v33080, editConstraints←v33108, history←v33136, pd79)
;
};
SOURCE(3899, 93)
(void) GenericPropsUndo←P4380((* (( (ptr) gf←c65488)+49) ), slice←v33024, parts←v33052, oldValue←v8848, history←v33136);
}
static word Describe←P1080(sliceD←v33196)
word sliceD←v33196;
{
word rope←v33240;
/* Describe: */
SOURCE(3997, 82)
SOURCE(3997, 82)
rope←v33240 = 0;
SOURCE(4036, 43)
{
word pd80;
pd80 = (* (( (ptr) (* (ptr) (* (ptr) sliceD←v33196 ) ))+17) );
return((word) ( *( (fPt) ((* (ptr) pd80 ))))(sliceD←v33196, pd80));
};
}
static word DescribeHit←P1140(slice←v33300, hitData←v33328)
word slice←v33300;
word hitData←v33328;
{
word rope←v33372;
/* DescribeHit: */
SOURCE(4083, 92)
SOURCE(4083, 92)
rope←v33372 = 0;
SOURCE(4128, 47)
{
word pd81;
pd81 = (* (( (ptr) (* (ptr) slice←v33300 ))+18) );
return((word) ( *( (fPt) ((* (ptr) pd81 ))))(slice←v33300, hitData←v33328, pd81));
};
}
static void Fileout←P1200(slice←v33432, f←v33460)
word slice←v33432;
word f←v33460;
{
/* Fileout: */
SOURCE(4179, 66)
SOURCE(4216, 29)
{
word pd82;
pd82 = (* (( (ptr) (* (ptr) slice←v33432 ))+19) );
(void) ( *( (fPt) ((* (ptr) pd82 ))))(slice←v33432, f←v33460, pd82);
};
}
static word Filein←P1260(f←v33520, version←v33548, router←v33576, camera←v33604)
word f←v33520;
word version←v33548;
word router←v33576;
word camera←v33604;
{
word slice←v33648;
/* Filein: */
SOURCE(4249, 89)
SOURCE(4249, 89)
slice←v33648 = 0;
SOURCE(4284, 54)
{
word pd83;
pd83 = (* (( (ptr) (* (ptr) slice←v33648 ))+20) );
return((word) ( *( (fPt) ((* (ptr) pd83 ))))(f←v33520, version←v33548, router←v33576, camera←v33604, pd83));
};
}
static word IsEmptyParts←P1320(sliceD←v33708)
word sliceD←v33708;
{
word var←c33752;
/* IsEmptyParts: */
SOURCE(4342, 95)
SOURCE(4390, 47)
{
word pd84;
pd84 = (* (( (ptr) (* (ptr) (* (ptr) sliceD←v33708 ) ))+21) );
return((word) ( *( (fPt) ((* (ptr) pd84 ))))(sliceD←v33708, pd84));
};
}
static word IsCompleteParts←P1380(sliceD←v33812)
word sliceD←v33812;
{
word var←c33856;
/* IsCompleteParts: */
SOURCE(4441, 104)
SOURCE(4495, 50)
{
word pd85;
pd85 = (* (( (ptr) (* (ptr) (* (ptr) sliceD←v33812 ) ))+22) );
return((word) ( *( (fPt) ((* (ptr) pd85 ))))(sliceD←v33812, pd85));
};
}
static word NewParts←P1440(slice←v33916, hitData←v33944, mode←v33972)
word slice←v33916;
word hitData←v33944;
word mode←v33972;
{
word sliceD←v34016;
/* NewParts: */
SOURCE(4549, 89)
SOURCE(4549, 89)
sliceD←v34016 = 0;
SOURCE(4588, 50)
{
word pd86;
pd86 = (* (( (ptr) (* (ptr) slice←v33916 ))+23) );
return((word) ( *( (fPt) ((* (ptr) pd86 ))))(slice←v33916, hitData←v33944, mode←v33972, pd86));
};
}
static word UnionParts←P1500(partsA←v34076, partsB←v34104)
word partsA←v34076;
word partsB←v34104;
{
word aPlusB←v34148;
/* UnionParts: */
SOURCE(4642, 96)
SOURCE(4642, 96)
aPlusB←v34148 = 0;
SOURCE(4685, 53)
{
word pd87;
pd87 = (* (( (ptr) (* (ptr) (* (ptr) partsA←v34076 ) ))+24) );
return((word) ( *( (fPt) ((* (ptr) pd87 ))))(partsA←v34076, partsB←v34104, pd87));
};
}
static word DifferenceParts←P1560(partsA←v34208, partsB←v34236)
word partsA←v34208;
word partsB←v34236;
{
word aMinusB←v34280;
/* DifferenceParts: */
SOURCE(4742, 111)
SOURCE(4742, 111)
aMinusB←v34280 = 0;
SOURCE(4795, 58)
{
word pd88;
pd88 = (* (( (ptr) (* (ptr) (* (ptr) partsA←v34208 ) ))+25) );
return((word) ( *( (fPt) ((* (ptr) pd88 ))))(partsA←v34208, partsB←v34236, pd88));
};
}
static void MovingParts←P1620(formal←c0224, slice←v34340, selectedParts←v34368, editConstraints←v34396, bezierDrag←v34424)
word formal←c0224;
word slice←v34340;
word selectedParts←v34368;
word editConstraints←v34396;
W5 bezierDrag←v34424;
{
word background←v34468;
word overlay←v34496;
word rubber←v34524;
word drag←v34552;
/* MovingParts: */
SOURCE(4857, 156)
SOURCE(4857, 156)
background←v34468 = 0;
SOURCE(4857, 156)
overlay←v34496 = 0;
SOURCE(4857, 156)
rubber←v34524 = 0;
SOURCE(4857, 156)
drag←v34552 = 0;
SOURCE(4901, 112)
{
W4 var←c61488;
{
word pd89;
pd89 = (* (( (ptr) (* (ptr) slice←v34340 ))+26) );
(void) ( *( (fPt) ((* (ptr) pd89 ))))((word) &var←c61488, slice←v34340, selectedParts←v34368, editConstraints←v34396, bezierDrag←v34424, pd89)
;
};
drag←v34552 = var←c61488.f3;
rubber←v34524 = var←c61488.f2;
overlay←v34496 = var←c61488.f1;
background←v34468 = var←c61488.f0;
};
/* removed tail goto */
(* (ptr) formal←c0224 ) = background←v34468;
(* (( (ptr) formal←c0224)+1) ) = overlay←v34496;
(* (( (ptr) formal←c0224)+2) ) = rubber←v34524;
(* (( (ptr) formal←c0224)+3) ) = drag←v34552;
return;
}
static word AugmentParts←P1680(sliceD←v34612, selectClass←v34640)
word sliceD←v34612;
word selectClass←v34640;
{
word more←v34684;
/* AugmentParts: */
SOURCE(5017, 107)
SOURCE(5017, 107)
more←v34684 = 0;
SOURCE(5064, 60)
{
word pd90;
pd90 = (* (( (ptr) (* (ptr) (* (ptr) sliceD←v34612 ) ))+27) );
return((word) ( *( (fPt) ((* (ptr) pd90 ))))(sliceD←v34612, selectClass←v34640, pd90));
};
}
static word AlterParts←P1740(sliceD←v34744, action←v34772)
word sliceD←v34744;
word action←v34772;
{
word alteredD←v34816;
/* AlterParts: */
SOURCE(5128, 96)
SOURCE(5128, 96)
alteredD←v34816 = 0;
SOURCE(5171, 53)
{
word pd91;
pd91 = (* (( (ptr) (* (ptr) (* (ptr) sliceD←v34744 ) ))+28) );
return((word) ( *( (fPt) ((* (ptr) pd91 ))))(sliceD←v34744, action←v34772, pd91));
};
}
static void SetSelectedFields←P1800(sliceD←v34876, selected←v34904, selectClass←v34932)
word sliceD←v34876;
word selected←v34904;
word selectClass←v34932;
{
/* SetSelectedFields: */
SOURCE(5228, 123)
SOURCE(5284, 67)
{
word pd92;
pd92 = (* (( (ptr) (* (ptr) (* (ptr) sliceD←v34876 ) ))+29) );
(void) ( *( (fPt) ((* (ptr) pd92 ))))(sliceD←v34876, selected←v34904, selectClass←v34932, pd92);
};
}
static word PointsInDescriptor←P1860(sliceD←v34992)
word sliceD←v34992;
{
word pointGen←v35036;
/* PointsInDescriptor: */
SOURCE(5355, 112)
SOURCE(5355, 112)
pointGen←v35036 = 0;
SOURCE(5414, 53)
{
word pd93;
pd93 = (* (( (ptr) (* (ptr) (* (ptr) sliceD←v34992 ) ))+30) );
return((word) ( *( (fPt) ((* (ptr) pd93 ))))(sliceD←v34992, pd93));
};
}
static void WalkPointsInDescriptor←P1920(sliceD←v35096, walkProc←v35124)
word sliceD←v35096;
word walkProc←v35124;
{
/* WalkPointsInDescriptor: */
SOURCE(5471, 126)
SOURCE(5538, 59)
{
word pd94;
pd94 = (* (( (ptr) (* (ptr) (* (ptr) sliceD←v35096 ) ))+31) );
(void) ( *( (fPt) ((* (ptr) pd94 ))))(sliceD←v35096, walkProc←v35124, pd94);
};
}
static word PointPairsInDescriptor←P1980(sliceD←v35184)
word sliceD←v35184;
{
word pointPairGen←v35228;
/* PointPairsInDescriptor: */
SOURCE(5601, 124)
SOURCE(5601, 124)
pointPairGen←v35228 = 0;
SOURCE(5668, 57)
{
word pd95;
pd95 = (* (( (ptr) (* (ptr) (* (ptr) sliceD←v35184 ) ))+32) );
return((word) ( *( (fPt) ((* (ptr) pd95 ))))(sliceD←v35184, pd95));
};
}
static word SegmentsInDescriptor←P2040(sliceD←v35288)
word sliceD←v35288;
{
word segGen←v35332;
/* SegmentsInDescriptor: */
SOURCE(5729, 118)
SOURCE(5729, 118)
segGen←v35332 = 0;
SOURCE(5792, 55)
{
word pd96;
pd96 = (* (( (ptr) (* (ptr) (* (ptr) sliceD←v35288 ) ))+33) );
return((word) ( *( (fPt) ((* (ptr) pd96 ))))(sliceD←v35288, pd96));
};
}
static word WalkSegments←P2100(slice←v35392, walkProc←v35420)
word slice←v35392;
word walkProc←v35420;
{
word sliceD←v35464;
/* WalkSegments: */
SOURCE(5851, 96)
SOURCE(5851, 96)
sliceD←v35464 = 0;
SOURCE(5898, 49)
{
word pd97;
pd97 = (* (( (ptr) (* (ptr) slice←v35392 ))+34) );
return((word) ( *( (fPt) ((* (ptr) pd97 ))))(slice←v35392, walkProc←v35420, pd97));
};
}
static void NextPoint←P2160(formal←c0250, slice←v35524, pointGen←v35552)
word formal←c0250;
word slice←v35524;
word pointGen←v35552;
{
W3 pointAndDone←v35596;
/* NextPoint: */
SOURCE(5951, 87)
SOURCE(5992, 46)
{
W3 var←c61744;
{
word pd98;
pd98 = (* (( (ptr) (* (ptr) slice←v35524 ))+35) );
(void) ( *( (fPt) ((* (ptr) pd98 ))))((word) &var←c61744, slice←v35524, pointGen←v35552, pd98);
};
pointAndDone←v35596 = var←c61744;
/* removed tail goto */
};
(* (W3Pt) formal←c0250 ) = pointAndDone←v35596;
return;
}
static void NextPointPair←P2220(formal←c0256, slice←v35656, pointPairGen←v35684)
word formal←c0256;
word slice←v35656;
word pointPairGen←v35684;
{
W5 pointPairAndDone←v35728;
/* NextPointPair: */
SOURCE(6042, 103)
SOURCE(6091, 54)
{
W5 var←c61808;
{
word pd99;
pd99 = (* (( (ptr) (* (ptr) slice←v35656 ))+36) );
(void) ( *( (fPt) ((* (ptr) pd99 ))))((word) &var←c61808, slice←v35656, pointPairGen←v35684, pd99);
};
pointPairAndDone←v35728 = var←c61808;
/* removed tail goto */
};
(* (W5Pt) formal←c0256 ) = pointPairAndDone←v35728;
return;
}
static void NextSegment←P2280(formal←c0263, slice←v35788, segGen←v35816)
word formal←c0263;
word slice←v35788;
word segGen←v35816;
{
word seg←v35860;
word transform←v35888;
/* NextSegment: */
SOURCE(6149, 102)
SOURCE(6149, 102)
seg←v35860 = 0;
SOURCE(6149, 102)
transform←v35888 = 0;
SOURCE(6194, 57)
{
W2 var←c61840;
{
word pd100;
pd100 = (* (( (ptr) (* (ptr) slice←v35788 ))+37) );
(void) ( *( (fPt) ((* (ptr) pd100 ))))((word) &var←c61840, slice←v35788, segGen←v35816, pd100);
};
transform←v35888 = var←c61840.f1;
seg←v35860 = var←c61840.f0;
};
/* removed tail goto */
(* (ptr) formal←c0263 ) = seg←v35860;
(* (( (ptr) formal←c0263)+1) ) = transform←v35888;
return;
}
static void ClosestPoint←P2340(formal←c0274, sliceD←v35948, testPoint←v35976, tolerance←v36004)
word formal←c0274;
word sliceD←v35948;
W2 testPoint←v35976;
word tolerance←v36004;
{
W2 bestPoint←v36048;
word bestDist←v36076;
W2 bestNormal←v36104;
word hitData←v36132;
word success←v36160;
/* ClosestPoint: */
SOURCE(6255, 162)
SOURCE(6255, 162)
hitData←v36132 = 0;
SOURCE(6302, 115)
{
W7 var←c61872;
{
word pd101;
pd101 = (* (( (ptr) (* (ptr) (* (ptr) sliceD←v35948 ) ))+38) );
(void) ( *( (fPt) ((* (ptr) pd101 ))))((word) &var←c61872, sliceD←v35948, testPoint←v35976, tolerance←v36004, pd101);
};
success←v36160 = var←c61872.f6;
hitData←v36132 = var←c61872.f5;
bestNormal←v36104 = (* (W2Pt) (( (ptr) &var←c61872)+3) );
bestDist←v36076 = var←c61872.f2;
bestPoint←v36048 = (* (W2Pt) &var←c61872 );
};
/* removed tail goto */
(* (W2Pt) formal←c0274 ) = bestPoint←v36048;
(* (( (ptr) formal←c0274)+2) ) = bestDist←v36076;
(* (W2Pt) (( (ptr) formal←c0274)+3) ) = bestNormal←v36104;
(* (( (ptr) formal←c0274)+5) ) = hitData←v36132;
(* (( (ptr) formal←c0274)+6) ) = success←v36160;
return;
}
static void ClosestJointToHitData←P2400(formal←c0284, sliceD←v36220, mapPoint←v36248, testPoint←v36276, hitData←v36304)
word formal←c0284;
word sliceD←v36220;
W2 mapPoint←v36248;
W2 testPoint←v36276;
word hitData←v36304;
{
word jointD←v36348;
W2 point←v36376;
W2 normal←v36404;
/* ClosestJointToHitData: */
SOURCE(6421, 169)
SOURCE(6421, 169)
jointD←v36348 = 0;
SOURCE(6486, 104)
{
W5 var←c61904;
{
word pd102;
pd102 = (* (( (ptr) (* (ptr) (* (ptr) sliceD←v36220 ) ))+39) );
(void) ( *( (fPt) ((* (ptr) pd102 ))))((word) &var←c61904, sliceD←v36220, mapPoint←v36248, testPoint←v36276, hitData←v36304, pd102)
;
};
normal←v36404 = (* (W2Pt) (( (ptr) &var←c61904)+3) );
point←v36376 = (* (W2Pt) (( (ptr) &var←c61904)+1) );
jointD←v36348 = var←c61904.f0;
};
/* removed tail goto */
(* (ptr) formal←c0284 ) = jointD←v36348;
(* (W2Pt) (( (ptr) formal←c0284)+1) ) = point←v36376;
(* (W2Pt) (( (ptr) formal←c0284)+3) ) = normal←v36404;
return;
}
static void ClosestPointAndTangent←P2460(formal←c0295, sliceD←v36464, testPoint←v36492, tolerance←v36520)
word formal←c0295;
word sliceD←v36464;
W2 testPoint←v36492;
word tolerance←v36520;
{
W2 bestPoint←v36564;
word bestDist←v36592;
W2 tangent←v36620;
word hitData←v36648;
word success←v36676;
/* ClosestPointAndTangent: */
SOURCE(6594, 189)
SOURCE(6594, 189)
hitData←v36648 = 0;
SOURCE(6661, 122)
{
W7 var←c61936;
{
word pd103;
pd103 = (* (( (ptr) (* (ptr) (* (ptr) sliceD←v36464 ) ))+40) );
(void) ( *( (fPt) ((* (ptr) pd103 ))))((word) &var←c61936, sliceD←v36464, testPoint←v36492, tolerance←v36520, pd103);
};
success←v36676 = var←c61936.f6;
hitData←v36648 = var←c61936.f5;
tangent←v36620 = (* (W2Pt) (( (ptr) &var←c61936)+3) );
bestDist←v36592 = var←c61936.f2;
bestPoint←v36564 = (* (W2Pt) &var←c61936 );
};
/* removed tail goto */
(* (W2Pt) formal←c0295 ) = bestPoint←v36564;
(* (( (ptr) formal←c0295)+2) ) = bestDist←v36592;
(* (W2Pt) (( (ptr) formal←c0295)+3) ) = tangent←v36620;
(* (( (ptr) formal←c0295)+5) ) = hitData←v36648;
(* (( (ptr) formal←c0295)+6) ) = success←v36676;
return;
}
static void ClosestSegment←P2520(formal←c0306, sliceD←v36736, testPoint←v36764, tolerance←v36792)
word formal←c0306;
word sliceD←v36736;
W2 testPoint←v36764;
word tolerance←v36792;
{
W2 bestPoint←v36836;
word bestDist←v36864;
W2 bestNormal←v36892;
word hitData←v36920;
word success←v36948;
/* ClosestSegment: */
SOURCE(6787, 169)
SOURCE(6787, 169)
hitData←v36920 = 0;
SOURCE(6838, 118)
{
W7 var←c61968;
{
word pd104;
pd104 = (* (( (ptr) (* (ptr) (* (ptr) sliceD←v36736 ) ))+41) );
(void) ( *( (fPt) ((* (ptr) pd104 ))))((word) &var←c61968, sliceD←v36736, testPoint←v36764, tolerance←v36792, pd104);
};
success←v36948 = var←c61968.f6;
hitData←v36920 = var←c61968.f5;
bestNormal←v36892 = (* (W2Pt) (( (ptr) &var←c61968)+3) );
bestDist←v36864 = var←c61968.f2;
bestPoint←v36836 = (* (W2Pt) &var←c61968 );
};
/* removed tail goto */
(* (W2Pt) formal←c0306 ) = bestPoint←v36836;
(* (( (ptr) formal←c0306)+2) ) = bestDist←v36864;
(* (W2Pt) (( (ptr) formal←c0306)+3) ) = bestNormal←v36892;
(* (( (ptr) formal←c0306)+5) ) = hitData←v36920;
(* (( (ptr) formal←c0306)+6) ) = success←v36948;
return;
}
static void FilledPathsUnderPoint←P2580(formal←c0316, slice←v37008, point←v37036, tolerance←v37064)
word formal←c0316;
word slice←v37008;
W2 point←v37036;
word tolerance←v37064;
{
register ptr gf←c65520 = (ptr) &globalframe;
word hitData←v37108;
word moreHitDatas←v37136;
/* FilledPathsUnderPoint: */
SOURCE(6960, 251)
SOURCE(6960, 251)
hitData←v37108 = 0;
SOURCE(6960, 251)
moreHitDatas←v37136 = 0;
SOURCE(7025, 186)
if (((* (( (ptr) (* (ptr) slice←v37008 ))+42) ) == 0)) {
SOURCE(7073, 71)
{
W2 var←c62000;
{
word pd105;
pd105 = (* (( (ptr) (* (( (ptr) gf←c65520)+211)/* var←c61168 */ ))+110) );
(void) ( *( (fPt) ((* (ptr) pd105 ))))((word) &var←c62000, slice←v37008, point←v37036, tolerance←v37064, pd105);
};
hitData←v37108 = var←c62000.f0;
moreHitDatas←v37136 = var←c62000.f1;
/* removed tail goto */
};
}
else {
SOURCE(7146, 65)
{
W2 var←c62032;
{
word pd106;
pd106 = (* (( (ptr) (* (ptr) slice←v37008 ))+42) );
(void) ( *( (fPt) ((* (ptr) pd106 ))))((word) &var←c62032, slice←v37008, point←v37036, tolerance←v37064, pd106);
};
hitData←v37108 = var←c62032.f0;
moreHitDatas←v37136 = var←c62032.f1;
/* removed tail goto */
};
};
(* (ptr) formal←c0316 ) = hitData←v37108;
(* (( (ptr) formal←c0316)+1) ) = moreHitDatas←v37136;
return;
}
static void LineIntersection←P2640(formal←c0323, sliceD←v37196, line←v37224)
word formal←c0323;
word sliceD←v37196;
word line←v37224;
{
word points←v37268;
word pointCount←v37296;
/* LineIntersection: */
SOURCE(7220, 127)
SOURCE(7220, 127)
points←v37268 = 0;
SOURCE(7275, 72)
{
W2 var←c62064;
{
word pd107;
pd107 = (* (( (ptr) (* (ptr) (* (ptr) sliceD←v37196 ) ))+43) );
(void) ( *( (fPt) ((* (ptr) pd107 ))))((word) &var←c62064, sliceD←v37196, line←v37224, pd107);
};
pointCount←v37296 = var←c62064.f1;
points←v37268 = var←c62064.f0;
};
/* removed tail goto */
(* (ptr) formal←c0323 ) = points←v37268;
(* (( (ptr) formal←c0323)+1) ) = pointCount←v37296;
return;
}
static void CircleIntersection←P2700(formal←c0330, sliceD←v37356, circle←v37384)
word formal←c0330;
word sliceD←v37356;
word circle←v37384;
{
word points←v37428;
word pointCount←v37456;
/* CircleIntersection: */
SOURCE(7351, 135)
SOURCE(7351, 135)
points←v37428 = 0;
SOURCE(7410, 76)
{
W2 var←c62096;
{
word pd108;
pd108 = (* (( (ptr) (* (ptr) (* (ptr) sliceD←v37356 ) ))+44) );
(void) ( *( (fPt) ((* (ptr) pd108 ))))((word) &var←c62096, sliceD←v37356, circle←v37384, pd108);
};
pointCount←v37456 = var←c62096.f1;
points←v37428 = var←c62096.f0;
};
/* removed tail goto */
(* (ptr) formal←c0330 ) = points←v37428;
(* (( (ptr) formal←c0330)+1) ) = pointCount←v37456;
return;
}
static word HitDataAsSimpleCurve←P2760(slice←v37516, hitData←v37544)
word slice←v37516;
word hitData←v37544;
{
word simpleCurve←v37588;
/* HitDataAsSimpleCurve: */
SOURCE(7490, 119)
SOURCE(7490, 119)
simpleCurve←v37588 = 0;
SOURCE(7553, 56)
{
word pd109;
pd109 = (* (( (ptr) (* (ptr) slice←v37516 ))+45) );
return((word) ( *( (fPt) ((* (ptr) pd109 ))))(slice←v37516, hitData←v37544, pd109));
};
}
static void SetDefaults←P2820(slice←v37648, parts←v37676, defaults←v37704, history←v37732)
word slice←v37648;
word parts←v37676;
word defaults←v37704;
word history←v37732;
{
/* SetDefaults: */
SOURCE(7613, 102)
SOURCE(7659, 56)
{
word pd110;
pd110 = (* (( (ptr) (* (ptr) slice←v37648 ))+46) );
(void) ( *( (fPt) ((* (ptr) pd110 ))))(slice←v37648, parts←v37676, defaults←v37704, history←v37732, pd110);
};
}
static word SetStrokeWidth←P2880(slice←v37792, parts←v37820, strokeWidth←v37848, history←v37876)
word slice←v37792;
word parts←v37820;
word strokeWidth←v37848;
word history←v37876;
{
register ptr gf←c65552 = (ptr) &globalframe;
word box←v37920;
word oldValue←v8904;
/* SetStrokeWidth: */
SOURCE(7720, 320)
SOURCE(7720, 320)
box←v37920 = 0;
SOURCE(7772, 85)
{
W2 var←c0345;
word var←c62160;
word var←c62192;
{
word pd111;
pd111 = (* (( (ptr) (* (ptr) slice←v37792 ))+48) );
(void) ( *( (fPt) ((* (ptr) pd111 ))))((word) &var←c0345, slice←v37792, parts←v37820, pd111);
};
var←c62160 = var←c0345.f0;
var←c62192 = XR←NewObject(4, (* (( (ptr) gf←c65552)+12) ));
(* (ptr) var←c62192 ) = var←c62160;
oldValue←v8904 = var←c62192;
};
SOURCE(7859, 68)
{
word pd112;
pd112 = (* (( (ptr) (* (ptr) slice←v37792 ))+47) );
box←v37920 = (word) ( *( (fPt) ((* (ptr) pd112 ))))(slice←v37792, parts←v37820, strokeWidth←v37848, history←v37876, pd112)
;
};
SOURCE(7929, 98)
(void) GenericPropsUndo←P4380((* (( (ptr) gf←c65552)+45) ), slice←v37792, parts←v37820, oldValue←v8904, history←v37876);
SOURCE(8029, 11)
return(box←v37920);
}
static void GetStrokeWidth←P2940(formal←c0353, slice←v37980, parts←v38008)
word formal←c0353;
word slice←v37980;
word parts←v38008;
{
word strokeWidth←v38052;
word isUnique←v38080;
/* GetStrokeWidth: */
SOURCE(8045, 99)
SOURCE(8045, 99)
strokeWidth←v38052 = (* (ptr) &fc113 );
SOURCE(8045, 99)
isUnique←v38080 = 1;
SOURCE(8097, 47)
{
W2 var←c62224;
{
word pd114;
pd114 = (* (( (ptr) (* (ptr) slice←v37980 ))+48) );
(void) ( *( (fPt) ((* (ptr) pd114 ))))((word) &var←c62224, slice←v37980, parts←v38008, pd114);
};
strokeWidth←v38052 = var←c62224.f0;
isUnique←v38080 = var←c62224.f1;
/* removed tail goto */
};
(* (ptr) formal←c0353 ) = strokeWidth←v38052;
(* (( (ptr) formal←c0353)+1) ) = isUnique←v38080;
return;
}
static void SetStrokeEnd←P3000(slice←v38140, parts←v38168, strokeEnd←v38196, history←v38224)
word slice←v38140;
word parts←v38168;
word strokeEnd←v38196;
word history←v38224;
{
register ptr gf←c65584 = (ptr) &globalframe;
word oldValue←v8960;
/* SetStrokeEnd: */
SOURCE(8149, 317)
SOURCE(8197, 46)
oldValue←v8960 = XR←NewObject(4, (* (( (ptr) gf←c65584)+14) ));
SOURCE(8245, 63)
{
word var←c62256;
W2 var←c0360;
{
word pd115;
pd115 = (* (( (ptr) (* (ptr) slice←v38140 ))+50) );
(void) ( *( (fPt) ((* (ptr) pd115 ))))((word) &var←c0360, slice←v38140, parts←v38168, pd115);
};
var←c62256 = var←c0360.f0;
(* (ptr) oldValue←v8960 ) = var←c62256;
};
SOURCE(8310, 58)
{
word pd116;
pd116 = (* (( (ptr) (* (ptr) slice←v38140 ))+49) );
(void) ( *( (fPt) ((* (ptr) pd116 ))))(slice←v38140, parts←v38168, strokeEnd←v38196, history←v38224, pd116);
};
SOURCE(8370, 96)
(void) GenericPropsUndo←P4380((* (( (ptr) gf←c65584)+44) ), slice←v38140, parts←v38168, oldValue←v8960, history←v38224);
}
static void GetStrokeEnd←P3060(formal←c0367, slice←v38284, parts←v38312)
word formal←c0367;
word slice←v38284;
word parts←v38312;
{
word strokeEnd←v38356;
word isUnique←v38384;
/* GetStrokeEnd: */
SOURCE(8471, 93)
SOURCE(8471, 93)
strokeEnd←v38356 = 2;
SOURCE(8471, 93)
isUnique←v38384 = 1;
SOURCE(8519, 45)
{
W2 var←c62288;
{
word pd117;
pd117 = (* (( (ptr) (* (ptr) slice←v38284 ))+50) );
(void) ( *( (fPt) ((* (ptr) pd117 ))))((word) &var←c62288, slice←v38284, parts←v38312, pd117);
};
strokeEnd←v38356 = var←c62288.f0;
isUnique←v38384 = var←c62288.f1;
/* removed tail goto */
};
(* (ptr) formal←c0367 ) = strokeEnd←v38356;
(* (( (ptr) formal←c0367)+1) ) = isUnique←v38384;
return;
}
static void SetStrokeJoint←P3120(slice←v38444, parts←v38472, strokeJoint←v38500, history←v38528)
word slice←v38444;
word parts←v38472;
word strokeJoint←v38500;
word history←v38528;
{
register ptr gf←c65616 = (ptr) &globalframe;
word oldValue←v9016;
/* SetStrokeJoint: */
SOURCE(8569, 337)
SOURCE(8621, 50)
oldValue←v9016 = XR←NewObject(4, (* (( (ptr) gf←c65616)+16) ));
SOURCE(8673, 69)
{
word var←c62320;
W2 var←c0374;
{
word pd118;
pd118 = (* (( (ptr) (* (ptr) slice←v38444 ))+52) );
(void) ( *( (fPt) ((* (ptr) pd118 ))))((word) &var←c0374, slice←v38444, parts←v38472, pd118);
};
var←c62320 = var←c0374.f0;
(* (ptr) oldValue←v9016 ) = var←c62320;
};
SOURCE(8744, 62)
{
word pd119;
pd119 = (* (( (ptr) (* (ptr) slice←v38444 ))+51) );
(void) ( *( (fPt) ((* (ptr) pd119 ))))(slice←v38444, parts←v38472, strokeJoint←v38500, history←v38528, pd119);
};
SOURCE(8808, 98)
(void) GenericPropsUndo←P4380((* (( (ptr) gf←c65616)+43) ), slice←v38444, parts←v38472, oldValue←v9016, history←v38528);
}
static void GetStrokeJoint←P3180(formal←c0381, slice←v38588, parts←v38616)
word formal←c0381;
word slice←v38588;
word parts←v38616;
{
word strokeJoint←v38660;
word isUnique←v38688;
/* GetStrokeJoint: */
SOURCE(8911, 99)
SOURCE(8911, 99)
strokeJoint←v38660 = 2;
SOURCE(8911, 99)
isUnique←v38688 = 1;
SOURCE(8963, 47)
{
W2 var←c62352;
{
word pd120;
pd120 = (* (( (ptr) (* (ptr) slice←v38588 ))+52) );
(void) ( *( (fPt) ((* (ptr) pd120 ))))((word) &var←c62352, slice←v38588, parts←v38616, pd120);
};
strokeJoint←v38660 = var←c62352.f0;
isUnique←v38688 = var←c62352.f1;
/* removed tail goto */
};
(* (ptr) formal←c0381 ) = strokeJoint←v38660;
(* (( (ptr) formal←c0381)+1) ) = isUnique←v38688;
return;
}
static void SetStrokeColor←P3240(slice←v38748, parts←v38776, color←v38804, setHow←v38832, history←v38860)
word slice←v38748;
word parts←v38776;
word color←v38804;
word setHow←v38832;
word history←v38860;
{
register ptr gf←c65648 = (ptr) &globalframe;
word oldValue←v9072;
W2 var←c0388;
/* SetStrokeColor: */
SOURCE(9015, 289)
SOURCE(9067, 71)
{
word pd121;
pd121 = (* (( (ptr) (* (ptr) slice←v38748 ))+54) );
(void) ( *( (fPt) ((* (ptr) pd121 ))))((word) &var←c0388, slice←v38748, parts←v38776, pd121);
};
oldValue←v9072 = var←c0388.f0;
SOURCE(9140, 64)
{
word pd122;
pd122 = (* (( (ptr) (* (ptr) slice←v38748 ))+53) );
(void) ( *( (fPt) ((* (ptr) pd122 ))))(slice←v38748, parts←v38776, color←v38804, setHow←v38832, history←v38860, pd122);
};
SOURCE(9206, 98)
(void) GenericPropsUndo←P4380((* (( (ptr) gf←c65648)+42) ), slice←v38748, parts←v38776, oldValue←v9072, history←v38860);
}
static void GetStrokeColor←P3300(formal←c0395, slice←v38920, parts←v38948)
word formal←c0395;
word slice←v38920;
word parts←v38948;
{
word color←v38992;
word isUnique←v39020;
/* GetStrokeColor: */
SOURCE(9309, 99)
SOURCE(9309, 99)
color←v38992 = 0;
SOURCE(9309, 99)
isUnique←v39020 = 1;
SOURCE(9361, 47)
{
W2 var←c62384;
{
word pd123;
pd123 = (* (( (ptr) (* (ptr) slice←v38920 ))+54) );
(void) ( *( (fPt) ((* (ptr) pd123 ))))((word) &var←c62384, slice←v38920, parts←v38948, pd123);
};
color←v38992 = var←c62384.f0;
isUnique←v39020 = var←c62384.f1;
/* removed tail goto */
};
(* (ptr) formal←c0395 ) = color←v38992;
(* (( (ptr) formal←c0395)+1) ) = isUnique←v39020;
return;
}
static void SetFillColor←P3360(slice←v39080, parts←v39108, color←v39136, setHow←v39164, history←v39192)
word slice←v39080;
word parts←v39108;
word color←v39136;
word setHow←v39164;
word history←v39192;
{
register ptr gf←c65680 = (ptr) &globalframe;
word oldValue←v9116;
W2 var←c0402;
/* SetFillColor: */
SOURCE(9413, 279)
SOURCE(9461, 69)
{
word pd124;
pd124 = (* (( (ptr) (* (ptr) slice←v39080 ))+56) );
(void) ( *( (fPt) ((* (ptr) pd124 ))))((word) &var←c0402, slice←v39080, parts←v39108, pd124);
};
oldValue←v9116 = var←c0402.f0;
SOURCE(9532, 62)
{
word pd125;
pd125 = (* (( (ptr) (* (ptr) slice←v39080 ))+55) );
(void) ( *( (fPt) ((* (ptr) pd125 ))))(slice←v39080, parts←v39108, color←v39136, setHow←v39164, history←v39192, pd125);
};
SOURCE(9596, 96)
(void) GenericPropsUndo←P4380((* (( (ptr) gf←c65680)+27) ), slice←v39080, parts←v39108, oldValue←v9116, history←v39192);
}
static void GetFillColor←P3420(formal←c0409, slice←v39252, parts←v39280)
word formal←c0409;
word slice←v39252;
word parts←v39280;
{
word color←v39324;
word isUnique←v39352;
/* GetFillColor: */
SOURCE(9697, 93)
SOURCE(9697, 93)
color←v39324 = 0;
SOURCE(9697, 93)
isUnique←v39352 = 1;
SOURCE(9745, 45)
{
W2 var←c62416;
{
word pd126;
pd126 = (* (( (ptr) (* (ptr) slice←v39252 ))+56) );
(void) ( *( (fPt) ((* (ptr) pd126 ))))((word) &var←c62416, slice←v39252, parts←v39280, pd126);
};
color←v39324 = var←c62416.f0;
isUnique←v39352 = var←c62416.f1;
/* removed tail goto */
};
(* (ptr) formal←c0409 ) = color←v39324;
(* (( (ptr) formal←c0409)+1) ) = isUnique←v39352;
return;
}
static void SetArrows←P3480(slice←v39412, parts←v39440, leftDown←v39468, rightUp←v39496, history←v39524)
word slice←v39412;
word parts←v39440;
word leftDown←v39468;
word rightUp←v39496;
word history←v39524;
{
register ptr gf←c65712 = (ptr) &globalframe;
word oldValue←v9160;
/* SetArrows: */
SOURCE(9795, 310)
SOURCE(9837, 38)
oldValue←v9160 = XR←NewObject(8, (* (( (ptr) gf←c65712)+20) ));
SOURCE(9877, 68)
{
W2 var←c62480;
{
word pd127;
pd127 = (* (( (ptr) (* (ptr) slice←v39412 ))+58) );
(void) ( *( (fPt) ((* (ptr) pd127 ))))((word) &var←c62480, slice←v39412, pd127);
};
(* (( (ptr) oldValue←v9160)+1) ) = var←c62480.f1;
(* (ptr) oldValue←v9160 ) = var←c62480.f0;
};
SOURCE(9947, 63)
{
word pd128;
pd128 = (* (( (ptr) (* (ptr) slice←v39412 ))+57) );
(void) ( *( (fPt) ((* (ptr) pd128 ))))(slice←v39412, parts←v39440, leftDown←v39468, rightUp←v39496, history←v39524, pd128)
;
};
SOURCE(10012, 93)
(void) GenericPropsUndo←P4380((* (( (ptr) gf←c65712)+26) ), slice←v39412, parts←v39440, oldValue←v9160, history←v39524);
}
static void GetArrows←P3540(formal←c0423, slice←v39584)
word formal←c0423;
word slice←v39584;
{
word leftDown←v39628;
word rightUp←v39656;
/* GetArrows: */
SOURCE(10110, 77)
SOURCE(10110, 77)
leftDown←v39628 = 0;
SOURCE(10110, 77)
rightUp←v39656 = 0;
SOURCE(10152, 35)
{
W2 var←c62512;
{
word pd129;
pd129 = (* (( (ptr) (* (ptr) slice←v39584 ))+58) );
(void) ( *( (fPt) ((* (ptr) pd129 ))))((word) &var←c62512, slice←v39584, pd129);
};
leftDown←v39628 = var←c62512.f0;
rightUp←v39656 = var←c62512.f1;
/* removed tail goto */
};
(* (ptr) formal←c0423 ) = leftDown←v39628;
(* (( (ptr) formal←c0423)+1) ) = rightUp←v39656;
return;
}
static void SetDashed←P3600(slice←v39716, parts←v39744, dashed←v39772, pattern←v39800, offset←v39828, length←v39856, history←v39884)
word slice←v39716;
word parts←v39744;
word dashed←v39772;
word pattern←v39800;
word offset←v39828;
word length←v39856;
word history←v39884;
{
register ptr gf←c65744 = (ptr) &globalframe;
word oldValue←v9216;
/* SetDashed: */
SOURCE(10192, 365)
SOURCE(10234, 40)
oldValue←v9216 = XR←NewObject(16, (* (( (ptr) gf←c65744)+22) ));
SOURCE(10276, 107)
{
W5 var←c62576;
{
word pd130;
pd130 = (* (( (ptr) (* (ptr) slice←v39716 ))+60) );
(void) ( *( (fPt) ((* (ptr) pd130 ))))((word) &var←c62576, slice←v39716, parts←v39744, pd130);
};
(* (( (ptr) oldValue←v9216)+3) ) = var←c62576.f3;
(* (( (ptr) oldValue←v9216)+2) ) = var←c62576.f2;
(* (( (ptr) oldValue←v9216)+1) ) = var←c62576.f1;
(* (ptr) oldValue←v9216 ) = var←c62576.f0;
};
SOURCE(10385, 77)
{
word pd131;
pd131 = (* (( (ptr) (* (ptr) slice←v39716 ))+59) );
(void) ( *( (fPt) ((* (ptr) pd131 ))))(slice←v39716, parts←v39744, dashed←v39772, pattern←v39800, offset←v39828, length←v39856
, history←v39884, pd131);
};
SOURCE(10464, 93)
(void) GenericPropsUndo←P4380((* (( (ptr) gf←c65744)+24) ), slice←v39716, parts←v39744, oldValue←v9216, history←v39884);
}
static void GetDashed←P3660(formal←c0443, slice←v39944, parts←v39972)
word formal←c0443;
word slice←v39944;
word parts←v39972;
{
word dashed←v40016;
word pattern←v40044;
word offset←v40072;
word length←v40100;
word isUnique←v40128;
/* GetDashed: */
SOURCE(10562, 84)
SOURCE(10562, 84)
dashed←v40016 = 0;
SOURCE(10562, 84)
pattern←v40044 = 0;
SOURCE(10562, 84)
offset←v40072 = (* (ptr) &fc113 );
SOURCE(10562, 84)
length←v40100 = (* (ptr) &fc113 );
SOURCE(10562, 84)
isUnique←v40128 = 1;
SOURCE(10604, 42)
{
W5 var←c62608;
{
word pd132;
pd132 = (* (( (ptr) (* (ptr) slice←v39944 ))+60) );
(void) ( *( (fPt) ((* (ptr) pd132 ))))((word) &var←c62608, slice←v39944, parts←v39972, pd132);
};
dashed←v40016 = var←c62608.f0;
pattern←v40044 = var←c62608.f1;
offset←v40072 = var←c62608.f2;
length←v40100 = var←c62608.f3;
isUnique←v40128 = var←c62608.f4;
/* removed tail goto */
};
(* (ptr) formal←c0443 ) = dashed←v40016;
(* (( (ptr) formal←c0443)+1) ) = pattern←v40044;
(* (( (ptr) formal←c0443)+2) ) = offset←v40072;
(* (( (ptr) formal←c0443)+3) ) = length←v40100;
(* (( (ptr) formal←c0443)+4) ) = isUnique←v40128;
return;
}
static word SetOrientation←P3720(slice←v40188, parts←v40216, orientation←v40244, history←v40272)
word slice←v40188;
word parts←v40216;
word orientation←v40244;
word history←v40272;
{
register ptr gf←c65776 = (ptr) &globalframe;
word success←v40316;
word oldValue←v9272;
/* SetOrientation: */
SOURCE(10651, 342)
SOURCE(10703, 50)
oldValue←v9272 = XR←NewObject(4, (* (( (ptr) gf←c65776)+23) ));
SOURCE(10755, 66)
{
word var←c62640;
W2 var←c0451;
{
word pd133;
pd133 = (* (( (ptr) (* (ptr) slice←v40188 ))+62) );
(void) ( *( (fPt) ((* (ptr) pd133 ))))((word) &var←c0451, slice←v40188, parts←v40216, pd133);
};
var←c62640 = var←c0451.f0;
(* (ptr) oldValue←v9272 ) = var←c62640;
};
SOURCE(10823, 72)
{
word pd134;
pd134 = (* (( (ptr) (* (ptr) slice←v40188 ))+61) );
success←v40316 = (word) ( *( (fPt) ((* (ptr) pd134 ))))(slice←v40188, parts←v40216, orientation←v40244, history←v40272, pd134)
;
};
SOURCE(10897, 96)
(void) GenericPropsUndo←P4380((* (( (ptr) gf←c65776)+25) ), slice←v40188, 0, oldValue←v9272, history←v40272);
SOURCE(10651, 342)
return(success←v40316);
}
static void GetOrientation←P3780(formal←c0458, slice←v40376, parts←v40404)
word formal←c0458;
word slice←v40376;
word parts←v40404;
{
word orientation←v40448;
word isUnique←v40476;
/* GetOrientation: */
SOURCE(10999, 99)
SOURCE(10999, 99)
isUnique←v40476 = 1;
SOURCE(11051, 47)
{
W2 var←c62672;
{
word pd135;
pd135 = (* (( (ptr) (* (ptr) slice←v40376 ))+62) );
(void) ( *( (fPt) ((* (ptr) pd135 ))))((word) &var←c62672, slice←v40376, parts←v40404, pd135);
};
orientation←v40448 = var←c62672.f0;
isUnique←v40476 = var←c62672.f1;
/* removed tail goto */
};
(* (ptr) formal←c0458 ) = orientation←v40448;
(* (( (ptr) formal←c0458)+1) ) = isUnique←v40476;
return;
}
static void FileoutSlice←P3840(f←v6740, slice←v6768)
word f←v6740;
word slice←v6768;
{
register ptr gf←c65808 = (ptr) &globalframe;
word type←v9328;
/* FileoutSlice: */
SOURCE(11259, 237)
SOURCE(11318, 38)
{
word pd136;
pd136 = (* (( (ptr) (* (( (ptr) gf←c65808)+212)/* var←c62704 */ ))+6) );
type←v9328 = (word) ( *( (fPt) ((* (ptr) pd136 ))))(slice←v6768, pd136);
};
SOURCE(11358, 44)
{
word var←c62736;
{
word pd137;
pd137 = (* (( (ptr) (* (( (ptr) gf←c65808)+213)/* var←c62768 */ ))+9) );
var←c62736 = (word) ( *( (fPt) ((* (ptr) pd137 ))))(type←v9328, pd137);
};
{
W2 var←c62800;
var←c62800.f0 = 11;
var←c62800.f1 = var←c62736;
{
word pd138;
pd138 = (* (( (ptr) (* (( (ptr) gf←c65808)+214)/* var←c62832 */ ))+61) );
(void) ( *( (fPt) ((* (ptr) pd138 ))))(f←v6740, (* (( (ptr) gf←c65808)+28) ), var←c62800, pd138);
};
};
};
SOURCE(11404, 28)
{
word pd139;
pd139 = (* (( (ptr) (* (( (ptr) gf←c65808)+212)/* var←c62704 */ ))+25) );
(void) ( *( (fPt) ((* (ptr) pd139 ))))(slice←v6768, f←v6740, pd139);
};
SOURCE(11434, 62)
{
word pd140;
pd140 = (* (( (ptr) (* (( (ptr) gf←c65808)+215)/* var←c62864 */ ))+63) );
if ((0 == (word) ( *( (fPt) ((* (ptr) pd140 ))))(type←v9328, pd140))) {
SOURCE(11474, 22)
(void) FileoutPList←P3900(f←v6740, slice←v6768);
};
};
}
static void FileoutPList←P3900(formal←c0673, slice←v6856)
word formal←c0673;
word slice←v6856;
{
W7 var←c65840;
/* declaration of f←v6828 skipped */
register ptr gf←c65872 = (ptr) &globalframe;
/* declaration of var←c62896 skipped */
word buttonClassName←v9400 = 0;
word success←v9428 = 1;
var←c65840.f4/* f←v6828 */ = formal←c0673;
/* FileoutPList: */
SOURCE(11502, 983)
{
word tmpAddr141;
tmpAddr141 = (word) (( (ptr) &var←c65840)+5)/* var←c62896 */ ;
(* (ptr) tmpAddr141 ) = ( ((word) (fPt) FileoutProp←P4800) );
(* (( (ptr) tmpAddr141) + 1) ) = 1;
};
SOURCE(12234, 23)
{
word pd142;
pd142 = (* (( (ptr) (* (( (ptr) gf←c65872)+214)/* var←c62832 */ ))+93) );
(void) ( *( (fPt) ((* (ptr) pd142 ))))(var←c65840.f4/* f←v6828 */ , (* (( (ptr) gf←c65872)+29) ), 0, 2147483647, pd142);
};
SOURCE(12321, 101)
if (((* (( (ptr) slice←v6856)+22) ) != 0)) {
SOURCE(12345, 77)
{
word var←c62992;
{
word var←c62928;
{
word pd143;
pd143 = (* (( (ptr) (* (( (ptr) gf←c65872)+212)/* var←c62704 */ ))+29) );
var←c62928 = (word) ( *( (fPt) ((* (ptr) pd143 ))))(slice←v6856, 0, 6, pd143);
};
{
word pd144;
pd144 = (* (( (ptr) (* (( (ptr) gf←c65872)+216)/* var←c62960 */ ))+8) );
var←c62992 = (word) ( *( (fPt) ((* (ptr) pd144 ))))(slice←v6856, var←c62928, (word) (( (bPt) &var←c65840)+20)/* var←c62896 */ , pd144)
;
};
};
};
};
SOURCE(12424, 61)
{
word pd145;
pd145 = (* (( (ptr) (* (( (ptr) gf←c65872)+214)/* var←c62832 */ ))+93) );
(void) ( *( (fPt) ((* (ptr) pd145 ))))(var←c65840.f4/* f←v6828 */ , (* (( (ptr) gf←c65872)+30) ), 0, 2147483647, pd145);
};
}
static word FileoutProp←P4800(key←v9504, val←v9532, formal←c65936)
word key←v9504;
word val←v9532;
word formal←c65936;
{
register ptr gf←c65904 = (ptr) &globalframe;
word done←v9588;
word r←v9616 = 0;
word vf←v9644;
formal←c65936 = (formal←c65936 - 20);
/* FileoutProp: */
SOURCE(11556, 600)
SOURCE(11556, 600)
done←v9588 = 0;
SOURCE(11658, 34)
{
W2 var←c63024;
{
word pd146;
pd146 = (* (( (ptr) (* (( (ptr) gf←c65904)+216)/* var←c62960 */ ))+11) );
(void) ( *( (fPt) ((* (ptr) pd146 ))))((word) &var←c63024, key←v9504, val←v9532, pd146);
};
vf←v9644 = var←c63024.f1;
r←v9616 = var←c63024.f0;
};
{
word pd147;
pd147 = (* (( (ptr) (* (( (ptr) gf←c65904)+217)/* var←c63056 */ ))+14) );
if (( (int)(word) ( *( (fPt) ((* (ptr) pd147 ))))(r←v9616, pd147) == (int)0)) {
SOURCE(11769, 6)
return(done←v9588);
}
else {
if ((vf←v9644 == 1)) {
SOURCE(11835, 44)
{
word var←c63088;
{
word pd148;
pd148 = (* (( (ptr) (* (( (ptr) gf←c65904)+213)/* var←c62768 */ ))+9) );
var←c63088 = (word) ( *( (fPt) ((* (ptr) pd148 ))))(key←v9504, pd148);
};
{
W2 var←c63120;
var←c63120.f0 = 11;
var←c63120.f1 = var←c63088;
{
word pd149;
pd149 = (* (( (ptr) (* (( (ptr) gf←c65904)+214)/* var←c62832 */ ))+61) );
(void) ( *( (fPt) ((* (ptr) pd149 ))))((* (( (ptr) formal←c65936)+4) ), (* (( (ptr) gf←c65904)+31) ), var←c63120, pd149)
;
};
};
};
SOURCE(11906, 87)
{
W2 var←c63152;
W2 var←c63184;
W2 var←c63216;
var←c63152.f0 = 3;
var←c63152.f1 = 26;
var←c63184.f0 = 11;
var←c63184.f1 = r←v9616;
var←c63216.f0 = 3;
var←c63216.f1 = 7;
{
word pd150;
pd150 = (* (( (ptr) (* (( (ptr) gf←c65904)+214)/* var←c62832 */ ))+60) );
(void) ( *( (fPt) ((* (ptr) pd150 ))))((* (( (ptr) formal←c65936)+4) ), (* (( (ptr) gf←c65904)+32) ), var←c63152, var←c63184, var←c63216, pd150)
;
};
};
}
else {
if ((vf←v9644 == 0)) {
SOURCE(12013, 145)
{
word c←v9688;
SOURCE(12015, 23)
{
word pd151;
pd151 = (* (( (ptr) (* (( (ptr) gf←c65904)+217)/* var←c63056 */ ))+14) );
c←v9688 = (word) ( *( (fPt) ((* (ptr) pd151 ))))(r←v9616, pd151);
};
SOURCE(12040, 44)
{
word var←c63248;
{
word pd152;
pd152 = (* (( (ptr) (* (( (ptr) gf←c65904)+213)/* var←c62768 */ ))+9) );
var←c63248 = (word) ( *( (fPt) ((* (ptr) pd152 ))))(key←v9504, pd152);
};
{
W2 var←c63280;
var←c63280.f0 = 11;
var←c63280.f1 = var←c63248;
{
word pd153;
pd153 = (* (( (ptr) (* (( (ptr) gf←c65904)+214)/* var←c62832 */ ))+61) );
(void) ( *( (fPt) ((* (ptr) pd153 ))))((* (( (ptr) formal←c65936)+4) ), (* (( (ptr) gf←c65904)+31) ), var←c63280, pd153)
;
};
};
};
SOURCE(12111, 45)
{
W2 var←c63312;
W2 var←c63344;
W2 var←c0668;
var←c63312.f0 = 5;
var←c63312.f1 = c←v9688;
var←c63344.f0 = 11;
var←c63344.f1 = r←v9616;
(* (ptr) (word) &var←c0668 ) = 0;
(* (( (ptr) (word) &var←c0668) + 1) ) = 0;
{
word pd154;
pd154 = (* (( (ptr) (* (( (ptr) gf←c65904)+214)/* var←c62832 */ ))+60) );
(void) ( *( (fPt) ((* (ptr) pd154 ))))((* (( (ptr) formal←c65936)+4) ), (* (( (ptr) gf←c65904)+33) ), var←c63312, var←c63344, var←c0668, pd154)
;
};
};
};
}
else {
SOURCE(12172, 5)
(void) XR←RaiseUnnamedError();
};
};
};
};
SOURCE(11556, 600)
return(done←v9588);
}
static word FileinSlice←P3960(f←v6916, version←v6944, router←v6972, camera←v7000, class←v7028)
word f←v6916;
word version←v6944;
word router←v6972;
word camera←v7000;
word class←v7028;
{
register ptr gf←c65968 = (ptr) &globalframe;
word slice←v7072;
word className←v9732;
word type←v9760 = 0;
/* FileinSlice: */
SOURCE(12489, 876)
SOURCE(12489, 876)
slice←v7072 = 0;
SOURCE(12659, 29)
className←v9732 = (* (( (ptr) gf←c65968)+34) );
{
word var←c63440;
SOURCE(12744, 350)
if ((class←v7028 == 0)) {
SOURCE(12787, 307)
{
word x155;
word x157;
if (((
x155 = version←v6944, *(float*)&x155
) >= (
x157 = (* (ptr) &fc156 ), *(float*)&x157
))) {
SOURCE(12816, 33)
{
word pd158;
pd158 = (* (( (ptr) (* (( (ptr) gf←c65968)+218)/* var←c63408 */ ))+8) );
className←v9732 = (word) ( *( (fPt) ((* (ptr) pd158 ))))(f←v6916, pd158);
};
}
else {
SOURCE(12858, 238)
{
word childCount←v9804;
SOURCE(12877, 32)
{
word pd159;
pd159 = (* (( (ptr) (* (( (ptr) gf←c65968)+218)/* var←c63408 */ ))+9) );
(void) ( *( (fPt) ((* (ptr) pd159 ))))(f←v6916, (* (( (ptr) gf←c65968)+35) ), pd159);
};
SOURCE(12911, 33)
{
word pd160;
pd160 = (* (( (ptr) (* (( (ptr) gf←c65968)+218)/* var←c63408 */ ))+8) );
className←v9732 = (word) ( *( (fPt) ((* (ptr) pd160 ))))(f←v6916, pd160);
};
SOURCE(12946, 25)
{
word pd161;
pd161 = (* (( (ptr) (* (( (ptr) gf←c65968)+218)/* var←c63408 */ ))+10) );
(void) ( *( (fPt) ((* (ptr) pd161 ))))(f←v6916, 41, pd161);
};
SOURCE(12973, 25)
{
word pd162;
pd162 = (* (( (ptr) (* (( (ptr) gf←c65968)+218)/* var←c63408 */ ))+10) );
(void) ( *( (fPt) ((* (ptr) pd162 ))))(f←v6916, 91, pd162);
};
SOURCE(13000, 33)
{
word pd163;
pd163 = (* (( (ptr) (* (( (ptr) gf←c65968)+218)/* var←c63408 */ ))+25) );
childCount←v9804 = (word) ( *( (fPt) ((* (ptr) pd163 ))))(f←v6916, pd163);
};
SOURCE(13035, 27)
{
word pd164;
pd164 = (* (( (ptr) (* (( (ptr) gf←c65968)+218)/* var←c63408 */ ))+9) );
(void) ( *( (fPt) ((* (ptr) pd164 ))))(f←v6916, (* (( (ptr) gf←c65968)+36) ), pd164);
};
SOURCE(13064, 30)
{
word pd165;
pd165 = (* (( (ptr) (* (( (ptr) gf←c65968)+218)/* var←c63408 */ ))+9) );
(void) ( *( (fPt) ((* (ptr) pd165 ))))(f←v6916, (* (( (ptr) gf←c65968)+37) ), pd165);
};
};
};
};
};
SOURCE(13102, 36)
type←v9760 = (word) SliceClassFromRope←P4020(className←v9732);
SOURCE(13140, 37)
{
word pd166;
pd166 = (* (( (ptr) (* (( (ptr) gf←c65968)+211)/* var←c61168 */ ))+7) );
class←v7028 = (word) ( *( (fPt) ((* (ptr) pd166 ))))(type←v9760, pd166);
};
SOURCE(13179, 48)
{
word pd167;
pd167 = (* (( (ptr) class←v7028)+20) );
slice←v7072 = (word) ( *( (fPt) ((* (ptr) pd167 ))))(f←v6916, version←v6944, router←v6972, camera←v7000, pd167);
};
SOURCE(13229, 136)
{
word tc168;
word x169;
word x171;
word pd173;
if ( ( ((
x169 = version←v6944, *(float*)&x169
) >= (
x171 = (* (ptr) &fc170 ), *(float*)&x171
)) ? (slice←v7072 != 0) : 0 ) ) {
{
word pd172;
pd172 = (* (( (ptr) (* (( (ptr) gf←c65968)+212)/* var←c62704 */ ))+6) );
var←c63440 = (word) ( *( (fPt) ((* (ptr) pd172 ))))(slice←v7072, pd172);
};
pd173 = (* (( (ptr) (* (( (ptr) gf←c65968)+215)/* var←c62864 */ ))+63) );
tc168 = (word) (0 == (word) ( *( (fPt) ((* (ptr) pd173 ))))(var←c63440, pd173));
}
else {
tc168 = (word) 0;
};
if (tc168) {
SOURCE(13327, 38)
(void) FileinPList←P4080(f←v6916, version←v6944, router←v6972, slice←v7072);
};
};
};
SOURCE(12489, 876)
return(slice←v7072);
}
static word SliceClassFromRope←P4020(className←v7132)
word className←v7132;
{
register ptr gf←c66000 = (ptr) &globalframe;
word type←v7176;
/* SliceClassFromRope: */
SOURCE(13371, 106)
SOURCE(13371, 106)
type←v7176 = 0;
SOURCE(13444, 33)
{
word pd174;
pd174 = (* (( (ptr) (* (( (ptr) gf←c66000)+213)/* var←c62768 */ ))+5) );
return((word) ( *( (fPt) ((* (ptr) pd174 ))))(className←v7132, 0, 2147483647, pd174));
};
}
static void FileinPList←P4080(f←v7236, version←v7264, router←v7292, slice←v7320)
word f←v7236;
word version←v7264;
word router←v7292;
word slice←v7320;
{
register ptr gf←c66032 = (ptr) &globalframe;
word key←v9848 = 0;
word val←v9876 = 0;
word nextChar←v9904;
word keyName←v9932 = 0;
word valRope←v9960 = 0;
word success←v9988 = 1;
/* FileinPList: */
SOURCE(13483, 1432)
SOURCE(13671, 33)
{
word pd175;
pd175 = (* (( (ptr) (* (( (ptr) gf←c66032)+218)/* var←c63408 */ ))+9) );
(void) ( *( (fPt) ((* (ptr) pd175 ))))(f←v7236, (* (( (ptr) gf←c66032)+38) ), pd175);
};
SOURCE(13765, 1150)
lab←L100021: ;
SOURCE(13803, 22)
{
word pd176;
pd176 = (* (( (ptr) (* (( (ptr) gf←c66032)+218)/* var←c63408 */ ))+5) );
(void) ( *( (fPt) ((* (ptr) pd176 ))))(f←v7236, pd176);
};
SOURCE(13871, 30)
{
word var←c63504;
word self←v58384;
self←v58384 = f←v7236;
{
word i←v49128;
i←v49128 = (* (( (ptr) self←v58384)+7) );
{
word pd177;
if ((i←v49128 < (* (( (ptr) self←v58384)+5) ))) {
(* (( (ptr) self←v58384)+7) ) = (i←v49128 + 1);
{
word var←c63568;
word buffer←v49748;
buffer←v49748 = (* (( (ptr) self←v58384)+4) );
var←c63568 = (unsigned) (word) (* ((( (bPt) buffer←v49748)+4)+i←v49128) );
var←c63504 = var←c63568;
};
}
else {
pd177 = (* (ptr) (* (ptr) self←v58384 ) );
var←c63504 = (word) ( *( (fPt) ((* (ptr) pd177 ))))(self←v58384, pd177);
};
};
};
nextChar←v9904 = var←c63504;
};
SOURCE(13903, 20)
if ((nextChar←v9904 == 41)) {
SOURCE(13923, 4)
goto lab←L100020;
};
SOURCE(13953, 20)
if ((nextChar←v9904 != 40)) {
SOURCE(13973, 5)
(void) XR←RaiseUnnamedError();
};
SOURCE(14010, 31)
{
word pd178;
pd178 = (* (( (ptr) (* (( (ptr) gf←c66032)+218)/* var←c63408 */ ))+8) );
keyName←v9932 = (word) ( *( (fPt) ((* (ptr) pd178 ))))(f←v7236, pd178);
};
SOURCE(14043, 28)
{
word pd179;
pd179 = (* (( (ptr) (* (( (ptr) gf←c66032)+213)/* var←c62768 */ ))+5) );
key←v9848 = (word) ( *( (fPt) ((* (ptr) pd179 ))))(keyName←v9932, 0, 2147483647, pd179);
};
SOURCE(14073, 30)
{
word var←c63632;
word self←v58264;
self←v58264 = f←v7236;
{
word i←v58296;
i←v58296 = (* (( (ptr) self←v58264)+7) );
{
word pd180;
if ((i←v58296 < (* (( (ptr) self←v58264)+5) ))) {
(* (( (ptr) self←v58264)+7) ) = (i←v58296 + 1);
{
word var←c63696;
word buffer←v58340;
buffer←v58340 = (* (( (ptr) self←v58264)+4) );
var←c63696 = (unsigned) (word) (* ((( (bPt) buffer←v58340)+4)+i←v58296) );
var←c63632 = var←c63696;
};
}
else {
pd180 = (* (ptr) (* (ptr) self←v58264 ) );
var←c63632 = (word) ( *( (fPt) ((* (ptr) pd180 ))))(self←v58264, pd180);
};
};
};
nextChar←v9904 = var←c63632;
};
SOURCE(14214, 30)
{
word var←c63760;
word self←v58144;
self←v58144 = f←v7236;
{
word i←v58176;
i←v58176 = (* (( (ptr) self←v58144)+7) );
{
word pd181;
if ((i←v58176 < (* (( (ptr) self←v58144)+5) ))) {
(* (( (ptr) self←v58144)+7) ) = (i←v58176 + 1);
{
word var←c63824;
word buffer←v58220;
buffer←v58220 = (* (( (ptr) self←v58144)+4) );
var←c63824 = (unsigned) (word) (* ((( (bPt) buffer←v58220)+4)+i←v58176) );
var←c63760 = var←c63824;
};
}
else {
pd181 = (* (ptr) (* (ptr) self←v58144 ) );
var←c63760 = (word) ( *( (fPt) ((* (ptr) pd181 ))))(self←v58144, pd181);
};
};
};
nextChar←v9904 = var←c63760;
};
SOURCE(14284, 450)
{
word var←c63888;
var←c63888 = nextChar←v9904;
switch (var←c63888) {
case 26:
SOURCE(14358, 36)
valRope←v9960 = (word) ReadRopeInBoxcarAndBell←P4140(f←v7236);
SOURCE(14396, 25)
{
word pd182;
pd182 = (* (( (ptr) (* (( (ptr) gf←c66032)+218)/* var←c63408 */ ))+10) );
(void) ( *( (fPt) ((* (ptr) pd182 ))))(f←v7236, 41, pd182);
};
break;
case 91:
SOURCE(14463, 249)
{
word c←v10044;
SOURCE(14518, 19)
{
word pd183;
pd183 = (* (( (ptr) (* (( (ptr) gf←c66032)+214)/* var←c62832 */ ))+72) );
c←v10044 = (word) ( *( (fPt) ((* (ptr) pd183 ))))(f←v7236, pd183);
};
SOURCE(14539, 28)
{
word pd184;
pd184 = (* (( (ptr) (* (( (ptr) gf←c66032)+218)/* var←c63408 */ ))+9) );
(void) ( *( (fPt) ((* (ptr) pd184 ))))(f←v7236, (* (( (ptr) gf←c66032)+39) ), pd184);
};
SOURCE(14611, 41)
{
word pd185;
pd185 = (* (( (ptr) (* (( (ptr) gf←c66032)+214)/* var←c62832 */ ))+92) );
valRope←v9960 = (word) ( *( (fPt) ((* (ptr) pd185 ))))(f←v7236, c←v10044, 1, pd185);
};
SOURCE(14654, 25)
{
word pd186;
pd186 = (* (( (ptr) (* (( (ptr) gf←c66032)+218)/* var←c63408 */ ))+10) );
(void) ( *( (fPt) ((* (ptr) pd186 ))))(f←v7236, 41, pd186);
};
};
break;
case 41:
SOURCE(14721, 13)
valRope←v9960 = 0;
break;
default:
SOURCE(14778, 5)
(void) XR←RaiseUnnamedError();
break;
};
};
SOURCE(14815, 65)
{
word pd187;
if ((valRope←v9960 == 0)) {
val←v9876 = 0;
}
else {
pd187 = (* (( (ptr) (* (( (ptr) gf←c66032)+216)/* var←c62960 */ ))+12) );
val←v9876 = (word) ( *( (fPt) ((* (ptr) pd187 ))))(key←v9848, valRope←v9960, pd187);
};
};
SOURCE(14882, 33)
{
word pd188;
pd188 = (* (( (ptr) (* (( (ptr) gf←c66032)+216)/* var←c62960 */ ))+4) );
(void) ( *( (fPt) ((* (ptr) pd188 ))))(slice←v7320, 0, key←v9848, val←v9876, pd188);
};
goto lab←L100021;
lab←L100020: ;
}
static word ReadRopeInBoxcarAndBell←P4140(stream←v7380)
word stream←v7380;
{
register ptr gf←c66064 = (ptr) &globalframe;
word rope←v7424;
word level←v10088 = 1;
word scratch←v10116 = 0;
word text←v10144 = 0;
word c←v10172;
/* ReadRopeInBoxcarAndBell: */
SOURCE(14930, 541)
SOURCE(14930, 541)
rope←v7424 = 0;
SOURCE(15069, 50)
{
word var←c63920;
{
word pd189;
pd189 = (* (( (ptr) (* (( (ptr) gf←c66064)+219)/* var←c63952 */ ))+18) );
var←c63920 = (word) ( *( (fPt) ((* (ptr) pd189 ))))((* (ptr) ((* (( (ptr) (* (( (ptr) gf←c66064)+219)/* var←c63952 */ ))+17)
)) ), pd189);
};
text←v10144 = var←c63920;
scratch←v10116 = var←c63920;
};
SOURCE(15121, 210)
lab←L100030: ;
{
word tc190;
word pd191;
if ((level←v10088 != 0)) {
if (((* (( (ptr) stream←v7380)+7) ) < (* (( (ptr) stream←v7380)+5) ))) {
tc190 = (word) 1;
}
else {
pd191 = (* (( (ptr) (* (ptr) stream←v7380 ))+3) );
tc190 = (word) (0 == (word) ( *( (fPt) ((* (ptr) pd191 ))))(stream←v7380, pd191));
};
}
else {
tc190 = (word) 0;
};
if (tc190) {
}
else {
goto lab←L100028;
};
};
SOURCE(15166, 28)
{
word var←c63984;
word self←v58024;
self←v58024 = stream←v7380;
{
word i←v58056;
i←v58056 = (* (( (ptr) self←v58024)+7) );
{
word pd192;
if ((i←v58056 < (* (( (ptr) self←v58024)+5) ))) {
(* (( (ptr) self←v58024)+7) ) = (i←v58056 + 1);
{
word var←c64048;
word buffer←v58100;
buffer←v58100 = (* (( (ptr) self←v58024)+4) );
var←c64048 = (unsigned) (word) (* ((( (bPt) buffer←v58100)+4)+i←v58056) );
var←c63984 = var←c64048;
};
}
else {
pd192 = (* (ptr) (* (ptr) self←v58024 ) );
var←c63984 = (word) ( *( (fPt) ((* (ptr) pd192 ))))(self←v58024, pd192);
};
};
};
c←v10172 = var←c63984;
};
SOURCE(15196, 40)
{
word var←c64112;
word to←v57948;
word from←v57976;
to←v57948 = text←v10144;
from←v57976 = c←v10172;
if (( (unsigned) (* (hPt) to←v57948 ) >= (unsigned) (* (( (hPt) to←v57948)+1) ))) {
{
word pd193;
pd193 = (* (( (ptr) (* (( (ptr) gf←c66064)+220)/* var←c64176 */ ))+11) );
var←c64112 = (word) ( *( (fPt) ((* (ptr) pd193 ))))(to←v57948, from←v57976, pd193);
};
goto lab←L100033;
};
{
word idx194;
word limit195;
(* ((( (bPt) to←v57948)+4)+(
idx194 = (word) (unsigned) (* (hPt) to←v57948 ),
limit195 = (word) (unsigned) (* (( (hPt) to←v57948)+1) ),
BCK(idx194, limit195)
)) ) = from←v57976;
};
{
word idx196;
(* (hPt) to←v57948 ) = (
idx196 = (word) ( (unsigned) (* (hPt) to←v57948 ) + 1),
BCK(idx196, 32768)
);
};
var←c64112 = to←v57948;
lab←L100033: ;
text←v10144 = var←c64112;
};
SOURCE(15238, 93)
if ((c←v10172 == 26)) {
SOURCE(15264, 23)
level←v10088 = (level←v10088 + 1);
}
else {
SOURCE(15287, 44)
if ((c←v10172 == 7)) {
SOURCE(15314, 17)
level←v10088 = SGNCK((level←v10088 - 1));
};
};
goto lab←L100030;
lab←L100028: ;
SOURCE(15342, 56)
{
word var←c64208;
{
word var←c64240;
word base←v57900;
base←v57900 = text←v10144;
{
word tc197;
word idx198;
if ((base←v57900 == 0)) {
tc197 = (word) 0;
}
else {
tc197 = (word) (unsigned) (* (hPt) base←v57900 );
};
var←c64240 = (
idx198 = (word) tc197,
BCK(idx198, 32768)
);
};
var←c64208 = BCK((var←c64240 - 1), 32768);
};
{
word pd199;
pd199 = (* (( (ptr) (* (( (ptr) gf←c66064)+217)/* var←c63056 */ ))+35) );
rope←v7424 = (word) ( *( (fPt) ((* (ptr) pd199 ))))(text←v10144, 0, var←c64208, pd199);
};
};
SOURCE(15430, 41)
{
word t←v57852;
t←v57852 = scratch←v10116;
{
word pd200;
pd200 = (* (( (ptr) (* (( (ptr) gf←c66064)+219)/* var←c63952 */ ))+19) );
(void) ( *( (fPt) ((* (ptr) pd200 ))))((* (ptr) (* (( (ptr) (* (( (ptr) gf←c66064)+219)/* var←c63952 */ ))+17) ) ), t←v57852, pd200)
;
};
};
SOURCE(14930, 541)
return(rope←v7424);
}
static word PartsInBoundBox←P4200(slice←v7484, box←v7512)
word slice←v7484;
word box←v7512;
{
register ptr gf←c66096 = (ptr) &globalframe;
word inParts←v7556;
/* PartsInBoundBox: */
SOURCE(15477, 149)
SOURCE(15477, 149)
inParts←v7556 = 0;
SOURCE(15575, 51)
{
word var←c0549;
var←c0549 = (* (( (ptr) gf←c66096)+40) );
(void) (XR←RaiseSignal((* (ptr) (* (( (ptr) (* (( (ptr) gf←c66096)+221)/* var←c64272 */ ))+28) ) ), 0, (word) &var←c0549)
);
};
SOURCE(15477, 149)
return(inParts←v7556);
}
static word WithinBoundBox←P4260(slice←v7616, box←v7644)
word slice←v7616;
word box←v7644;
{
W6 var←c66128;
word in←v7688;
/* declaration of var←c64304 skipped */
word sliceBox←v10284;
/* WithinBoundBox: */
SOURCE(15632, 405)
{
word tmpAddr201;
tmpAddr201 = (word) (( (ptr) &var←c66128)+4)/* var←c64304 */ ;
(* (ptr) tmpAddr201 ) = ( ((word) (fPt) Within←P5004) );
(* (( (ptr) tmpAddr201) + 1) ) = 1;
};
SOURCE(15953, 56)
{
word pd202;
pd202 = (* (( (ptr) (* (ptr) slice←v7616 ))+3) );
sliceBox←v10284 = (word) ( *( (fPt) ((* (ptr) pd202 ))))(slice←v7616, 0, pd202);
};
SOURCE(16011, 26)
in←v7688 = (word) Within←P5004(sliceBox←v10284, box←v7644, (word) (( (bPt) &var←c66128)+16)/* var←c64304 */ );
SOURCE(15632, 405)
return(in←v7688);
}
static word Within←P5004(test←v10360, bound←v10388, formal←c66160)
word test←v10360;
word bound←v10388;
word formal←c66160;
{
word var←c10432;
formal←c66160 = (formal←c66160 - 16);
/* Within: */
SOURCE(15752, 196)
SOURCE(15808, 140)
{
word tc203;
word x204;
word x205;
word x207;
word x208;
word x209;
word x210;
word x211;
word x212;
word x213;
word x214;
word x215;
word x216;
if ( ( ( ((
x204 = (* (( (ptr) test←v10360)+2) ), *(float*)&x204
) <= (
x205 = (* (( (ptr) bound←v10388)+2) ), *(float*)&x205
) + (
x207 = (* (ptr) &fc206 ), *(float*)&x207
)) ? ((
x208 = (* (ptr) test←v10360 ), *(float*)&x208
) >= (
x209 = (* (ptr) bound←v10388 ), *(float*)&x209
) - (
x210 = (* (ptr) &fc206 ), *(float*)&x210
)) : 0 ) ? ((
x211 = (* (( (ptr) test←v10360)+3) ), *(float*)&x211
) <= (
x212 = (* (( (ptr) bound←v10388)+3) ), *(float*)&x212
) + (
x213 = (* (ptr) &fc206 ), *(float*)&x213
)) : 0 ) ) {
tc203 = (word) (unsigned) ((
x214 = (* (( (ptr) test←v10360)+1) ), *(float*)&x214
) >= (
x215 = (* (( (ptr) bound←v10388)+1) ), *(float*)&x215
) - (
x216 = (* (ptr) &fc206 ), *(float*)&x216
));
}
else {
tc203 = (word) (unsigned) 0;
};
return(tc203);
};
}
static word IsOpen←P4320(slice←v7748)
word slice←v7748;
{
register ptr gf←c66192 = (ptr) &globalframe;
word isOpen←v7792;
/* IsOpen: */
SOURCE(16043, 156)
SOURCE(16043, 156)
isOpen←v7792 = 0;
SOURCE(16113, 44)
if (((word) GetType←P60(slice←v7748) != (* (( (ptr) gf←c66192)+41) ))) {
SOURCE(16144, 13)
return(0);
};
SOURCE(16159, 40)
{
word pd217;
pd217 = (* (( (ptr) (* (( (ptr) gf←c66192)+222)/* var←c64368 */ ))+16) );
return( (unsigned) ((word) ( *( (fPt) ((* (ptr) pd217 ))))(slice←v7748, pd217) == 2));
};
}
static void GenericPropsUndo←P4380(op←v7852, slice←v7880, parts←v7908, val←v7936, history←v7964)
word op←v7852;
word slice←v7880;
word parts←v7908;
word val←v7936;
word history←v7964;
{
register ptr gf←c66224 = (ptr) &globalframe;
/* GenericPropsUndo: */
SOURCE(16205, 269)
SOURCE(16309, 165)
if ((history←v7964 != 0)) {
SOURCE(16329, 147)
{
word changeRef←v10460;
SOURCE(16331, 106)
changeRef←v10460 = XR←NewObject(20, (* (( (ptr) gf←c66224)+7) ));
(* (( (ptr) changeRef←v10460)+1) ) = op←v7852;
(* (( (ptr) changeRef←v10460)+2) ) = slice←v7880;
(* (( (ptr) changeRef←v10460)+3) ) = parts←v7908;
(* (( (ptr) changeRef←v10460)+4) ) = val←v7936;
SOURCE(16439, 35)
(void) Note←P4440(history←v7964, (word) (( (bPt) gf←c66224)+236)/* var←c58608 */ , changeRef←v10460);
};
};
}
static void Note←P4440(event←v8040, historyProc←v8068, historyData←v8096)
word event←v8040;
word historyProc←v8068;
word historyData←v8096;
{
register ptr gf←c66256 = (ptr) &globalframe;
/* Note: */
SOURCE(16483, 377)
SOURCE(16578, 26)
if ((event←v8040 == 0)) {
SOURCE(16598, 6)
return;
};
SOURCE(16606, 34)
if ((0 != (* (( (ptr) gf←c66256)+5)/* debugHalt←v3364 */ ))) {
SOURCE(16624, 16)
(void) (XR←RaiseSignal((word) (( (bPt) gf←c66256)+200)/* var←c58448 */ , 0, 0));
};
SOURCE(16642, 130)
if ( ( ( ( (0 != (* (( (ptr) gf←c66256)+4)/* noteNoMore←v3336 */ )) ? ((* (( (ptr) event←v8040)+2) ) != 0) : 0 ) ? ((* (ptr) (* (
( (ptr) event←v8040)+2) ) ) != 0) : 0 ) ? ((* (ptr) (* (( (ptr) (* (ptr) (* (( (ptr) event←v8040)+2) ) ))+1) ) ) == 2) : 0 ) ) {
SOURCE(16766, 6)
return;
};
SOURCE(16774, 86)
{
word var←c64432;
word var←c64496;
{
word var←c64464;
var←c64464 = XR←NewObject(8, (* (( (ptr) gf←c66256)+15) ));
(* (ptr) var←c64464 ) = XR←CheckProc(historyProc←v8068);
(* (( (ptr) var←c64464)+1) ) = historyData←v8096;
var←c64432 = var←c64464;
};
var←c64496 = XR←NewObject(8, (* (( (ptr) gf←c66256)+17) ));
(* (ptr) var←c64496 ) = var←c64432;
(* (( (ptr) var←c64496)+1) ) = (* (( (ptr) event←v8040)+2) );
(* (( (ptr) event←v8040)+2) ) = var←c64496;
};
}
static void UndoProps←P4500(historyData←v8168, currentEvent←v8196)
word historyData←v8168;
word currentEvent←v8196;
{
register ptr gf←c66288 = (ptr) &globalframe;
word propsData←v10516;
word slice←v10544;
word parts←v10572;
/* UndoProps: */
SOURCE(16866, 1972)
SOURCE(16940, 57)
if ((historyData←v8168 == 0)) {
goto lab←L100035;
};
if (((* (ptr) historyData←v8168 ) == 0)) {
goto lab←L100035;
};
(void) XR←RaiseError(XR←NarrowFault, 0);
lab←L100035: ;
propsData←v10516 = historyData←v8168;
SOURCE(16999, 30)
slice←v10544 = (* (( (ptr) propsData←v10516)+2) );
SOURCE(17031, 35)
parts←v10572 = (* (( (ptr) propsData←v10516)+3) );
SOURCE(17068, 1770)
if (((* (ptr) slice←v10544 ) != 0)) {
SOURCE(17094, 1744)
{
word var←c64528;
var←c64528 = (* (( (ptr) propsData←v10516)+1) );
if ((var←c64528 == (* (( (ptr) gf←c66288)+45) ))) {
SOURCE(17138, 165)
{
word oldValue←v10628;
SOURCE(17140, 47)
oldValue←v10628 = XR←Narrow((* (( (ptr) propsData←v10516)+4) ), (* (( (ptr) gf←c66288)+12) ));
SOURCE(17189, 91)
{
word var←c64592;
{
word var←c64560;
var←c64560 = (word) FixBogusParts←P4560(slice←v10544, parts←v10572);
{
word pd219;
pd219 = (* (( (ptr) (* (( (ptr) gf←c66288)+212)/* var←c62704 */ ))+53) );
var←c64592 = (word) ( *( (fPt) ((* (ptr) pd219 ))))(slice←v10544, var←c64560, (* (ptr) oldValue←v10628 ), currentEvent←v8196, pd219)
;
};
};
};
};
goto endif0218;
};
if ((var←c64528 == (* (( (ptr) gf←c66288)+44) ))) {
SOURCE(17323, 148)
{
word oldValue←v10684;
SOURCE(17325, 55)
oldValue←v10684 = XR←Narrow((* (( (ptr) propsData←v10516)+4) ), (* (( (ptr) gf←c66288)+14) ));
SOURCE(17382, 87)
{
word var←c64624;
var←c64624 = (word) FixBogusParts←P4560(slice←v10544, parts←v10572);
{
word pd220;
pd220 = (* (( (ptr) (* (( (ptr) gf←c66288)+212)/* var←c62704 */ ))+55) );
(void) ( *( (fPt) ((* (ptr) pd220 ))))(slice←v10544, var←c64624, (* (ptr) oldValue←v10684 ), currentEvent←v8196, pd220)
;
};
};
};
goto endif0218;
};
if ((var←c64528 == (* (( (ptr) gf←c66288)+43) ))) {
SOURCE(17493, 154)
{
word oldValue←v10740;
SOURCE(17495, 57)
oldValue←v10740 = XR←Narrow((* (( (ptr) propsData←v10516)+4) ), (* (( (ptr) gf←c66288)+16) ));
SOURCE(17554, 91)
{
word var←c64656;
var←c64656 = (word) FixBogusParts←P4560(slice←v10544, parts←v10572);
{
word pd221;
pd221 = (* (( (ptr) (* (( (ptr) gf←c66288)+212)/* var←c62704 */ ))+57) );
(void) ( *( (fPt) ((* (ptr) pd221 ))))(slice←v10544, var←c64656, (* (ptr) oldValue←v10740 ), currentEvent←v8196, pd221)
;
};
};
};
goto endif0218;
};
if ((var←c64528 == (* (( (ptr) gf←c66288)+42) ))) {
SOURCE(17669, 148)
{
word oldValue←v10796;
SOURCE(17671, 51)
oldValue←v10796 = XR←Narrow((* (( (ptr) propsData←v10516)+4) ), (* (( (ptr) gf←c66288)+13) ));
SOURCE(17724, 91)
{
word var←c64688;
var←c64688 = (word) FixBogusParts←P4560(slice←v10544, parts←v10572);
{
word pd222;
pd222 = (* (( (ptr) (* (( (ptr) gf←c66288)+212)/* var←c62704 */ ))+59) );
(void) ( *( (fPt) ((* (ptr) pd222 ))))(slice←v10544, var←c64688, oldValue←v10796, (* (( (ptr) gf←c66288)+46) ), currentEvent←v8196, pd222)
;
};
};
};
goto endif0218;
};
if ((var←c64528 == (* (( (ptr) gf←c66288)+27) ))) {
SOURCE(17837, 124)
{
word oldValue←v10840;
SOURCE(17839, 51)
oldValue←v10840 = XR←Narrow((* (( (ptr) propsData←v10516)+4) ), (* (( (ptr) gf←c66288)+13) ));
SOURCE(17892, 67)
{
word pd223;
pd223 = (* (( (ptr) (* (( (ptr) gf←c66288)+212)/* var←c62704 */ ))+61) );
(void) ( *( (fPt) ((* (ptr) pd223 ))))(slice←v10544, parts←v10572, oldValue←v10840, (* (( (ptr) gf←c66288)+46) ), currentEvent←v8196, pd223)
;
};
};
goto endif0218;
};
if ((var←c64528 == (* (( (ptr) gf←c66288)+26) ))) {
SOURCE(17978, 165)
{
word oldValue←v10884;
SOURCE(17980, 51)
oldValue←v10884 = XR←Narrow((* (( (ptr) propsData←v10516)+4) ), (* (( (ptr) gf←c66288)+20) ));
SOURCE(18033, 107)
{
word var←c64720;
var←c64720 = (word) FixBogusParts←P4560(slice←v10544, parts←v10572);
{
word pd224;
pd224 = (* (( (ptr) (* (( (ptr) gf←c66288)+212)/* var←c62704 */ ))+63) );
(void) ( *( (fPt) ((* (ptr) pd224 ))))(slice←v10544, var←c64720, (* (ptr) oldValue←v10884 ), (* (( (ptr) oldValue←v10884)+1)
), currentEvent←v8196, pd224);
};
};
};
goto endif0218;
};
if ((var←c64528 == (* (( (ptr) gf←c66288)+24) ))) {
SOURCE(18160, 197)
{
word oldValue←v10940;
SOURCE(18162, 52)
oldValue←v10940 = XR←Narrow((* (( (ptr) propsData←v10516)+4) ), (* (( (ptr) gf←c66288)+22) ));
SOURCE(18216, 139)
{
word var←c64752;
var←c64752 = (word) FixBogusParts←P4560(slice←v10544, parts←v10572);
{
word pd225;
pd225 = (* (( (ptr) (* (( (ptr) gf←c66288)+212)/* var←c62704 */ ))+65) );
(void) ( *( (fPt) ((* (ptr) pd225 ))))(slice←v10544, var←c64752, (* (ptr) oldValue←v10940 ), (* (( (ptr) oldValue←v10940)+1)
), (* (( (ptr) oldValue←v10940)+2) ), (* (( (ptr) oldValue←v10940)+3) )
, currentEvent←v8196, pd225);
};
};
};
goto endif0218;
};
if ((var←c64528 == (* (( (ptr) gf←c66288)+25) ))) {
SOURCE(18379, 156)
{
word oldValue←v10996;
SOURCE(18381, 57)
oldValue←v10996 = XR←Narrow((* (( (ptr) propsData←v10516)+4) ), (* (( (ptr) gf←c66288)+23) ));
SOURCE(18440, 93)
{
word var←c64816;
{
word var←c64784;
var←c64784 = (word) FixBogusParts←P4560(slice←v10544, parts←v10572);
{
word pd226;
pd226 = (* (( (ptr) (* (( (ptr) gf←c66288)+212)/* var←c62704 */ ))+67) );
var←c64816 = (word) ( *( (fPt) ((* (ptr) pd226 ))))(slice←v10544, var←c64784, (* (ptr) oldValue←v10996 ), currentEvent←v8196, pd226)
;
};
};
};
};
goto endif0218;
};
if ((var←c64528 == (* (( (ptr) gf←c66288)+49) ))) {
SOURCE(18552, 288)
{
word oldValue←v11052;
word transform←v11080;
SOURCE(18554, 55)
oldValue←v11052 = XR←Narrow((* (( (ptr) propsData←v10516)+4) ), (* (( (ptr) gf←c66288)+8) ));
SOURCE(18611, 82)
{
word pd227;
pd227 = (* (( (ptr) (* (( (ptr) gf←c66288)+223)/* var←c64848 */ ))+51) );
transform←v11080 = (word) ( *( (fPt) ((* (ptr) pd227 ))))((* (ptr) (oldValue←v11052) ), pd227);
};
SOURCE(18726, 112)
{
word var←c64880;
var←c64880 = (word) FixBogusParts←P4560(slice←v10544, parts←v10572);
{
word pd228;
pd228 = (* (( (ptr) (* (( (ptr) gf←c66288)+212)/* var←c62704 */ ))+22) );
(void) ( *( (fPt) ((* (ptr) pd228 ))))(slice←v10544, var←c64880, transform←v11080, (* (( (ptr) oldValue←v11052)+1) ), currentEvent←v8196, pd228)
;
};
};
};
goto endif0218;
};
endif0218: ;
};
};
}
static word FixBogusParts←P4560(slice←v8268, bogusParts←v8296)
word slice←v8268;
word bogusParts←v8296;
{
register ptr gf←c66320 = (ptr) &globalframe;
word goodParts←v8340;
/* FixBogusParts: */
SOURCE(18859, 174)
SOURCE(18859, 174)
goodParts←v8340 = 0;
SOURCE(18953, 22)
goodParts←v8340 = bogusParts←v8296;
SOURCE(19002, 31)
if ((0 != (* (( (ptr) gf←c66320)+6)/* forgetBogusParts←v6052 */ ))) {
SOURCE(19027, 6)
return(goodParts←v8340);
};
SOURCE(19035, 5)
(void) XR←RaiseUnnamedError();
}
static word IsDescriptorOfEnd←P4620(sliceD←v8400)
word sliceD←v8400;
{
register ptr gf←c66352 = (ptr) &globalframe;
word var←c8444;
word jointNum←v11136;
word partType←v11164;
word success←v11192 = 0;
/* IsDescriptorOfEnd: */
SOURCE(19707, 844)
SOURCE(19845, 34)
if ((sliceD←v8400 == 0)) {
SOURCE(19866, 13)
return(0);
};
SOURCE(19881, 670)
{
word var←c64912;
{
word pd229;
pd229 = (* (( (ptr) (* (( (ptr) gf←c66352)+212)/* var←c62704 */ ))+6) );
var←c64912 = (word) ( *( (fPt) ((* (ptr) pd229 ))))((* (ptr) (sliceD←v8400) ), pd229);
};
if ((var←c64912 == (* (( (ptr) gf←c66352)+47) ))) {
SOURCE(19938, 138)
{
word trajD←v11236 = 0;
SOURCE(19964, 76)
{
word pd231;
pd231 = (* (( (ptr) (* (( (ptr) gf←c66352)+215)/* var←c62864 */ ))+78) );
trajD←v11236 = (word) ( *( (fPt) ((* (ptr) pd231 ))))((* (ptr) sliceD←v8400 ), (* (( (ptr) sliceD←v8400)+1) ), 1, (* (( (ptr) gf←c66352)+41)
), pd231);
};
SOURCE(20042, 32)
return((word) IsDescriptorOfEnd←P4620(trajD←v11236));
};
};
if ((var←c64912 == (* (( (ptr) gf←c66352)+48) ))) {
SOURCE(20091, 214)
{
word trajD←v11280 = 0;
SOURCE(20117, 85)
{
W10 var←c65008;
{
word pd232;
pd232 = (* (( (ptr) (* (( (ptr) gf←c66352)+224)/* var←c64976 */ ))+17) );
(void) ( *( (fPt) ((* (ptr) pd232 ))))((word) &var←c65008, sliceD←v8400, pd232);
};
jointNum←v11136 = (* (( (ptr) &var←c65008)+4) );
trajD←v11280 = (* (( (ptr) &var←c65008)+2) );
partType←v11164 = (* (( (ptr) &var←c65008)+1) );
success←v11192 = (* (ptr) &var←c65008 );
};
SOURCE(20204, 99)
{
word pd233;
if ((0 == success←v11192) || (partType←v11164 != 1)) {
return(0);
}
else {
pd233 = (* (( (ptr) (* (( (ptr) gf←c66352)+222)/* var←c64368 */ ))+45) );
return((word) ( *( (fPt) ((* (ptr) pd233 ))))((* (ptr) trajD←v11280 ), jointNum←v11136, pd233));
};
};
};
};
if ((var←c64912 == (* (( (ptr) gf←c66352)+41) ))) {
SOURCE(20319, 101)
{
W10 var←c65072;
{
word pd234;
pd234 = (* (( (ptr) (* (( (ptr) gf←c66352)+222)/* var←c64368 */ ))+52) );
(void) ( *( (fPt) ((* (ptr) pd234 ))))((word) &var←c65072, (* (ptr) sliceD←v8400 ), (* (( (ptr) sliceD←v8400)+1) ), pd234)
;
};
jointNum←v11136 = (* (( (ptr) &var←c65072)+4) );
partType←v11164 = (* (( (ptr) &var←c65072)+1) );
success←v11192 = (* (ptr) &var←c65072 );
};
SOURCE(20422, 100)
{
word pd235;
if ((0 == success←v11192) || (partType←v11164 != 1)) {
return(0);
}
else {
pd235 = (* (( (ptr) (* (( (ptr) gf←c66352)+222)/* var←c64368 */ ))+45) );
return((word) ( *( (fPt) ((* (ptr) pd235 ))))((* (ptr) sliceD←v8400 ), jointNum←v11136, pd235));
};
};
};
SOURCE(20538, 13)
return(0);
};
}
static void UnpackJoint←P4680(formal←c0622, sliceD←v8504)
word formal←c0622;
word sliceD←v8504;
{
register ptr gf←c66384 = (ptr) &globalframe;
word success←v8548;
word trajD←v8576;
word jointNum←v8604;
/* UnpackJoint: */
SOURCE(20557, 474)
SOURCE(20557, 474)
trajD←v8576 = 0;
SOURCE(20675, 356)
{
word var←c65136;
{
word pd236;
pd236 = (* (( (ptr) (* (( (ptr) gf←c66384)+212)/* var←c62704 */ ))+6) );
var←c65136 = (word) ( *( (fPt) ((* (ptr) pd236 ))))((* (ptr) (sliceD←v8504) ), pd236);
};
if ((var←c65136 == (* (( (ptr) gf←c66384)+47) ))) {
SOURCE(20734, 80)
{
word pd237;
pd237 = (* (( (ptr) (* (( (ptr) gf←c66384)+215)/* var←c62864 */ ))+78) );
sliceD←v8504 = (word) ( *( (fPt) ((* (ptr) pd237 ))))((* (ptr) sliceD←v8504 ), (* (( (ptr) sliceD←v8504)+1) ), 1, (* (( (ptr) gf←c66384)+48)
), pd237);
};
SOURCE(20816, 81)
{
W10 var←c65168;
{
word pd238;
pd238 = (* (( (ptr) (* (( (ptr) gf←c66384)+224)/* var←c64976 */ ))+17) );
(void) ( *( (fPt) ((* (ptr) pd238 ))))((word) &var←c65168, sliceD←v8504, pd238);
};
jointNum←v8604 = (* (( (ptr) &var←c65168)+4) );
trajD←v8576 = (* (( (ptr) &var←c65168)+2) );
success←v8548 = (* (ptr) &var←c65168 );
};
}
else {
if ((var←c65136 == (* (( (ptr) gf←c66384)+48) ))) {
SOURCE(20914, 81)
{
W10 var←c65200;
{
word pd239;
pd239 = (* (( (ptr) (* (( (ptr) gf←c66384)+224)/* var←c64976 */ ))+17) );
(void) ( *( (fPt) ((* (ptr) pd239 ))))((word) &var←c65200, sliceD←v8504, pd239);
};
jointNum←v8604 = (* (( (ptr) &var←c65200)+4) );
trajD←v8576 = (* (( (ptr) &var←c65200)+2) );
success←v8548 = (* (ptr) &var←c65200 );
};
}
else {
SOURCE(21008, 23)
success←v8548 = 0;
trajD←v8576 = 0;
jointNum←v8604 = (word) -1;
goto lab←L100036;
};
};
};
/* removed tail goto */
lab←L100036: ;
(* (ptr) formal←c0622 ) = success←v8548;
(* (( (ptr) formal←c0622)+1) ) = trajD←v8576;
(* (( (ptr) formal←c0622)+2) ) = jointNum←v8604;
return;
}
static void UnpackSegment←P4740(formal←c0637, sliceD←v8664)
word formal←c0637;
word sliceD←v8664;
{
register ptr gf←c66416 = (ptr) &globalframe;
word success←v8708;
word hitType←v8736;
word traj←v8764;
word seg←v8792;
word segNum←v8820;
word trajD←v11324 = 0;
/* UnpackSegment: */
SOURCE(21037, 772)
SOURCE(21037, 772)
traj←v8764 = 0;
SOURCE(21037, 772)
seg←v8792 = 0;
SOURCE(21037, 772)
segNum←v8820 = 999;
SOURCE(21211, 598)
{
word var←c65232;
{
word pd240;
pd240 = (* (( (ptr) (* (( (ptr) gf←c66416)+212)/* var←c62704 */ ))+6) );
var←c65232 = (word) ( *( (fPt) ((* (ptr) pd240 ))))((* (ptr) (sliceD←v8664) ), pd240);
};
if ((var←c65232 == (* (( (ptr) gf←c66416)+47) ))) {
SOURCE(21270, 80)
{
word pd242;
pd242 = (* (( (ptr) (* (( (ptr) gf←c66416)+215)/* var←c62864 */ ))+78) );
sliceD←v8664 = (word) ( *( (fPt) ((* (ptr) pd242 ))))((* (ptr) sliceD←v8664 ), (* (( (ptr) sliceD←v8664)+1) ), 1, (* (( (ptr) gf←c66416)+48)
), pd242);
};
SOURCE(21352, 105)
{
W10 var←c65264;
{
word pd243;
pd243 = (* (( (ptr) (* (( (ptr) gf←c66416)+224)/* var←c64976 */ ))+17) );
(void) ( *( (fPt) ((* (ptr) pd243 ))))((word) &var←c65264, sliceD←v8664, pd243);
};
segNum←v8820 = (* (( (ptr) &var←c65264)+9) );
seg←v8792 = (* (( (ptr) &var←c65264)+8) );
trajD←v11324 = (* (( (ptr) &var←c65264)+2) );
hitType←v8736 = (* (( (ptr) &var←c65264)+1) );
success←v8708 = (* (ptr) &var←c65264 );
};
SOURCE(21459, 18)
traj←v8764 = (* (ptr) trajD←v11324 );
goto endif0241;
};
if ((var←c65232 == (* (( (ptr) gf←c66416)+48) ))) {
SOURCE(21496, 105)
{
W10 var←c65296;
{
word pd244;
pd244 = (* (( (ptr) (* (( (ptr) gf←c66416)+224)/* var←c64976 */ ))+17) );
(void) ( *( (fPt) ((* (ptr) pd244 ))))((word) &var←c65296, sliceD←v8664, pd244);
};
segNum←v8820 = (* (( (ptr) &var←c65296)+9) );
seg←v8792 = (* (( (ptr) &var←c65296)+8) );
trajD←v11324 = (* (( (ptr) &var←c65296)+2) );
hitType←v8736 = (* (( (ptr) &var←c65296)+1) );
success←v8708 = (* (ptr) &var←c65296 );
};
SOURCE(21603, 18)
traj←v8764 = (* (ptr) trajD←v11324 );
goto endif0241;
};
if ((var←c65232 == (* (( (ptr) gf←c66416)+41) ))) {
SOURCE(21637, 121)
{
W10 var←c65328;
{
word pd245;
pd245 = (* (( (ptr) (* (( (ptr) gf←c66416)+222)/* var←c64368 */ ))+52) );
(void) ( *( (fPt) ((* (ptr) pd245 ))))((word) &var←c65328, (* (ptr) sliceD←v8664 ), (* (( (ptr) sliceD←v8664)+1) ), pd245)
;
};
segNum←v8820 = (* (( (ptr) &var←c65328)+9) );
seg←v8792 = (* (( (ptr) &var←c65328)+8) );
hitType←v8736 = (* (( (ptr) &var←c65328)+1) );
success←v8708 = (* (ptr) &var←c65328 );
};
goto endif0241;
};
SOURCE(21774, 35)
success←v8708 = 0;
hitType←v8736 = 0;
traj←v8764 = 0;
seg←v8792 = 0;
segNum←v8820 = 999;
goto lab←L100037;
endif0241: ;
};
/* removed tail goto */
lab←L100037: ;
(* (ptr) formal←c0637 ) = success←v8708;
(* (( (ptr) formal←c0637)+1) ) = hitType←v8736;
(* (( (ptr) formal←c0637)+2) ) = traj←v8764;
(* (( (ptr) formal←c0637)+3) ) = seg←v8792;
(* (( (ptr) formal←c0637)+4) ) = segNum←v8820;
return;
}
/* file: GGSliceOpsImpl, module: GGSliceOpsImpl, compiled at: July 11, 1993 8:05:02 pm PDT */
extern void XR←install←GGSliceOpsImpl() {
NoName←Q6588();
}
extern void XR←run←GGSliceOpsImpl() { XR←Start(&globalframe); }