/* Generated with C2C (Cedar To C)*/ /* Copyright (C) 1993 by Xerox Corporation. All rights reserved. */ /* time: July 11, 1993 8:09:48 pm PDT */ /* C2C version: April 20, 1993 (sun4) */ /* ref-counting: off */ /* file: GGSliceImplC, module: GGSliceImplC */ /* switches: bcfhklnouw */ #include <cedar/InstallationSupport.h> #include <cedar/CedarExtra.h> static char versionStamp[] = "@(#)mob←version [1942348543,1462603946] GGSliceImplC"; typedef unsigned word, *ptr; typedef unsigned char byte, *bPt; typedef unsigned short half, *hPt; typedef struct {word f0, f1, f2, f3, f4;} W5; typedef W5 *W5Pt; typedef struct {word f0, f1;} W2; typedef word (*fPt)(); typedef W2 *W2Pt; typedef struct {word f0, f1, f2, f3;} W4; typedef W4 *W4Pt; 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; W8 r;} W16; typedef struct {W16 f; W4 r;} W20; typedef W20 *W20Pt; typedef W6 *W6Pt; typedef struct {word f0, f1, f2;} W3; typedef struct {W8 f; W3 r;} W11; typedef struct {W8 f; W2 r;} W10; typedef struct {W8 f; W5 r;} W13; typedef struct {W8 f; W6 r;} W14; typedef struct {W8 f; word r;} W9; typedef struct {word f0, f1, f2, f3, f4, f5, f6;} W7; typedef W3 *W3Pt; typedef W10 *W10Pt; #define SOURCE(p, l) /* source p, l */ static float fc84 = 0.01; static float fc85 = 0.0; static float fc87 = 1.0; static float fc88 = -1.0; static float fc90 = 2.0; static float fc96 = 20.0; #define FMAX(x, y, tx, ty) ( (tx=((float) x)) >= (ty=((float) y)) ? tx : ty ) #define FABS(f, t) ( ((t=(f)) >= (float) 0.0) ? (t) : (- (t)) ) static float fc142 = 1.0E-6; #define BCK(idx, lim) ( ((unsigned) idx) >= ((unsigned) lim) ? (XR←RaiseBoundsFault()) : (idx) ) static float fc235 = 10000.0; static float fc379 = 8704.03; static float fc388 = 8706.08; static float fc395 = 8802.04; static float fc399 = 1E16; #define IOP2(op, x, y) ( (word) ((x) op (y)) ) #define SGNCK(i) ((int) (word) (i) < 0 ? XR←RaiseArithmeticFault(): i ) static float fc491 = 3.0; static void NoName←Q9060(); static void GGSliceImplC←P0(); static word BuildCircleSliceClass←P60(); static word MakeCircleSlice←P120(); static void CircleGetParams←P180(); static void CircleGetBoundBoxAux←P240(); static void CircleFindBoundBox←P5760(); static word CircleGetBoundBox←P300(); static word CircleGetTightBox←P360(); static void CircleSetScaling←P420(); static word CircleCopy←P480(); static void CircleRestore←P540(); static void CircleBuildPath←P600(); static void CircleDrawBorder←P660(); static void DoCircleDrawBorder←P5964(); static void CircleDrawParts←P720(); static void DoCircleDrawOutline←P6072(); static void CircleDrawTransform←P780(); static void DoCircleDrawTransform←P6132(); static void CircleDrawSelectionFeedback←P840(); static void CircleDrawAttractorFeedback←P900(); static void DoDrawFeedback←P6336(); static void CircleBoxFromTransform←P960(); static word FindImagerObject←P1020(); static word EqualPattern←P6444(); static word CompareProps←P6504(); static word CreateProps←P1080(); static word IsSampled←P1140(); static void CachedCircleDraw←P1200(); static word FromFillToLocal←P1260(); static void CircleDrawObject←P1320(); static void FillItIn←P6900(); static void TransformedCirclePath←P6960(); static word PatternProc←P7068(); static void OldCircleDrawOutline←P1380(); static void TransformedCirclePath←P7128(); static void FillItIn←P7188(); static word PatternProc←P7296(); static void CirclePath←P1440(); static void CirclePathReverse←P1500(); static void DrawSelectionFeedbackAux←P1560(); static void DoDrawFeedback←P7356(); static void CircleSaveSelections←P1620(); static void SetPointField←P7464(); static void SetSegmentField←P7524(); static word CircleRemakeSelections←P1680(); static word GetPointField←P7632(); static word GetSegmentField←P7692(); static void CircleTransform←P1740(); static word CircleDescribeHit←P1800(); static word CircleDescribe←P1860(); static void CircleFileout←P1920(); static word CircleFilein←P1980(); static word CircleIsEmptyParts←P2040(); static word CircleIsCompleteParts←P2100(); static word NearestCirclePoint←P2160(); static word CircleNewParts←P2220(); static word CircleUnionParts←P2280(); static word CircleDiffParts←P2340(); static void CircleMovingParts←P2400(); static word SomeCPMoving←P8136(); static word CircleAugmentParts←P2460(); static word CircleAlterParts←P2520(); static word CirclePointsInDescriptor←P2580(); static void CircleWalkPointsInDescriptor←P2640(); static word CircleSegmentsInDescriptor←P2700(); static word CircleWalkSegments←P2760(); static void CircleNextPoint←P2820(); static void GetCirclePoint←P2880(); static void CircleNextSegment←P2940(); static void CircleClosestPoint←P3000(); static void CircleClosestJointToHitData←P3060(); static void CircleClosestSegment←P3120(); static void CircleFilledPathsUnderPoint←P3180(); static void CircleLineIntersection←P3240(); static word CircleHitDataAsSimpleCurve←P3300(); static void CirclePointsFromData←P3360(); static void CircleSetDefaults←P3420(); static word CircleSetStrokeWidth←P3480(); static void CircleGetStrokeWidth←P3540(); static void CircleSetStrokeEnd←P3600(); static void CircleGetStrokeEnd←P3660(); static void CircleSetStrokeColor←P3720(); static void CircleGetStrokeColor←P3780(); static void CircleSetFillColor←P3840(); static void CircleGetFillColor←P3900(); static void CircleSetDashed←P3960(); static void CircleGetDashed←P4020(); static word CircleSetOrientation←P4080(); static void CircleGetOrientation←P4140(); static void MakeComplete←P4200(); static word IsComplete←P4260(); static word IsEmpty←P4320(); static word NoOpBoundBox←P4380(); static word NoOpTransformedBoundBox←P4440(); static word NoOpTightBox←P4500(); static word NoOpCopy←P4560(); static void NoOpRestore←P4620(); static void NoOpBuildPath←P4680(); static void NoOpDrawBorder←P4740(); static void NoOpDrawParts←P4800(); static void NoOpDrawTransform←P4860(); static void NoOpDrawSelectionFeedback←P4920(); static void NoOpDrawAttractorFeedback←P4980(); static word NoOpAttractorFeedbackBoundBox←P5040(); static void NoOpSaveSelections←P5100(); static word NoOpRemakeSelections←P5160(); static word NoOpSetOrientation←P5220(); static void NoOpGetOrientation←P5280(); static void NoOpTransform←P5340(); static word NoOpDescribe←P5400(); static word NoOpDescribeHit←P5460(); static void NoOpFileout←P5520(); static word NoOpFilein←P5580(); static word GenericTransformedBoundBox←P5640(); static void Init←P5700(); static struct {unsigned f; char r[16];} string1 = {851984, "\257\300\247\365\203\234\300\047\265\225\046\100\354\000\000"}; static struct {unsigned f; char r[4];} string2 = {65537, "\001\000\000"}; static struct {unsigned f; char r[4];} string3 = {131076, "\216\251\000"}; static struct {unsigned f; char r[44];} string4 = {2752556, "\260\006\005\146\151\162\163\164\257\300\247\031\224\326\300\123\162\224\023\100\164\005\004\162\145\163\164\214\257\300\247\031\224\326\300\123\162\224\023\100\164\261\000"}; static struct {unsigned f; char r[4];} string5 = {131074, "\003\002\000"}; static struct {unsigned f; char r[16];} string6 = {851984, "\257\300\163\305\342\377\300\127\055\220\252\100\214\000\000"}; static struct {unsigned f; char r[16];} string7 = {983055, "\006\006\000\001\004\001\024\001\030\001\054\001\100\204\001"}; static struct {unsigned f; char r[16];} string8 = {851984, "\257\300\163\305\342\377\300\127\055\220\252\100\230\000\000"}; static struct {unsigned f; char r[16];} string9 = {851984, "\257\300\247\365\203\234\300\047\265\225\046\100\324\000\000"}; static struct {unsigned f; char r[32];} string10 = {1966110, "\006\015\000\001\004\001\010\001\034\001\040\001\044\001\050\001\054\001\060\001\064\001\074\001\100\110\001\100\130\001\000"}; static struct {unsigned f; char r[16];} string11 = {851984, "\257\300\247\365\203\234\300\047\265\225\046\107\144\000\000"}; static struct {unsigned f; char r[4];} string12 = {196611, "\004@\321"}; static struct {unsigned f; char r[48];} string13 = {2883632, "\260\006\005\146\151\162\163\164\216\257\300\247\365\203\234\300\047\265\225\046\100\324\005\004\162\145\163\164\214\216\257\300\247\365\203\234\300\047\265\225\046\100\324\261\000\000\000"}; static struct {unsigned f; char r[4];} string14 = {131074, "\004\003\000"}; static struct {unsigned f; char r[16];} string15 = {851984, "\257\300\247\365\203\234\300\047\265\225\046\107\210\000\000"}; static struct {unsigned f; char r[4];} string16 = {131074, "\004\011\000"}; static struct {unsigned f; char r[16];} string17 = {851984, "\257\300\074\177\166\242\300\203\113\217\044\104\254\000\000"}; static struct {unsigned f; char r[4];} string18 = {131074, "\003\005\000"}; static struct {unsigned f; char r[16];} string19 = {851984, "\257\300\163\305\342\377\300\127\055\220\252\100\260\000\000"}; static struct {unsigned f; char r[4];} string20 = {196611, "\004E\221"}; static struct {unsigned f; char r[16];} string21 = {851984, "\257\300\163\305\342\377\300\127\055\220\252\100\244\000\000"}; static struct {unsigned f; char r[16];} string22 = {917520, "\216\257\300\363\223\326\161\300\017\164\046\072\104\350\000"}; static struct {unsigned f; char r[20];} string23 = {1179668, "\260\006\005\146\151\162\163\164\217\005\004\162\145\163\164\214\217\261\000"}; static struct {unsigned f; char r[20];} string24 = {1245204, "circumference point"}; static struct {unsigned f; char r[8];} string25 = {393224, "border\000"}; static struct {unsigned f; char r[20];} string26 = {1179668, " of a Circle slice\000"}; static struct {unsigned f; char r[16];} string27 = {917520, "a Circle slice\000"}; static struct {unsigned f; char r[36];} string28 = {2097188, "multiple parts of a Circle slice\000\000\000"}; static struct {unsigned f; char r[8];} string29 = {458760, "outline"}; static struct {unsigned f; char r[8];} string30 = {458760, "nowhere"}; static struct {unsigned f; char r[16];} string31 = {917520, " strokeWidth: \000"}; static struct {unsigned f; char r[4];} string32 = {131076, "%g\000"}; static struct {unsigned f; char r[16];} string33 = {917520, " strokeColor: \000"}; static struct {unsigned f; char r[16];} string34 = {786448, " fillColor: \000\000\000"}; static struct {unsigned f; char r[12];} string35 = {720908, " dashes: ( "}; static struct {unsigned f; char r[8];} string36 = {458760, " %g %g "}; static struct {unsigned f; char r[4];} string37 = {131076, ") \000"}; static struct {unsigned f; char r[12];} string38 = {655372, " props: ( \000"}; static struct {unsigned f; char r[8];} string39 = {458760, ") fwd: "}; static struct {unsigned f; char r[16];} string40 = {786448, "strokeWidth:\000\000\000"}; static struct {unsigned f; char r[16];} string41 = {786448, "strokeColor:\000\000\000"}; static struct {unsigned f; char r[12];} string42 = {655372, "fillColor:\000"}; static struct {unsigned f; char r[12];} string43 = {589836, "dashes: (\000\000"}; static struct {unsigned f; char r[12];} string44 = {589836, "props: ( \000\000"}; static struct {unsigned f; char r[8];} string45 = {393224, "origin\000"}; static struct {unsigned f; char r[8];} string46 = {262152, "fwd:\000\000\000"}; static struct {unsigned f; char r[8];} string47 = {458760, "Forward"}; static struct {unsigned f; char r[12];} string48 = {524300, "Backward\000\000\000"}; static struct {unsigned f; char r[8];} string49 = {262152, "Grow\000\000\000"}; static struct {unsigned f; char r[16];} string50 = {851984, "ShrinkForward\000\000"}; static struct {unsigned f; char r[16];} string51 = {917520, "ShrinkBackward\000"}; static struct {unsigned f; char r[16];} string52 = {917520, "GGCircleObject\000"}; static struct {unsigned f; char r[4];} string53 = {196612, "Set"}; static struct {unsigned f; char r[20];} string54 = {1048596, "Broken Invariant\000\000\000"}; static struct {unsigned f; char r[8];} string55 = {393224, "Circle\000"}; static struct {unsigned f; char r[12];} string56 = {589836, "ChangeHue\000\000"}; static struct {unsigned f; char r[40];} string57 = {2490408, "All slice classes must have this proc.\000"}; static struct {unsigned f; char r[32];} string58 = {2031648, "Failed to procure complete copy"}; static struct {unsigned f; char r[16];} string59 = {851984, "\257\300\163\305\342\377\300\127\055\220\252\100\164\000\000"}; static struct {unsigned f; char r[12];} string60 = {720907, "\006\002\030\001\100\144\010\000\004\043\001"}; static struct {unsigned f; char r[16];} string61 = {851984, "\257\300\322\334\347\304\300\124\107\000\027\100\150\000\000"}; static struct {unsigned f; char r[16];} string62 = {851984, "\257\300\161\264\233\303\300\026\075\022\161\100\150\000\000"}; static struct {unsigned f; char r[16];} string63 = {851984, "\257\300\265\217\206\011\300\172\271\371\033\100\150\000\000"}; static struct {unsigned f; char r[16];} string64 = {851984, "\257\300IKM\275\300Y\0222&@h\000\000"}; static struct {unsigned f; char r[16];} string65 = {851984, "\257\300\231\005\151\136\300\275\231\323\274\100\150\000\000"}; static struct {unsigned f; char r[16];} string66 = {851984, "\257\300\034\077\173\126\300\270\206\201\035\100\150\000\000"}; static struct {unsigned f; char r[16];} string67 = {851984, "\257\300\236\155\220\261\300\040\017\026\014\100\150\000\000"}; static struct {unsigned f; char r[16];} string68 = {851984, "\257\300\045\215\147\016\300\153\043\150\276\100\150\000\000"}; static struct {unsigned f; char r[16];} string69 = {851984, "\257\300\317\075\344\275\300\105\331\241\110\100\150\000\000"}; static struct {unsigned f; char r[16];} string70 = {851984, "\257\300\043\211\212\366\300\343\003\307\242\100\150\000\000"}; static struct {unsigned f; char r[16];} string71 = {851984, "\257\300\235\036\354\311\300\234\133\201\260\100\150\000\000"}; static struct {unsigned f; char r[4];} string72 = {1195856748, "ice"}; static struct {unsigned f; char r[16];} string73 = {851984, "\257\300U$)\337\300Xo9\243@t\000\000"}; static struct {unsigned f; char r[16];} string74 = {851984, "\257\300\336\025\013\356\300\216\115\352\271\100\150\000\000"}; static struct {unsigned f; char r[16];} string75 = {851984, "\257\300\370\132\042\205\300\045\133\011\125\100\150\000\000"}; static struct {unsigned f; char r[16];} string76 = {851984, "\257\300\074\177\166\242\300\203\113\217\044\100\150\000\000"}; static struct {unsigned f; char r[16];} string77 = {851984, "\257\300\354\147\236\353\300\316\347\225\106\100\150\000\000"}; static struct {unsigned f; char r[16];} string78 = {851984, "\257\300\121\117\377\026\300\315\013\026\004\100\150\000\000"}; static struct {unsigned f; char r[16];} string79 = {851984, "\257\300\015\277\004\146\300\034\367\146\045\100\164\000\000"}; static struct {unsigned f; char r[16];} string80 = {851984, "\257\300\103\306\166\071\300\047\126\012\237\100\150\000\000"}; static struct {unsigned f; char r[16];} string81 = {851984, "\257\300\245\247\302\156\300\052\156\325\023\100\150\000\000"}; static struct {unsigned f; char r[16];} string82 = {851984, "\257\300\363\223\326\161\300\017\164\046\072\100\150\000\000"}; static struct {unsigned f; char r[16];} string83 = {851984, "\257\300\004\142\347\110\300\363\053\254\345\100\150\000\000"}; static W2 dummy156; static struct { word f0[60]; 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; word f211; word f212; word f213; word f214; word f215; word f216; word f217; word f218; word f219; word f220; word f221; word f222; word f223; word f224; word f225; word f226; word f227; word f228; word f229; word f230; word f231; word f232; word f233; word f234; word f235; word f236; word f237; word f238; word f239; word f240; word f241; word f242; word f243; word f244; word f245; word f246; word f247; word f248; word f249; word f250; word f251[38]; } globalframe = { {0}, (word) Init←P5700, 0, (word) GenericTransformedBoundBox←P5640, 0, (word) NoOpFilein←P5580, 0, (word) NoOpFileout←P5520, 0, (word) NoOpDescribeHit←P5460, 0, (word) NoOpDescribe←P5400, 0, (word) NoOpTransform←P5340, 0, (word) NoOpGetOrientation←P5280, 0, (word) NoOpSetOrientation←P5220, 0, (word) NoOpRemakeSelections←P5160, 0, (word) NoOpSaveSelections←P5100, 0, (word) NoOpAttractorFeedbackBoundBox←P5040, 0, (word) NoOpDrawAttractorFeedback←P4980, 0, (word) NoOpDrawSelectionFeedback←P4920, 0, (word) NoOpDrawTransform←P4860, 0, (word) NoOpDrawParts←P4800, 0, (word) NoOpDrawBorder←P4740, 0, (word) NoOpBuildPath←P4680, 0, (word) NoOpRestore←P4620, 0, (word) NoOpCopy←P4560, 0, (word) NoOpTightBox←P4500, 0, (word) NoOpTransformedBoundBox←P4440, 0, (word) NoOpBoundBox←P4380, 0, (word) IsEmpty←P4320, 0, (word) IsComplete←P4260, 0, (word) MakeComplete←P4200, 0, (word) CircleGetOrientation←P4140, 0, (word) CircleSetOrientation←P4080, 0, (word) CircleGetDashed←P4020, 0, (word) CircleSetDashed←P3960, 0, (word) CircleGetFillColor←P3900, 0, (word) CircleSetFillColor←P3840, 0, (word) CircleGetStrokeColor←P3780, 0, (word) CircleSetStrokeColor←P3720, 0, (word) CircleGetStrokeEnd←P3660, 0, (word) CircleSetStrokeEnd←P3600, 0, (word) CircleGetStrokeWidth←P3540, 0, (word) CircleSetStrokeWidth←P3480, 0, (word) CircleSetDefaults←P3420, 0, (word) CirclePointsFromData←P3360, 0, (word) CircleHitDataAsSimpleCurve←P3300, 0, (word) CircleLineIntersection←P3240, 0, (word) CircleFilledPathsUnderPoint←P3180, 0, (word) CircleClosestSegment←P3120, 0, (word) CircleClosestJointToHitData←P3060, 0, (word) CircleClosestPoint←P3000, 0, (word) CircleNextSegment←P2940, 0, (word) GetCirclePoint←P2880, 0, (word) CircleNextPoint←P2820, 0, (word) CircleWalkSegments←P2760, 0, (word) CircleSegmentsInDescriptor←P2700, 0, (word) CircleWalkPointsInDescriptor←P2640, 0, (word) CirclePointsInDescriptor←P2580, 0, (word) CircleAlterParts←P2520, 0, (word) CircleAugmentParts←P2460, 0, (word) CircleMovingParts←P2400, 0, (word) CircleDiffParts←P2340, 0, (word) CircleUnionParts←P2280, 0, (word) CircleNewParts←P2220, 0, (word) NearestCirclePoint←P2160, 0, (word) CircleIsCompleteParts←P2100, 0, (word) CircleIsEmptyParts←P2040, 0, (word) CircleFilein←P1980, 0, (word) CircleFileout←P1920, 0, (word) CircleDescribe←P1860, 0, (word) CircleDescribeHit←P1800, 0, (word) CircleTransform←P1740, 0, (word) CircleRemakeSelections←P1680, 0, (word) CircleSaveSelections←P1620, 0, (word) DrawSelectionFeedbackAux←P1560, 0, (word) CirclePathReverse←P1500, 0, (word) CirclePath←P1440, 0, (word) OldCircleDrawOutline←P1380, 0, (word) CircleDrawObject←P1320, 0, (word) FromFillToLocal←P1260, 0, (word) CachedCircleDraw←P1200, 0, (word) IsSampled←P1140, 0, (word) CreateProps←P1080, 0, (word) FindImagerObject←P1020, 0, (word) CircleBoxFromTransform←P960, 0, (word) CircleDrawAttractorFeedback←P900, 0, (word) CircleDrawSelectionFeedback←P840, 0, (word) CircleDrawTransform←P780, 0, (word) CircleDrawParts←P720, 0, (word) CircleDrawBorder←P660, 0, (word) CircleBuildPath←P600, 0, (word) CircleRestore←P540, 0, (word) CircleCopy←P480, 0, (word) CircleSetScaling←P420, 0, (word) CircleGetTightBox←P360, 0, (word) CircleGetBoundBox←P300, 0, (word) CircleGetBoundBoxAux←P240, 0, (word) CircleGetParams←P180, 0, (word) MakeCircleSlice←P120, 0, (word) BuildCircleSliceClass←P60, 0, (word) GGSliceImplC←P0, {0} }; static void NoName←Q9060() { register ptr gf←c01098 = (ptr) &globalframe; word var←c89376; (* (( (ptr) gf←c01098)+8) ) = (word) XR←GetTypeIndex((word) &string1, 0, (word) &string2); (* (( (ptr) gf←c01098)+9) ) = (word) XR←GetTypeIndex((word) &string3, 0, (word) &string2); (* (( (ptr) gf←c01098)+10) ) = (word) XR←GetTypeIndex((word) &string4, 0, (word) &string5); (* (( (ptr) gf←c01098)+12) ) = (word) XR←GetTypeIndex((word) &string6, 0, (word) &string7); (* (( (ptr) gf←c01098)+13) ) = (word) XR←GetTypeIndexS((word) (&string8)); (* (( (ptr) gf←c01098)+14) ) = (word) XR←GetTypeIndex((word) &string9, 0, (word) &string10); (* (( (ptr) gf←c01098)+16) ) = (word) XR←GetTypeIndex((word) &string11, 0, (word) &string12); (* (( (ptr) gf←c01098)+17) ) = (word) XR←GetTypeIndex((word) &string13, 0, (word) &string14); (* (( (ptr) gf←c01098)+18) ) = (word) XR←GetTypeIndex((word) &string15, 0, (word) &string16); (* (( (ptr) gf←c01098)+19) ) = (word) XR←GetTypeIndex((word) &string17, 0, (word) &string18); (* (( (ptr) gf←c01098)+20) ) = (word) XR←GetTypeIndex((word) &string19, 0, (word) &string20); (* (( (ptr) gf←c01098)+21) ) = (word) XR←GetTypeIndexS((word) (&string21)); (* (( (ptr) gf←c01098)+23) ) = (word) XR←GetTypeIndex((word) &string22, 0, (word) &string2); (* (( (ptr) gf←c01098)+24) ) = (word) XR←GetTypeIndex((word) &string23, 0, (word) &string14); (* (ptr) (( (bPt) gf←c01098)+100) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c01098)+23) ), (word) &string24); (* (ptr) (( (bPt) gf←c01098)+104) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c01098)+23) ), (word) &string25); (* (ptr) (( (bPt) gf←c01098)+108) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c01098)+23) ), (word) &string26); (* (ptr) (( (bPt) gf←c01098)+112) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c01098)+23) ), (word) &string27); (* (ptr) (( (bPt) gf←c01098)+116) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c01098)+23) ), (word) &string28); (* (ptr) (( (bPt) gf←c01098)+120) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c01098)+23) ), (word) &string29); (* (ptr) (( (bPt) gf←c01098)+124) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c01098)+23) ), (word) &string30); (* (ptr) (( (bPt) gf←c01098)+128) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c01098)+23) ), (word) &string31); (* (ptr) (( (bPt) gf←c01098)+132) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c01098)+23) ), (word) &string32); (* (ptr) (( (bPt) gf←c01098)+136) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c01098)+23) ), (word) &string33); (* (ptr) (( (bPt) gf←c01098)+140) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c01098)+23) ), (word) &string34); (* (ptr) (( (bPt) gf←c01098)+144) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c01098)+23) ), (word) &string35); (* (ptr) (( (bPt) gf←c01098)+148) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c01098)+23) ), (word) &string36); (* (ptr) (( (bPt) gf←c01098)+152) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c01098)+23) ), (word) &string37); (* (ptr) (( (bPt) gf←c01098)+156) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c01098)+23) ), (word) &string38); (* (ptr) (( (bPt) gf←c01098)+160) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c01098)+23) ), (word) &string39); (* (ptr) (( (bPt) gf←c01098)+164) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c01098)+23) ), (word) &string40); (* (ptr) (( (bPt) gf←c01098)+168) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c01098)+23) ), (word) &string41); (* (ptr) (( (bPt) gf←c01098)+172) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c01098)+23) ), (word) &string42); (* (ptr) (( (bPt) gf←c01098)+176) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c01098)+23) ), (word) &string43); (* (ptr) (( (bPt) gf←c01098)+180) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c01098)+23) ), (word) &string44); (* (ptr) (( (bPt) gf←c01098)+184) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c01098)+23) ), (word) &string45); (* (ptr) (( (bPt) gf←c01098)+188) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c01098)+23) ), (word) &string46); (* (ptr) (( (bPt) gf←c01098)+192) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c01098)+9) ), (word) &string47); (* (ptr) (( (bPt) gf←c01098)+196) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c01098)+9) ), (word) &string48); (* (ptr) (( (bPt) gf←c01098)+200) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c01098)+9) ), (word) &string49); (* (ptr) (( (bPt) gf←c01098)+204) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c01098)+9) ), (word) &string50); (* (ptr) (( (bPt) gf←c01098)+208) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c01098)+9) ), (word) &string51); (* (ptr) (( (bPt) gf←c01098)+212) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c01098)+9) ), (word) &string52); (* (ptr) (( (bPt) gf←c01098)+216) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c01098)+9) ), (word) &string53); (* (ptr) (( (bPt) gf←c01098)+220) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c01098)+23) ), (word) &string54); (* (ptr) (( (bPt) gf←c01098)+224) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c01098)+9) ), (word) &string55); (* (ptr) (( (bPt) gf←c01098)+228) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c01098)+9) ), (word) &string56); (* (ptr) (( (bPt) gf←c01098)+232) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c01098)+23) ), (word) &string57); (* (ptr) (( (bPt) gf←c01098)+236) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c01098)+23) ), (word) &string58); (void) XR←DeclareGlobalFrame((word) "GGSliceImplC", &globalframe, (word) XR←GetTypeIndex((word) &string59, 0, (word) &string60) , (word) (( (bPt) gf←c01098)+1000)/* var←c82080 */ ); var←c89376 = (word) XR←ImportInterface((word) "Feedback", (word) XR←GetTypeIndexS((word) (&string61)), 25); (* (( (ptr) gf←c01098)+266)/* var←c82304 */ ) = var←c89376; var←c89376 = (word) XR←ImportInterface((word) "FunctionCache", (word) XR←GetTypeIndexS((word) (&string62)), 14); (* (( (ptr) gf←c01098)+280)/* var←c85056 */ ) = var←c89376; (void) XR←ImportProcS(var←c89376, 67633154); (void) XR←ImportProcS(var←c89376, 1311237); (void) XR←ImportProcS(var←c89376, 135005443); var←c89376 = (word) XR←ImportInterface((word) "GGBoundBox", (word) XR←GetTypeIndexS((word) (&string63)), 24); (* (( (ptr) gf←c01098)+271)/* var←c82752 */ ) = var←c89376; (void) XR←ImportProcS(var←c89376, 67634434); (void) XR←ImportProcS(var←c89376, 68162051); (void) XR←ImportProcS(var←c89376, 268699393); (void) XR←ImportProcS(var←c89376, 527618); (void) XR←ImportProcS(var←c89376, 67371777); (void) XR←ImportProcS(var←c89376, 68681990); (void) XR←ImportProcS(var←c89376, 67109376); var←c89376 = (word) XR←ImportInterface((word) "GGCircles", (word) XR←GetTypeIndexS((word) (&string64)), 29); (* (( (ptr) gf←c01098)+268)/* var←c82496 */ ) = var←c89376; (void) XR←ImportProcS(var←c89376, 403179010); (void) XR←ImportProcS(var←c89376, 67899394); (void) XR←ImportProcS(var←c89376, 524546); (void) XR←ImportProcS(var←c89376, 67108864); (void) XR←ImportProcS(var←c89376, 1049091); (void) XR←ImportProcS(var←c89376, 67896066); var←c89376 = (word) XR←ImportInterface((word) "GGCoreOps", (word) XR←GetTypeIndexS((word) (&string65)), 37); (* (( (ptr) gf←c01098)+275)/* var←c83424 */ ) = var←c89376; (void) XR←ImportProcS(var←c89376, 67641602); (void) XR←ImportProcS(var←c89376, 794627); (void) XR←ImportProcS(var←c89376, 67641090); (void) XR←ImportProcS(var←c89376, 67379713); var←c89376 = (word) XR←ImportInterface((word) "GGMUserProfile", (word) XR←GetTypeIndexS((word) (&string66)), 3); (* (( (ptr) gf←c01098)+281)/* var←c85344 */ ) = var←c89376; (void) XR←ImportProcS(var←c89376, 67109120); var←c89376 = (word) XR←ImportInterface((word) "GGParseIn", (word) XR←GetTypeIndexS((word) (&string67)), 26); (* (( (ptr) gf←c01098)+285)/* var←c87168 */ ) = var←c89376; (void) XR←ImportProcS(var←c89376, 67373313); (void) XR←ImportProcS(var←c89376, 525826); (void) XR←ImportProcS(var←c89376, 67375873); (void) XR←ImportProcS(var←c89376, 67376129); (void) XR←ImportProcS(var←c89376, 67636226); (void) XR←ImportProcS(var←c89376, 67376897); (void) XR←ImportProcS(var←c89376, 525570); (void) XR←ImportProcS(var←c89376, 67375105); var←c89376 = (word) XR←ImportInterface((word) "GGParseOut", (word) XR←GetTypeIndexS((word) (&string68)), 15); (* (( (ptr) gf←c01098)+283)/* var←c86976 */ ) = var←c89376; (void) XR←ImportProcS(var←c89376, 526594); (void) XR←ImportProcS(var←c89376, 526850); (void) XR←ImportProcS(var←c89376, 527106); (void) XR←ImportProcS(var←c89376, 524802); (void) XR←ImportProcS(var←c89376, 525826); var←c89376 = (word) XR←ImportInterface((word) "GGProps", (word) XR←GetTypeIndexS((word) (&string69)), 11); (* (( (ptr) gf←c01098)+277)/* var←c83488 */ ) = var←c89376; (void) XR←ImportProcS(var←c89376, 1050116); var←c89376 = (word) XR←ImportInterface((word) "GGSegment", (word) XR←GetTypeIndexS((word) (&string70)), 47); (* (( (ptr) gf←c01098)+269)/* var←c82624 */ ) = var←c89376; (void) XR←ImportProcS(var←c89376, 527362); (void) XR←ImportProcS(var←c89376, 67374337); (void) XR←ImportProcS(var←c89376, 68944900); var←c89376 = (word) XR←ImportInterface((word) "GGShapes", (word) XR←GetTypeIndexS((word) (&string71)), 20); (* (( (ptr) gf←c01098)+279)/* var←c84512 */ ) = var←c89376; (void) XR←ImportProcS(var←c89376, 1314820); (void) XR←ImportProcS(var←c89376, 1052419); (void) XR←ImportProcS(var←c89376, 1315076); var←c89376 = (word) XR←ImportInterface((word) &string72, (word) XR←GetTypeIndexS((word) (&string73)), 128); (* (( (ptr) gf←c01098)+267)/* var←c82368 */ ) = var←c89376; (void) XR←ImportProcS(var←c89376, 278529); (void) XR←ImportProcS(var←c89376, 67634178); (void) XR←ImportProcS(var←c89376, 67371777); (void) XR←ImportProcS(var←c89376, 134511105); (void) XR←ImportProcS(var←c89376, 1341701); (void) XR←ImportProcS(var←c89376, 134771714); (void) XR←ImportProcS(var←c89376, 1078020); (void) XR←ImportProcS(var←c89376, 134769666); (void) XR←ImportProcS(var←c89376, 470837251); (void) XR←ImportProcS(var←c89376, 336094210); (void) XR←ImportProcS(var←c89376, 67395585); (void) XR←ImportProcS(var←c89376, 810499); (void) XR←ImportProcS(var←c89376, 279297); (void) XR←ImportProcS(var←c89376, 68189956); var←c89376 = (word) XR←ImportInterface((word) "GGSliceOps", (word) XR←GetTypeIndexS((word) (&string74)), 73); (* (( (ptr) gf←c01098)+276)/* var←c83456 */ ) = var←c89376; (void) XR←ImportProcS(var←c89376, 1315333); (void) XR←ImportProcS(var←c89376, 67634690); (void) XR←ImportProcS(var←c89376, 67377153); (void) XR←ImportProcS(var←c89376, 201860354); (void) XR←ImportProcS(var←c89376, 67379201); (void) XR←ImportProcS(var←c89376, 336078338); (void) XR←ImportProcS(var←c89376, 67379713); (void) XR←ImportProcS(var←c89376, 67633922); (void) XR←ImportProcS(var←c89376, 67901699); (void) XR←ImportProcS(var←c89376, 67634434); (void) XR←ImportProcS(var←c89376, 1325317); var←c89376 = (word) XR←ImportInterface((word) "GGUtility", (word) XR←GetTypeIndexS((word) (&string75)), 42); (* (( (ptr) gf←c01098)+287)/* var←c89152 */ ) = var←c89376; (void) XR←ImportProcS(var←c89376, 67641346); var←c89376 = (word) XR←ImportInterface((word) "Imager", (word) XR←GetTypeIndexS((word) (&string76)), 84); (* (( (ptr) gf←c01098)+270)/* var←c82656 */ ) = var←c89376; (void) XR←ImportProcS(var←c89376, 1328387); (void) XR←ImportProcS(var←c89376, 801283); (void) XR←ImportProcS(var←c89376, 803587); (void) XR←ImportProcS(var←c89376, 1591046); (void) XR←ImportProcS(var←c89376, 541186); (void) XR←ImportProcS(var←c89376, 540930); (void) XR←ImportProcS(var←c89376, 540674); (void) XR←ImportProcS(var←c89376, 536578); (void) XR←ImportProcS(var←c89376, 1331972); (void) XR←ImportProcS(var←c89376, 526850); (void) XR←ImportProcS(var←c89376, 526338); var←c89376 = (word) XR←ImportInterface((word) "ImagerPath", (word) XR←GetTypeIndexS((word) (&string77)), 18); (* (( (ptr) gf←c01098)+278)/* var←c83616 */ ) = var←c89376; (void) XR←ImportProcS(var←c89376, 2097672); var←c89376 = (word) XR←ImportInterface((word) "ImagerTransformation", (word) XR←GetTypeIndexS((word) (&string78)), 55); (* (( (ptr) gf←c01098)+272)/* var←c82880 */ ) = var←c89376; (void) XR←ImportProcS(var←c89376, 402927105); (void) XR←ImportProcS(var←c89376, 135013634); (void) XR←ImportProcS(var←c89376, 67908099); (void) XR←ImportProcS(var←c89376, 67908355); (void) XR←ImportProcS(var←c89376, 67635458); (void) XR←ImportProcS(var←c89376, 67371521); (void) XR←ImportProcS(var←c89376, 135013122); (void) XR←ImportProcS(var←c89376, 67383041); (void) XR←ImportProcS(var←c89376, 134493185); (void) XR←ImportProcS(var←c89376, 67634689); (void) XR←ImportProcS(var←c89376, 67635970); var←c89376 = (word) XR←ImportInterface((word) "IO", (word) XR←GetTypeIndexS((word) (&string79)), 103); (* (( (ptr) gf←c01098)+284)/* var←c87008 */ ) = var←c89376; (void) XR←ImportProcS(var←c89376, 2111493); (void) XR←ImportProcS(var←c89376, 528642); (void) XR←ImportProcS(var←c89376, 1063171); (void) XR←ImportProcS(var←c89376, 1071364); var←c89376 = (word) XR←ImportInterface((word) "Lines2d", (word) XR←GetTypeIndexS((word) (&string80)), 50); (* (( (ptr) gf←c01098)+286)/* var←c88576 */ ) = var←c89376; (void) XR←ImportProcS(var←c89376, 67635970); var←c89376 = (word) XR←ImportInterface((word) "RealFns", (word) XR←GetTypeIndexS((word) (&string81)), 36); (* (( (ptr) gf←c01098)+274)/* var←c83168 */ ) = var←c89376; (void) XR←ImportProcS(var←c89376, 67372289); var←c89376 = (word) XR←ImportInterface((word) "Rope", (word) XR←GetTypeIndexS((word) (&string82)), 43); (* (( (ptr) gf←c01098)+282)/* var←c86944 */ ) = var←c89376; (void) XR←ImportProcS(var←c89376, 67633666); var←c89376 = (word) XR←ImportInterface((word) "Vectors2d", (word) XR←GetTypeIndexS((word) (&string83)), 21); (* (( (ptr) gf←c01098)+273)/* var←c82944 */ ) = var←c89376; (void) XR←ImportProcS(var←c89376, 135006210); (void) XR←ImportProcS(var←c89376, 135268098); (void) XR←ImportProcS(var←c89376, 135267842); (void) XR←ImportProcS(var←c89376, 67636737); (void) XR←ImportProcS(var←c89376, 68161794); (void) XR←ImportProcS(var←c89376, 68161282); var←c89376 = (word) XR←ExportInterface((word) &string72, (word) XR←GetTypeIndexS((word) (&string73)), 128); (* (( (ptr) gf←c01098)+288)/* var←c89408 */ ) = var←c89376; (void) XR←ExportProcS(var←c89376, (word) (( (bPt) gf←c01098)+992)/* var←c82048 */ , 67120896, (word) "BuildCircleSliceClass") ; (void) XR←ExportProcS(var←c89376, (word) (( (bPt) gf←c01098)+984)/* var←c82016 */ , 68169730, (word) "MakeCircleSlice"); (void) XR←ExportProcS(var←c89376, (word) (( (bPt) gf←c01098)+976)/* var←c81984 */ , 335819009, (word) "CircleGetParams"); (void) XR←ExportProcS(var←c89376, (word) (( (bPt) gf←c01098)+416)/* var←c79744 */ , 67650562, (word) "NoOpBoundBox"); (void) XR←ExportProcS(var←c89376, (word) (( (bPt) gf←c01098)+408)/* var←c79712 */ , 68175108, (word) "NoOpTransformedBoundBox") ; (void) XR←ExportProcS(var←c89376, (word) (( (bPt) gf←c01098)+400)/* var←c79680 */ , 67651074, (word) "NoOpTightBox"); (void) XR←ExportProcS(var←c89376, (word) (( (bPt) gf←c01098)+392)/* var←c79648 */ , 67651330, (word) "NoOpCopy"); (void) XR←ExportProcS(var←c89376, (word) (( (bPt) gf←c01098)+376)/* var←c79584 */ , 2377737, (word) "NoOpBuildPath"); (void) XR←ExportProcS(var←c89376, (word) (( (bPt) gf←c01098)+368)/* var←c79552 */ , 2115848, (word) "NoOpDrawBorder"); (void) XR←ExportProcS(var←c89376, (word) (( (bPt) gf←c01098)+360)/* var←c79520 */ , 1329669, (word) "NoOpDrawParts"); (void) XR←ExportProcS(var←c89376, (word) (( (bPt) gf←c01098)+352)/* var←c79488 */ , 1592070, (word) "NoOpDrawTransform"); (void) XR←ExportProcS(var←c89376, (word) (( (bPt) gf←c01098)+344)/* var←c79456 */ , 2378761, (word) "NoOpDrawSelectionFeedback") ; (void) XR←ExportProcS(var←c89376, (word) (( (bPt) gf←c01098)+336)/* var←c79424 */ , 1854727, (word) "NoOpDrawAttractorFeedback") ; (void) XR←ExportProcS(var←c89376, (word) (( (bPt) gf←c01098)+328)/* var←c79392 */ , 68701702, (word) "NoOpAttractorFeedbackBoundBox") ; (void) XR←ExportProcS(var←c89376, (word) (( (bPt) gf←c01098)+320)/* var←c79360 */ , 806659, (word) "NoOpSaveSelections"); (void) XR←ExportProcS(var←c89376, (word) (( (bPt) gf←c01098)+312)/* var←c79328 */ , 67653634, (word) "NoOpRemakeSelections") ; (void) XR←ExportProcS(var←c89376, (word) (( (bPt) gf←c01098)+288)/* var←c79232 */ , 1331461, (word) "NoOpTransform"); (void) XR←ExportProcS(var←c89376, (word) (( (bPt) gf←c01098)+280)/* var←c79200 */ , 67392001, (word) "NoOpDescribe"); (void) XR←ExportProcS(var←c89376, (word) (( (bPt) gf←c01098)+272)/* var←c79168 */ , 67654402, (word) "NoOpDescribeHit"); (void) XR←ExportProcS(var←c89376, (word) (( (bPt) gf←c01098)+264)/* var←c79136 */ , 545794, (word) "NoOpFileout"); (void) XR←ExportProcS(var←c89376, (word) (( (bPt) gf←c01098)+256)/* var←c79104 */ , 68179204, (word) "NoOpFilein"); (void) XR←ExportProcS(var←c89376, (word) (( (bPt) gf←c01098)+304)/* var←c79296 */ , 68189444, (word) "NoOpSetOrientation") ; (void) XR←ExportProcS(var←c89376, (word) (( (bPt) gf←c01098)+296)/* var←c79264 */ , 134774274, (word) "NoOpGetOrientation") ; (void) XR←ExportProcS(var←c89376, (word) (( (bPt) gf←c01098)+248)/* var←c79072 */ , 68189956, (word) "GenericTransformedBoundBox") ; } static void GGSliceImplC←P0(formal←c0130, formal←c0129) word formal←c0130; word formal←c0129; { register ptr gf←c89440 = (ptr) &globalframe; /* GGSliceImplC: */ SOURCE(383, 61415) XR←FillWords(&(* (W5Pt) ((( (ptr) gf←c89440)+256)/* var←c82208 */ )), 5, 1); SOURCE(2626, 24) (* (( (ptr) gf←c89440)+4)/* Problem←v5072 */ ) = (* (ptr) (* (( (ptr) (* (( (ptr) gf←c89440)+266)/* var←c82304 */ ))+28) ) ); SOURCE(33154, 24) (* (( (ptr) gf←c89440)+5)/* circleLimit←v6164 */ ) = (* (ptr) &fc84 ); SOURCE(61792, 6) (void) Init←P5700(); } static word BuildCircleSliceClass←P60() { register ptr gf←c89472 = (ptr) &globalframe; word class←v9188; /* BuildCircleSliceClass: */ SOURCE(4352, 2369) SOURCE(4352, 2369) class←v9188 = 0; SOURCE(4436, 2285) { word var←c82336; var←c82336 = XR←NewObject(252, (* (( (ptr) gf←c89472)+8) )); (* (ptr) var←c82336 ) = (* (( (ptr) gf←c89472)+56) ); (* (( (ptr) var←c82336)+1) ) = (word) (( (bPt) gf←c89472)+960)/* var←c81920 */ ; (* (( (ptr) var←c82336)+2) ) = (* (( (ptr) (* (( (ptr) gf←c89472)+267)/* var←c82368 */ ))+131) ); (* (( (ptr) var←c82336)+3) ) = (word) (( (bPt) gf←c89472)+952)/* var←c81888 */ ; (* (( (ptr) var←c82336)+4) ) = (word) (( (bPt) gf←c89472)+936)/* var←c81824 */ ; (* (( (ptr) var←c82336)+5) ) = (* (( (ptr) (* (( (ptr) gf←c89472)+267)/* var←c82368 */ ))+71) ); (* (( (ptr) var←c82336)+6) ) = (word) (( (bPt) gf←c89472)+928)/* var←c81792 */ ; (* (( (ptr) var←c82336)+7) ) = (word) (( (bPt) gf←c89472)+920)/* var←c81760 */ ; (* (( (ptr) var←c82336)+8) ) = (word) (( (bPt) gf←c89472)+912)/* var←c81728 */ ; (* (( (ptr) var←c82336)+9) ) = (word) (( (bPt) gf←c89472)+904)/* var←c81696 */ ; (* (( (ptr) var←c82336)+10) ) = (word) (( (bPt) gf←c89472)+896)/* var←c81664 */ ; (* (( (ptr) var←c82336)+11) ) = (word) (( (bPt) gf←c89472)+888)/* var←c81632 */ ; (* (( (ptr) var←c82336)+12) ) = (word) (( (bPt) gf←c89472)+880)/* var←c81600 */ ; (* (( (ptr) var←c82336)+13) ) = XR←CheckProc(0); (* (( (ptr) var←c82336)+14) ) = (word) (( (bPt) gf←c89472)+784)/* var←c81216 */ ; (* (( (ptr) var←c82336)+15) ) = (word) (( (bPt) gf←c89472)+776)/* var←c81184 */ ; (* (( (ptr) var←c82336)+16) ) = (word) (( (bPt) gf←c89472)+768)/* var←c81152 */ ; (* (( (ptr) var←c82336)+17) ) = (word) (( (bPt) gf←c89472)+752)/* var←c81088 */ ; (* (( (ptr) var←c82336)+18) ) = (word) (( (bPt) gf←c89472)+760)/* var←c81120 */ ; (* (( (ptr) var←c82336)+19) ) = (word) (( (bPt) gf←c89472)+744)/* var←c81056 */ ; (* (( (ptr) var←c82336)+20) ) = (word) (( (bPt) gf←c89472)+736)/* var←c81024 */ ; (* (( (ptr) var←c82336)+21) ) = (word) (( (bPt) gf←c89472)+728)/* var←c80992 */ ; (* (( (ptr) var←c82336)+22) ) = (word) (( (bPt) gf←c89472)+720)/* var←c80960 */ ; (* (( (ptr) var←c82336)+23) ) = (word) (( (bPt) gf←c89472)+704)/* var←c80896 */ ; (* (( (ptr) var←c82336)+24) ) = (word) (( (bPt) gf←c89472)+696)/* var←c80864 */ ; (* (( (ptr) var←c82336)+25) ) = (word) (( (bPt) gf←c89472)+688)/* var←c80832 */ ; (* (( (ptr) var←c82336)+26) ) = (word) (( (bPt) gf←c89472)+680)/* var←c80800 */ ; (* (( (ptr) var←c82336)+27) ) = (word) (( (bPt) gf←c89472)+672)/* var←c80768 */ ; (* (( (ptr) var←c82336)+28) ) = (word) (( (bPt) gf←c89472)+664)/* var←c80736 */ ; (* (( (ptr) var←c82336)+29) ) = XR←CheckProc(* (( (ptr) (* (( (ptr) gf←c89472)+267)/* var←c82368 */ ))+98) ); (* (( (ptr) var←c82336)+30) ) = (word) (( (bPt) gf←c89472)+656)/* var←c80704 */ ; (* (( (ptr) var←c82336)+31) ) = (word) (( (bPt) gf←c89472)+648)/* var←c80672 */ ; (* (( (ptr) var←c82336)+32) ) = XR←CheckProc(* (( (ptr) (* (( (ptr) gf←c89472)+267)/* var←c82368 */ ))+100) ); (* (( (ptr) var←c82336)+33) ) = (word) (( (bPt) gf←c89472)+640)/* var←c80640 */ ; (* (( (ptr) var←c82336)+34) ) = (word) (( (bPt) gf←c89472)+632)/* var←c80608 */ ; (* (( (ptr) var←c82336)+35) ) = (word) (( (bPt) gf←c89472)+624)/* var←c80576 */ ; (* (( (ptr) var←c82336)+36) ) = XR←CheckProc(* (( (ptr) (* (( (ptr) gf←c89472)+267)/* var←c82368 */ ))+104) ); (* (( (ptr) var←c82336)+37) ) = (word) (( (bPt) gf←c89472)+608)/* var←c80512 */ ; (* (( (ptr) var←c82336)+38) ) = (word) (( (bPt) gf←c89472)+600)/* var←c80480 */ ; (* (( (ptr) var←c82336)+39) ) = (word) (( (bPt) gf←c89472)+592)/* var←c80448 */ ; (* (( (ptr) var←c82336)+40) ) = XR←CheckProc(* (( (ptr) (* (( (ptr) gf←c89472)+267)/* var←c82368 */ ))+108) ); (* (( (ptr) var←c82336)+41) ) = (word) (( (bPt) gf←c89472)+584)/* var←c80416 */ ; (* (( (ptr) var←c82336)+42) ) = (word) (( (bPt) gf←c89472)+576)/* var←c80384 */ ; (* (( (ptr) var←c82336)+43) ) = (word) (( (bPt) gf←c89472)+568)/* var←c80352 */ ; (* (( (ptr) var←c82336)+44) ) = XR←CheckProc(* (( (ptr) (* (( (ptr) gf←c89472)+267)/* var←c82368 */ ))+112) ); (* (( (ptr) var←c82336)+45) ) = (word) (( (bPt) gf←c89472)+560)/* var←c80320 */ ; (* (( (ptr) var←c82336)+46) ) = (word) (( (bPt) gf←c89472)+544)/* var←c80256 */ ; (* (( (ptr) var←c82336)+47) ) = (word) (( (bPt) gf←c89472)+536)/* var←c80224 */ ; (* (( (ptr) var←c82336)+48) ) = (word) (( (bPt) gf←c89472)+528)/* var←c80192 */ ; (* (( (ptr) var←c82336)+49) ) = (word) (( (bPt) gf←c89472)+520)/* var←c80160 */ ; (* (( (ptr) var←c82336)+50) ) = (word) (( (bPt) gf←c89472)+512)/* var←c80128 */ ; (* (( (ptr) var←c82336)+51) ) = XR←CheckProc(* (( (ptr) (* (( (ptr) gf←c89472)+267)/* var←c82368 */ ))+119) ); (* (( (ptr) var←c82336)+52) ) = XR←CheckProc(* (( (ptr) (* (( (ptr) gf←c89472)+267)/* var←c82368 */ ))+120) ); (* (( (ptr) var←c82336)+53) ) = (word) (( (bPt) gf←c89472)+504)/* var←c80096 */ ; (* (( (ptr) var←c82336)+54) ) = (word) (( (bPt) gf←c89472)+496)/* var←c80064 */ ; (* (( (ptr) var←c82336)+55) ) = (word) (( (bPt) gf←c89472)+488)/* var←c80032 */ ; (* (( (ptr) var←c82336)+56) ) = (word) (( (bPt) gf←c89472)+480)/* var←c80000 */ ; (* (( (ptr) var←c82336)+57) ) = XR←CheckProc(* (( (ptr) (* (( (ptr) gf←c89472)+267)/* var←c82368 */ ))+125) ); (* (( (ptr) var←c82336)+58) ) = XR←CheckProc(* (( (ptr) (* (( (ptr) gf←c89472)+267)/* var←c82368 */ ))+126) ); (* (( (ptr) var←c82336)+59) ) = (word) (( (bPt) gf←c89472)+472)/* var←c79968 */ ; (* (( (ptr) var←c82336)+60) ) = (word) (( (bPt) gf←c89472)+464)/* var←c79936 */ ; (* (( (ptr) var←c82336)+61) ) = (word) (( (bPt) gf←c89472)+456)/* var←c79904 */ ; (* (( (ptr) var←c82336)+62) ) = (word) (( (bPt) gf←c89472)+448)/* var←c79872 */ ; class←v9188 = var←c82336; }; SOURCE(4352, 2369) return(class←v9188); } static word MakeCircleSlice←P120(origin←v9248, outerPoint←v9276) W2 origin←v9248; W2 outerPoint←v9276; { register ptr gf←c89504 = (ptr) &globalframe; word sliceD←v9320; word circleData←v20536; word circleParts←v20564; word slice←v20592 = 0; /* MakeCircleSlice: */ SOURCE(6727, 1538) SOURCE(6727, 1538) sliceD←v9320 = 0; SOURCE(6829, 43) circleData←v20536 = XR←NewObject(136, (* (( (ptr) gf←c89504)+12) )); (* (( (ptr) circleData←v20536)+12) ) = 1; SOURCE(6874, 69) circleParts←v20564 = XR←NewObject(24, (* (( (ptr) gf←c89504)+13) )); SOURCE(6959, 66) { W2 var←c82464; var←c82464.f0 = (* (ptr) &fc85 ); var←c82464.f1 = (* (ptr) &fc85 ); { word pd86; pd86 = (* (( (ptr) (* (( (ptr) gf←c89504)+268)/* var←c82496 */ ))+7) ); (* (ptr) circleData←v20536 ) = (word) ( *( (fPt) ((* (ptr) pd86 ))))(var←c82464, (* (ptr) &fc87 ), pd86); }; }; SOURCE(7027, 34) (* (W2Pt) (( (ptr) circleData←v20536)+9) ) = outerPoint←v9276; SOURCE(7063, 77) { W2 var←c82528; W2 var←c82560; W2 var←c82592; var←c82528.f0 = (* (ptr) &fc88 ); var←c82528.f1 = (* (ptr) &fc85 ); var←c82560.f0 = (* (ptr) &fc87 ); var←c82560.f1 = (* (ptr) &fc87 ); var←c82592.f0 = (* (ptr) &fc88 ); var←c82592.f1 = (* (ptr) &fc85 ); { word pd89; pd89 = (* (( (ptr) (* (( (ptr) gf←c89504)+269)/* var←c82624 */ ))+8) ); (* (( (ptr) circleData←v20536)+33) ) = (word) ( *( (fPt) ((* (ptr) pd89 ))))(var←c82528, var←c82560, var←c82592, 0, pd89) ; }; }; SOURCE(7142, 26) (* (W2Pt) (( (ptr) (* (( (ptr) circleData←v20536)+33) ))+9) ) = origin←v9248; SOURCE(7170, 30) (* (W2Pt) (( (ptr) (* (( (ptr) circleData←v20536)+33) ))+11) ) = outerPoint←v9276; SOURCE(7202, 32) (* (( (ptr) (* (( (ptr) circleData←v20536)+33) ))+2) ) = (* (ptr) &fc90 ); SOURCE(7236, 35) (* (( (ptr) (* (( (ptr) circleData←v20536)+33) ))+8) ) = (* (ptr) (* (( (ptr) (* (( (ptr) gf←c89504)+270)/* var←c82656 */ ))+54) ) ); SOURCE(7273, 228) { word var←c82688; word var←c82720; word var←c82784; word var←c82816; { word pd91; pd91 = (* (( (ptr) (* (( (ptr) gf←c89504)+267)/* var←c82368 */ ))+7) ); var←c82688 = (word) ( *( (fPt) ((* (ptr) pd91 ))))((* ((( (ptr) gf←c89504)+56)) ), pd91); }; { word pd92; pd92 = (* (( (ptr) (* (( (ptr) gf←c89504)+271)/* var←c82752 */ ))+6) ); var←c82720 = (word) ( *( (fPt) ((* (ptr) pd92 ))))(pd92); }; { word pd93; pd93 = (* (( (ptr) (* (( (ptr) gf←c89504)+271)/* var←c82752 */ ))+6) ); var←c82784 = (word) ( *( (fPt) ((* (ptr) pd93 ))))(pd93); }; var←c82816 = XR←NewObject(92, (* (( (ptr) gf←c89504)+14) )); (* (ptr) var←c82816 ) = var←c82688; (* (( (ptr) var←c82816)+1) ) = circleData←v20536; (* (W4Pt) (( (ptr) var←c82816)+3) ) = (* (W4Pt) (( (ptr) gf←c89504)+252)/* var←c82144 */ ); (* (( (ptr) var←c82816)+13) ) = var←c82720; (* (( (ptr) var←c82816)+15) ) = var←c82784; (* (( (ptr) var←c82816)+21) ) = (word) -1; slice←v20592 = var←c82816; }; SOURCE(7503, 62) { word pd94; pd94 = (* (( (ptr) (* (( (ptr) gf←c89504)+267)/* var←c82368 */ ))+8) ); (* (( (ptr) slice←v20592)+11) ) = (word) ( *( (fPt) ((* (ptr) pd94 ))))(slice←v20592, 0, pd94); }; SOURCE(7567, 80) if (XR←EqualWords(&origin←v9248, &outerPoint←v9276, 2)) { SOURCE(7593, 54) { word x95; word x97; *(float*)(( (ptr) circleData←v20536)+9) = ( x95 = origin←v9248.f0, *(float*)&x95 ) + ( x97 = (* (ptr) &fc96 ), *(float*)&x97 ); }; { word x98; word x99; *(float*)(( (ptr) circleData←v20536)+10) = ( x98 = origin←v9248.f1, *(float*)&x98 ) + ( x99 = (* (ptr) &fc96 ), *(float*)&x99 ); }; }; SOURCE(7678, 144) { word var←c82848; word var←c82912; { word pd100; pd100 = (* (( (ptr) (* (( (ptr) gf←c89504)+272)/* var←c82880 */ ))+10) ); var←c82848 = (word) ( *( (fPt) ((* (ptr) pd100 ))))(origin←v9248, pd100); }; { word pd101; pd101 = (* (( (ptr) (* (( (ptr) gf←c89504)+273)/* var←c82944 */ ))+19) ); var←c82912 = (word) ( *( (fPt) ((* (ptr) pd101 ))))(origin←v9248, (* (W2Pt) (( (ptr) circleData←v20536)+9) ), pd101); }; { word pd102; pd102 = (* (( (ptr) (* (( (ptr) gf←c89504)+272)/* var←c82880 */ ))+15) ); (* (( (ptr) circleData←v20536)+1) ) = (word) ( *( (fPt) ((* (ptr) pd102 ))))(var←c82848, var←c82912, pd102); }; }; SOURCE(7824, 76) { word pd103; pd103 = (* (( (ptr) (* (( (ptr) gf←c89504)+272)/* var←c82880 */ ))+56) ); (void) ( *( (fPt) ((* (ptr) pd103 ))))((word) (( (bPt) circleData←v20536)+8), (* (( (ptr) circleData←v20536)+1) ), pd103) ; }; SOURCE(7902, 70) { word pd104; pd104 = (* (( (ptr) (* (( (ptr) gf←c89504)+272)/* var←c82880 */ ))+51) ); (* (( (ptr) circleData←v20536)+6) ) = (word) ( *( (fPt) ((* (ptr) pd104 ))))((* ((( (ptr) circleData←v20536)+1)) ), pd104) ; }; SOURCE(7974, 81) { word pd105; pd105 = (* (( (ptr) (* (( (ptr) gf←c89504)+272)/* var←c82880 */ ))+56) ); (void) ( *( (fPt) ((* (ptr) pd105 ))))((word) (( (bPt) circleData←v20536)+28), (* (( (ptr) circleData←v20536)+6) ), pd105) ; }; SOURCE(8057, 29) (* (( (ptr) circleData←v20536)+4) ) = 1; SOURCE(8088, 119) { word var←c82976; { word pd106; pd106 = (* (( (ptr) (* (( (ptr) gf←c89504)+273)/* var←c82944 */ ))+19) ); var←c82976 = (word) ( *( (fPt) ((* (ptr) pd106 ))))(origin←v9248, (* (W2Pt) (( (ptr) circleData←v20536)+9) ), pd106); }; { word pd107; pd107 = (* (( (ptr) (* (( (ptr) gf←c89504)+268)/* var←c82496 */ ))+7) ); (* (( (ptr) circleData←v20536)+5) ) = (word) ( *( (fPt) ((* (ptr) pd107 ))))(origin←v9248, var←c82976, pd107); }; }; SOURCE(8209, 56) { word pd108; pd108 = (* (( (ptr) (* (( (ptr) gf←c89504)+267)/* var←c82368 */ ))+8) ); sliceD←v9320 = (word) ( *( (fPt) ((* (ptr) pd108 ))))(slice←v20592, circleParts←v20564, pd108); }; SOURCE(6727, 1538) return(sliceD←v9320); } static void CircleGetParams←P180(formal←c0157, slice←v9380) word formal←c0157; word slice←v9380; { register ptr gf←c89536 = (ptr) &globalframe; W2 origin←v9424; W2 outerPoint←v9452; word transform←v9480; word data←v20636; /* CircleGetParams: */ SOURCE(8271, 231) SOURCE(8271, 231) transform←v9480 = 0; SOURCE(8389, 37) data←v20636 = XR←Narrow((* (( (ptr) slice←v9380)+1) ), (* (( (ptr) gf←c89536)+12) )); SOURCE(8428, 20) origin←v9424 = (* (W2Pt) (( (ptr) (* (( (ptr) data←v20636)+33) ))+9) ); SOURCE(8450, 24) outerPoint←v9452 = (* (W2Pt) (( (ptr) (* (( (ptr) data←v20636)+33) ))+11) ); SOURCE(8476, 26) transform←v9480 = (* (( (ptr) data←v20636)+1) ); /* removed tail goto */ (* (W2Pt) formal←c0157 ) = origin←v9424; (* (W2Pt) (( (ptr) formal←c0157)+2) ) = outerPoint←v9452; (* (( (ptr) formal←c0157)+4) ) = transform←v9480; return; } static void CircleGetBoundBoxAux←P240(formal←c0165, slice←v9540, parts←v9568) word formal←c0165; word slice←v9540; word parts←v9568; { W6 var←c89568; register ptr gf←c89600 = (ptr) &globalframe; word tightBox←v9612; word boundBox←v9640; /* declaration of var←c83008 skipped */ /* CircleGetBoundBoxAux: */ SOURCE(8508, 1359) { word tmpAddr109; tmpAddr109 = (word) (( (ptr) &var←c89568)+4)/* var←c83008 */ ; (* (ptr) tmpAddr109 ) = ( ((word) (fPt) CircleFindBoundBox←P5760) ); (* (( (ptr) tmpAddr109) + 1) ) = 1; }; SOURCE(8508, 1359) tightBox←v9612 = 0; SOURCE(8508, 1359) boundBox←v9640 = 0; SOURCE(9547, 55) { W2 var←c83040; (void) CircleFindBoundBox←P5760((word) &var←c83040, slice←v9540, parts←v9568, (word) (( (bPt) &var←c89568)+16)/* var←c83008 */ ) ; boundBox←v9640 = var←c83040.f1; tightBox←v9612 = var←c83040.f0; }; SOURCE(9631, 236) if ((parts←v9568 == 0)) { SOURCE(9698, 34) { word pd110; pd110 = (* (( (ptr) (* (( (ptr) gf←c89600)+267)/* var←c82368 */ ))+68) ); (void) ( *( (fPt) ((* (ptr) pd110 ))))((* ((( (ptr) slice←v9540)+2)) ), pd110); }; SOURCE(9764, 25) (* (( (ptr) slice←v9540)+15) ) = boundBox←v9640; SOURCE(9791, 25) (* (( (ptr) slice←v9540)+13) ) = tightBox←v9612; SOURCE(9818, 21) (* (( (ptr) slice←v9540)+16) ) = 1; SOURCE(9841, 26) (* (( (ptr) slice←v9540)+14) ) = 1; }; /* removed tail goto */ (* (ptr) formal←c0165 ) = tightBox←v9612; (* (( (ptr) formal←c0165)+1) ) = boundBox←v9640; return; } static void CircleFindBoundBox←P5760(formal←c0186, slice←v20756, parts←v20784, formal←c89664) word formal←c0186; word slice←v20756; word parts←v20784; word formal←c89664; { register ptr gf←c89632 = (ptr) &globalframe; word tightBox←v20828; word boundBox←v20856; word strokeWidth←v20884; word pad←v20912; word circleData←v20940; W2 origin←v20996; W2 minor←v21024; W2 major←v21052; word minorDS←v21080; word majorDS←v21108; word tMax←v21136; word radius←v21164; formal←c89664 = (formal←c89664 - 16); /* CircleFindBoundBox: */ SOURCE(8612, 929) SOURCE(8612, 929) tightBox←v20828 = 0; SOURCE(8612, 929) boundBox←v20856 = 0; SOURCE(8714, 66) strokeWidth←v20884 = (* (( (ptr) (* (( (ptr) XR←Narrow((* (( (ptr) slice←v20756)+1) ), (* (( (ptr) gf←c89632)+12) )))+33) ))+2) ); SOURCE(8782, 23) pad←v20912 = strokeWidth←v20884; SOURCE(8807, 43) circleData←v20940 = XR←Narrow((* (( (ptr) slice←v20756)+1) ), (* (( (ptr) gf←c89632)+12) )); SOURCE(8876, 80) { W2 var←c0175; { W2 var←c83072; var←c83072.f0 = (* (ptr) &fc85 ); var←c83072.f1 = (* (ptr) &fc85 ); { word pd111; pd111 = (* (( (ptr) (* (( (ptr) gf←c89632)+272)/* var←c82880 */ ))+39) ); (void) ( *( (fPt) ((* (ptr) pd111 ))))((word) &var←c0175, (* (( (ptr) circleData←v20940)+1) ), var←c83072, pd111); }; }; origin←v20996 = var←c0175; }; SOURCE(8958, 79) { W2 var←c0178; { W2 var←c83104; var←c83104.f0 = (* (ptr) &fc85 ); var←c83104.f1 = (* (ptr) &fc87 ); { word pd112; pd112 = (* (( (ptr) (* (( (ptr) gf←c89632)+272)/* var←c82880 */ ))+39) ); (void) ( *( (fPt) ((* (ptr) pd112 ))))((word) &var←c0178, (* (( (ptr) circleData←v20940)+1) ), var←c83104, pd112); }; }; minor←v21024 = var←c0178; }; SOURCE(9045, 79) { W2 var←c0181; { W2 var←c83136; var←c83136.f0 = (* (ptr) &fc87 ); var←c83136.f1 = (* (ptr) &fc85 ); { word pd113; pd113 = (* (( (ptr) (* (( (ptr) gf←c89632)+272)/* var←c82880 */ ))+39) ); (void) ( *( (fPt) ((* (ptr) pd113 ))))((word) &var←c0181, (* (( (ptr) circleData←v20940)+1) ), var←c83136, pd113); }; }; major←v21052 = var←c0181; }; SOURCE(9136, 56) { word pd114; pd114 = (* (( (ptr) (* (( (ptr) gf←c89632)+273)/* var←c82944 */ ))+21) ); minorDS←v21080 = (word) ( *( (fPt) ((* (ptr) pd114 ))))(minor←v21024, origin←v20996, pd114); }; SOURCE(9194, 56) { word pd115; pd115 = (* (( (ptr) (* (( (ptr) gf←c89632)+273)/* var←c82944 */ ))+21) ); majorDS←v21108 = (word) ( *( (fPt) ((* (ptr) pd115 ))))(major←v21052, origin←v20996, pd115); }; SOURCE(9252, 34) { word x116; float tf117; float tf118; word x119; float tf120; tMax←v21136 = ( tf120 = FMAX(( x116 = minorDS←v21080, *(float*)&x116 ), ( x119 = majorDS←v21108, *(float*)&x119 ), tf117, tf118), *(word*)&tf120 ); }; SOURCE(9288, 33) { word pd121; pd121 = (* (( (ptr) (* (( (ptr) gf←c89632)+274)/* var←c83168 */ ))+9) ); radius←v21164 = (word) ( *( (fPt) ((* (ptr) pd121 ))))(tMax←v21136, pd121); }; SOURCE(9323, 104) { word pd122; word x123; word x124; float tf125; word x126; word x127; float tf128; word x129; word x130; float tf131; word x132; word x133; float tf134; pd122 = (* (( (ptr) (* (( (ptr) gf←c89632)+271)/* var←c82752 */ ))+5) ); tightBox←v20828 = (word) ( *( (fPt) ((* (ptr) pd122 ))))(( tf125 = ( x123 = origin←v20996.f0, *(float*)&x123 ) - ( x124 = radius←v21164, *(float*)&x124 ), *(word*)&tf125 ), ( tf128 = ( x126 = origin←v20996.f1, *(float*)&x126 ) - ( x127 = radius←v21164, *(float*)&x127 ), *(word*)&tf128 ), ( tf131 = ( x129 = origin←v20996.f0, *(float*)&x129 ) + ( x130 = radius←v21164, *(float*)&x130 ), *(word*)&tf131 ), ( tf134 = ( x132 = origin←v20996.f1, *(float*)&x132 ) + ( x133 = radius←v21164, *(float*)&x133 ), *(word*)&tf134 ), 0, 0, pd122); }; SOURCE(9429, 44) { word pd135; pd135 = (* (( (ptr) (* (( (ptr) gf←c89632)+271)/* var←c82752 */ ))+7) ); boundBox←v20856 = (word) ( *( (fPt) ((* (ptr) pd135 ))))(tightBox←v20828, pd135); }; SOURCE(9475, 41) { word pd136; pd136 = (* (( (ptr) (* (( (ptr) gf←c89632)+271)/* var←c82752 */ ))+17) ); (void) ( *( (fPt) ((* (ptr) pd136 ))))(boundBox←v20856, pad←v20912, pd136); }; SOURCE(9518, 23) (void) CircleSetScaling←P420(slice←v20756); /* removed tail goto */ (* (ptr) formal←c0186 ) = tightBox←v20828; (* (( (ptr) formal←c0186)+1) ) = boundBox←v20856; return; } static word CircleGetBoundBox←P300(slice←v9700, parts←v9728) word slice←v9700; word parts←v9728; { word box←v9772; /* CircleGetBoundBox: */ SOURCE(9876, 211) SOURCE(9876, 211) box←v9772 = 0; SOURCE(9962, 59) if ( ( (0 != (* (( (ptr) slice←v9700)+16) )) ? (parts←v9728 == 0) : 0 ) ) { SOURCE(9999, 22) return((* (( (ptr) slice←v9700)+15) )); }; SOURCE(10036, 51) { word var←c01210; W2 var←c0190; (void) CircleGetBoundBoxAux←P240((word) &var←c0190, slice←v9700, parts←v9728); var←c01210 = var←c0190.f1; return(var←c01210); }; } static word CircleGetTightBox←P360(slice←v9832, parts←v9860) word slice←v9832; word parts←v9860; { word box←v9904; /* CircleGetTightBox: */ SOURCE(10121, 211) SOURCE(10121, 211) box←v9904 = 0; SOURCE(10207, 59) if ( ( (0 != (* (( (ptr) slice←v9832)+16) )) ? (parts←v9860 == 0) : 0 ) ) { SOURCE(10244, 22) return((* (( (ptr) slice←v9832)+13) )); }; SOURCE(10281, 51) { word var←c01211; W2 var←c0194; (void) CircleGetBoundBoxAux←P240((word) &var←c0194, slice←v9832, parts←v9860); var←c01211 = var←c0194.f0; return(var←c01211); }; } static void CircleSetScaling←P420(slice←v9964) word slice←v9964; { register ptr gf←c89696 = (ptr) &globalframe; word circleData←v21236; W2 origin←v21264; W2 major←v21292; /* CircleSetScaling: */ SOURCE(10366, 569) SOURCE(10432, 43) circleData←v21236 = XR←Narrow((* (( (ptr) slice←v9964)+1) ), (* (( (ptr) gf←c89696)+12) )); SOURCE(10477, 80) { W2 var←c0199; { W2 var←c83264; var←c83264.f0 = (* (ptr) &fc85 ); var←c83264.f1 = (* (ptr) &fc85 ); { word pd137; pd137 = (* (( (ptr) (* (( (ptr) gf←c89696)+272)/* var←c82880 */ ))+39) ); (void) ( *( (fPt) ((* (ptr) pd137 ))))((word) &var←c0199, (* (( (ptr) circleData←v21236)+1) ), var←c83264, pd137); }; }; origin←v21264 = var←c0199; }; SOURCE(10559, 79) { W2 var←c0202; { W2 var←c83296; var←c83296.f0 = (* (ptr) &fc87 ); var←c83296.f1 = (* (ptr) &fc85 ); { word pd138; pd138 = (* (( (ptr) (* (( (ptr) gf←c89696)+272)/* var←c82880 */ ))+39) ); (void) ( *( (fPt) ((* (ptr) pd138 ))))((word) &var←c0202, (* (( (ptr) circleData←v21236)+1) ), var←c83296, pd138); }; }; major←v21292 = var←c0202; }; SOURCE(10640, 240) { float tf139; word x140; word x141; word x143; if ((FABS((( x140 = (* (( (ptr) circleData←v21236)+7) ), *(float*)&x140 ) - ( x141 = (* (( (ptr) circleData←v21236)+8) ), *(float*)&x141 )), tf139) < ( x143 = (* (ptr) &fc142 ), *(float*)&x143 ))) { SOURCE(10719, 91) { word pd144; pd144 = (* (( (ptr) (* (( (ptr) gf←c89696)+268)/* var←c82496 */ ))+6) ); (void) ( *( (fPt) ((* (ptr) pd144 ))))(origin←v21264, (* (( (ptr) circleData←v21236)+2) ), (* (( (ptr) circleData←v21236)+5) ), pd144); }; SOURCE(10812, 29) (* (( (ptr) circleData←v21236)+4) ) = 1; } else { SOURCE(10850, 30) (* (( (ptr) circleData←v21236)+4) ) = 0; }; }; SOURCE(10882, 26) (* (W2Pt) (( (ptr) (* (( (ptr) circleData←v21236)+33) ))+9) ) = origin←v21264; SOURCE(10910, 25) (* (W2Pt) (( (ptr) (* (( (ptr) circleData←v21236)+33) ))+11) ) = major←v21292; } static word CircleCopy←P480(slice←v10024, parts←v10052) word slice←v10024; word parts←v10052; { register ptr gf←c89728 = (ptr) &globalframe; word copy←v10096; word copySlice←v21336 = 0; word circleData←v21364; word newData←v21392 = 0; word copyD←v21420; /* CircleCopy: */ SOURCE(10941, 1092) SOURCE(10941, 1092) copy←v10096 = 0; SOURCE(11050, 43) circleData←v21364 = XR←Narrow((* (( (ptr) slice←v10024)+1) ), (* (( (ptr) gf←c89728)+12) )); SOURCE(11116, 64) { W2 var←c83328; W2 var←c83360; var←c83328.f0 = (* (ptr) &fc85 ); var←c83328.f1 = (* (ptr) &fc85 ); var←c83360.f0 = (* (ptr) &fc87 ); var←c83360.f1 = (* (ptr) &fc87 ); copyD←v21420 = (word) MakeCircleSlice←P120(var←c83328, var←c83360); }; SOURCE(11182, 23) copySlice←v21336 = (* (ptr) copyD←v21420 ); SOURCE(11207, 32) newData←v21392 = XR←Narrow((* (( (ptr) copySlice←v21336)+1) ), (* (( (ptr) gf←c89728)+12) )); SOURCE(11241, 67) { word pd145; pd145 = (* (( (ptr) (* (( (ptr) gf←c89728)+272)/* var←c82880 */ ))+6) ); (* (( (ptr) newData←v21392)+1) ) = (word) ( *( (fPt) ((* (ptr) pd145 ))))((* ((( (ptr) circleData←v21364)+1)) ), pd145); }; SOURCE(11310, 32) (* (W2Pt) (( (ptr) newData←v21392)+2) ) = (* (W2Pt) (( (ptr) circleData←v21364)+2) ); SOURCE(11344, 63) { word pd146; pd146 = (* (( (ptr) (* (( (ptr) gf←c89728)+272)/* var←c82880 */ ))+6) ); (* (( (ptr) newData←v21392)+6) ) = (word) ( *( (fPt) ((* (ptr) pd146 ))))((* ((( (ptr) circleData←v21364)+6)) ), pd146); }; SOURCE(11409, 46) (* (W2Pt) (( (ptr) newData←v21392)+7) ) = (* (W2Pt) (( (ptr) circleData←v21364)+7) ); SOURCE(11457, 44) (* (( (ptr) newData←v21392)+4) ) = (* (( (ptr) circleData←v21364)+4) ); SOURCE(11503, 52) { word pd147; pd147 = (* (( (ptr) (* (( (ptr) gf←c89728)+268)/* var←c82496 */ ))+4) ); (* (( (ptr) newData←v21392)+5) ) = (word) ( *( (fPt) ((* (ptr) pd147 ))))(pd147); }; SOURCE(11557, 77) { word pd148; pd148 = (* (( (ptr) (* (( (ptr) gf←c89728)+268)/* var←c82496 */ ))+5) ); (void) ( *( (fPt) ((* (ptr) pd148 ))))((* (( (ptr) circleData←v21364)+5) ), (* (( (ptr) newData←v21392)+5) ), pd148); }; SOURCE(11636, 51) { word pd149; pd149 = (* (( (ptr) (* (( (ptr) gf←c89728)+269)/* var←c82624 */ ))+17) ); (* (( (ptr) newData←v21392)+33) ) = (word) ( *( (fPt) ((* (ptr) pd149 ))))((* ((( (ptr) circleData←v21364)+33)) ), pd149) ; }; SOURCE(11689, 36) (* (( (ptr) newData←v21392)+12) ) = (* (( (ptr) circleData←v21364)+12) ); SOURCE(11727, 122) { register word index←v21464 = 0; if (( (int)index←v21464 > (int)4)) { goto lab←L100003; }; lab←L100006: ; SOURCE(11773, 76) (* (( (W4Pt) (( (ptr) newData←v21392)+13))+BCK(index←v21464, 5)) ) = (* (( (W4Pt) (( (ptr) circleData←v21364)+13))+BCK(index←v21464, 5) ) ); if (( (int)index←v21464 >= (int)4)) { goto lab←L100003; }; index←v21464 = (index←v21464 + 1); goto lab←L100006; lab←L100003: ; }; SOURCE(11860, 93) { word var←c83392; { word pd150; pd150 = (* (( (ptr) (* (( (ptr) gf←c89728)+275)/* var←c83424 */ ))+38) ); var←c83392 = (word) ( *( (fPt) ((* (ptr) pd150 ))))((* ((( (ptr) circleData←v21364)+11)) ), pd150); }; { word pd151; pd151 = (* (( (ptr) (* (( (ptr) gf←c89728)+276)/* var←c83456 */ ))+61) ); (void) ( *( (fPt) ((* (ptr) pd151 ))))(copySlice←v21336, 0, var←c83392, (* (( (ptr) gf←c89728)+54) ), 0, pd151); }; }; SOURCE(11955, 53) { word pd152; pd152 = (* (( (ptr) (* (( (ptr) gf←c89728)+277)/* var←c83488 */ ))+10) ); (void) ( *( (fPt) ((* (ptr) pd152 ))))(slice←v10024, copySlice←v21336, 0, 0, pd152); }; SOURCE(12010, 23) { word var←c83552; word var←c83584; var←c83552 = XR←NewObject(8, (* (( (ptr) gf←c89728)+17) )); var←c83584 = var←c83552; (* (ptr) var←c83584 ) = copySlice←v21336; return(var←c83552); }; } static void CircleRestore←P540(from←v10240, to←v10268) word from←v10240; word to←v10268; { register ptr gf←c89760 = (ptr) &globalframe; /* CircleRestore: */ SOURCE(12039, 1302) SOURCE(12088, 27) if ((to←v10268 == 0) || (from←v10240 == 0)) { SOURCE(12115, 5) (void) XR←RaiseUnnamedError(); }; SOURCE(12122, 28) if (((* (ptr) to←v10268 ) != (* (ptr) from←v10240 ))) { SOURCE(12150, 5) (void) XR←RaiseUnnamedError(); }; SOURCE(12157, 30) if (((* (ptr) (* (ptr) to←v10268 ) ) != (* (( (ptr) gf←c89760)+56) ))) { SOURCE(12187, 5) (void) XR←RaiseUnnamedError(); }; SOURCE(12194, 1149) { word fromData←v21508; word toData←v21536; SOURCE(12200, 40) fromData←v21508 = XR←Narrow((* (( (ptr) from←v10240)+1) ), (* (( (ptr) gf←c89760)+12) )); SOURCE(12242, 36) toData←v21536 = XR←Narrow((* (( (ptr) to←v10268)+1) ), (* (( (ptr) gf←c89760)+12) )); SOURCE(12281, 530) if ((0 != (* (ptr) (* (( (ptr) (* (( (ptr) gf←c89760)+267)/* var←c82368 */ ))+67) ) ))) { SOURCE(12311, 31) (* (ptr) toData←v21536 ) = (* (ptr) fromData←v21508 ); SOURCE(12344, 37) (* (( (ptr) toData←v21536)+1) ) = (* (( (ptr) fromData←v21508)+1) ); SOURCE(12383, 29) (* (W2Pt) (( (ptr) toData←v21536)+2) ) = (* (W2Pt) (( (ptr) fromData←v21508)+2) ); SOURCE(12414, 41) (* (( (ptr) toData←v21536)+4) ) = (* (( (ptr) fromData←v21508)+4) ); SOURCE(12457, 43) (* (( (ptr) toData←v21536)+5) ) = (* (( (ptr) fromData←v21508)+5) ); SOURCE(12502, 33) (* (( (ptr) toData←v21536)+6) ) = (* (( (ptr) fromData←v21508)+6) ); SOURCE(12537, 43) (* (W2Pt) (( (ptr) toData←v21536)+7) ) = (* (W2Pt) (( (ptr) fromData←v21508)+7) ); SOURCE(12582, 39) (* (W2Pt) (( (ptr) toData←v21536)+9) ) = (* (W2Pt) (( (ptr) fromData←v21508)+9) ); SOURCE(12623, 37) (* (( (ptr) toData←v21536)+11) ) = (* (( (ptr) fromData←v21508)+11) ); SOURCE(12662, 33) (* (( (ptr) toData←v21536)+12) ) = (* (( (ptr) fromData←v21508)+12) ); SOURCE(12697, 59) (* (W20Pt) (( (ptr) toData←v21536)+13) ) = (* (W20Pt) (( (ptr) fromData←v21508)+13) ); SOURCE(12758, 25) (* (( (ptr) toData←v21536)+33) ) = (* (( (ptr) fromData←v21508)+33) ); } else { SOURCE(12792, 19) (* (( (ptr) to←v10268)+1) ) = (* (( (ptr) from←v10240)+1) ); }; SOURCE(12814, 39) (* (W4Pt) (( (ptr) to←v10268)+3) ) = (* (W4Pt) (( (ptr) from←v10240)+3) ); SOURCE(12873, 28) (* (( (ptr) to←v10268)+7) ) = 0; SOURCE(12927, 25) (* (( (ptr) to←v10268)+8) ) = 0; SOURCE(12978, 28) (* (( (ptr) to←v10268)+9) ) = 0; SOURCE(13032, 27) (* (( (ptr) to←v10268)+10) ) = 0; SOURCE(13085, 29) (* (W6Pt) (* (( (ptr) to←v10268)+13) ) ) = (* (W6Pt) (* (( (ptr) from←v10240)+13) ) ); SOURCE(13116, 37) (* (( (ptr) to←v10268)+14) ) = (* (( (ptr) from←v10240)+14) ); SOURCE(13155, 29) (* (W6Pt) (* (( (ptr) to←v10268)+15) ) ) = (* (W6Pt) (* (( (ptr) from←v10240)+15) ) ); SOURCE(13186, 27) (* (( (ptr) to←v10268)+16) ) = (* (( (ptr) from←v10240)+16) ); SOURCE(13215, 29) (* (( (ptr) to←v10268)+17) ) = (* (( (ptr) from←v10240)+17) ); SOURCE(13246, 33) (* (( (ptr) to←v10268)+18) ) = (* (( (ptr) from←v10240)+18) ); SOURCE(13281, 27) (* (( (ptr) to←v10268)+19) ) = (* (( (ptr) from←v10240)+19) ); SOURCE(13310, 31) (* (( (ptr) to←v10268)+20) ) = (* (( (ptr) from←v10240)+20) ); }; } static void CircleBuildPath←P600(slice←v10328, transformParts←v10356, transform←v10384, moveTo←v10412, lineTo←v10440, curveTo←v10468, conicTo←v10496, arcTo←v10524, editConstraints←v10552) word slice←v10328; word transformParts←v10356; word transform←v10384; word moveTo←v10412; word lineTo←v10440; word curveTo←v10468; word conicTo←v10496; word arcTo←v10524; word editConstraints←v10552; { register ptr gf←c89792 = (ptr) &globalframe; word cpCount←v21580 = 0; word cpIndex←v21608 = (word) -1; W2 edgePoint←v21636; W2 pointInUnitSpace←v21664; word circleData←v21692; word circleTransformParts←v21720; word newTransform←v21748 = 0; word noRubberband←v21776; /* CircleBuildPath: */ SOURCE(13352, 1973) SOURCE(13664, 43) circleData←v21692 = XR←Narrow((* (( (ptr) slice←v10328)+1) ), (* (( (ptr) gf←c89792)+12) )); SOURCE(13709, 58) circleTransformParts←v21720 = XR←Narrow(transformParts←v10356, (* (( (ptr) gf←c89792)+13) )); SOURCE(13799, 145) noRubberband←v21776 = (unsigned) ( (((circleTransformParts←v21720 == 0) || (0 != (* (( (ptr) circleTransformParts←v21720)+5) ))) || (0 != (* (ptr) circleTransformParts←v21720 ))) ? 1 : (0 != (word) IsEmpty←P4320(circleTransformParts←v21720)) ) ; SOURCE(13975, 234) { word pd153; if ((transform←v10384 == 0)) { newTransform←v21748 = (* (( (ptr) circleData←v21692)+1) ); } else { if ((0 != (word) IsEmpty←P4320(circleTransformParts←v21720))) { newTransform←v21748 = (* (( (ptr) circleData←v21692)+1) ); } else { pd153 = (* (( (ptr) (* (( (ptr) gf←c89792)+272)/* var←c82880 */ ))+13) ); newTransform←v21748 = (word) ( *( (fPt) ((* (ptr) pd153 ))))((* (( (ptr) circleData←v21692)+1) ), transform←v10384, pd153) ; }; }; }; SOURCE(14211, 191) if ((0 != noRubberband←v21776)) { SOURCE(14234, 137) { word pd154; pd154 = (* (( (ptr) (* (( (ptr) gf←c89792)+278)/* var←c83616 */ ))+6) ); (void) ( *( (fPt) ((* (ptr) pd154 ))))( ( (0 != (* (( (ptr) circleData←v21692)+12) )) ? (word) (( (bPt) gf←c89792)+808)/* var←c81312 */ : (word) ( ( (bPt) gf←c89792)+800)/* var←c81280 */ ) , newTransform←v21748, moveTo←v10412, lineTo←v10440, curveTo←v10468, conicTo←v10496 , arcTo←v10524, 0, pd154); }; SOURCE(14396, 6) return; }; SOURCE(14407, 165) { register word index←v21820 = 1; lab←L100010: ; SOURCE(14487, 85) if ((0 != (* (( (ptr) circleTransformParts←v21720)+index←v21820) ))) { SOURCE(14534, 21) cpCount←v21580 = (cpCount←v21580 + 1); SOURCE(14557, 15) cpIndex←v21608 = index←v21820; }; if ((index←v21820 >= 4)) { goto lab←L100007; }; index←v21820 = (index←v21820 + 1); goto lab←L100010; lab←L100007: ; }; SOURCE(14586, 191) if (( (int)cpCount←v21580 > (int)1)) { SOURCE(14609, 137) { word pd155; pd155 = (* (( (ptr) (* (( (ptr) gf←c89792)+278)/* var←c83616 */ ))+6) ); (void) ( *( (fPt) ((* (ptr) pd155 ))))( ( (0 != (* (( (ptr) circleData←v21692)+12) )) ? (word) (( (bPt) gf←c89792)+808)/* var←c81312 */ : (word) ( ( (bPt) gf←c89792)+800)/* var←c81280 */ ) , newTransform←v21748, moveTo←v10412, lineTo←v10440, curveTo←v10468, conicTo←v10496 , arcTo←v10524, 0, pd155); }; SOURCE(14771, 6) return; }; SOURCE(14782, 164) { W2 var←c83648; { word var←c83680; var←c83680 = cpIndex←v21608; switch (var←c83680) { case 1: var←c83648.f0 = (* (ptr) &fc88 ); var←c83648.f1 = (* (ptr) &fc85 ); break; case 2: var←c83648.f0 = (* (ptr) &fc85 ); var←c83648.f1 = (* (ptr) &fc87 ); break; case 3: var←c83648.f0 = (* (ptr) &fc87 ); var←c83648.f1 = (* (ptr) &fc85 ); break; case 4: var←c83648.f0 = (* (ptr) &fc85 ); var←c83648.f1 = (* (ptr) &fc88 ); break; default: var←c83648 = (* (W2Pt) ( XR←RaiseUnnamedError(), &dummy156 ) ); break; }; }; { W2 var←c0244; { word pd157; pd157 = (* (( (ptr) (* (( (ptr) gf←c89792)+272)/* var←c82880 */ ))+39) ); (void) ( *( (fPt) ((* (ptr) pd157 ))))((word) &var←c0244, newTransform←v21748, var←c83648, pd157); }; edgePoint←v21636 = var←c0244; }; }; SOURCE(14948, 80) { word pd158; pd158 = (* (( (ptr) (* (( (ptr) gf←c89792)+272)/* var←c82880 */ ))+39) ); (void) ( *( (fPt) ((* (ptr) pd158 ))))((word) &pointInUnitSpace←v21664, (* (( (ptr) circleData←v21692)+6) ), edgePoint←v21636, pd158) ; }; SOURCE(15030, 124) { word var←c83840; { word pd159; word x160; float tf161; float tf162; word x163; float tf164; pd159 = (* (( (ptr) (* (( (ptr) gf←c89792)+273)/* var←c82944 */ ))+18) ); var←c83840 = ( tf164 = FMAX(( x160 = (word) ( *( (fPt) ((* (ptr) pd159 ))))(pointInUnitSpace←v21664, pd159), *(float*)&x160 ), ( x163 = (* (( (ptr) gf←c89792)+5)/* circleLimit←v6164 */ ), *(float*)&x163 ), tf161, tf162), *(word*)&tf164 ); }; { word pd165; pd165 = (* (( (ptr) (* (( (ptr) gf←c89792)+272)/* var←c82880 */ ))+15) ); newTransform←v21748 = (word) ( *( (fPt) ((* (ptr) pd165 ))))((* (( (ptr) circleData←v21692)+1) ), var←c83840, pd165); }; }; SOURCE(15188, 137) { word pd166; pd166 = (* (( (ptr) (* (( (ptr) gf←c89792)+278)/* var←c83616 */ ))+6) ); (void) ( *( (fPt) ((* (ptr) pd166 ))))( ( (0 != (* (( (ptr) circleData←v21692)+12) )) ? (word) (( (bPt) gf←c89792)+808)/* var←c81312 */ : (word) ( ( (bPt) gf←c89792)+800)/* var←c81280 */ ) , newTransform←v21748, moveTo←v10412, lineTo←v10440, curveTo←v10468, conicTo←v10496 , arcTo←v10524, 0, pd166); }; } static void CircleDrawBorder←P660(formal←c01238, formal←c01239, formal←c01240, formal←c01241, formal←c01242, camera←v10752, quick←v10780, editConstraints←v10808) word formal←c01238; word formal←c01239; word formal←c01240; word formal←c01241; word formal←c01242; word camera←v10752; word quick←v10780; word editConstraints←v10808; { W11 var←c89824; /* declaration of slice←v10612 skipped */ /* declaration of drawParts←v10640 skipped */ /* declaration of transformParts←v10668 skipped */ /* declaration of transform←v10696 skipped */ /* declaration of dc←v10724 skipped */ register ptr gf←c89856 = (ptr) &globalframe; /* declaration of var←c83872 skipped */ (* (( (ptr) &var←c89824)+4)/* slice←v10612 */ ) = formal←c01238; (* (( (ptr) &var←c89824)+5)/* drawParts←v10640 */ ) = formal←c01239; (* (( (ptr) &var←c89824)+6)/* transformParts←v10668 */ ) = formal←c01240; (* (( (ptr) &var←c89824)+7)/* transform←v10696 */ ) = formal←c01241; (* (( (ptr) &var←c89824)+8)/* dc←v10724 */ ) = formal←c01242; /* CircleDrawBorder: */ SOURCE(15331, 1896) { word tmpAddr167; tmpAddr167 = (word) (( (ptr) &var←c89824)+9)/* var←c83872 */ ; (* (ptr) tmpAddr167 ) = ( ((word) (fPt) DoCircleDrawBorder←P5964) ); (* (( (ptr) tmpAddr167) + 1) ) = 1; }; SOURCE(17190, 37) { word pd168; pd168 = (* (( (ptr) (* (( (ptr) gf←c89856)+270)/* var←c82656 */ ))+12) ); (void) ( *( (fPt) ((* (ptr) pd168 ))))((* (( (ptr) &var←c89824)+8)/* dc←v10724 */ ), (word) (( (bPt) &var←c89824)+36)/* var←c83872 */ , pd168) ; }; } static void DoCircleDrawBorder←P5964(formal←c89920) word formal←c89920; { register ptr gf←c89888 = (ptr) &globalframe; word cpCount←v21924 = 0; word cpIndex←v21952 = (word) -1; W2 edgePoint←v21980; W2 pointInUnitSpace←v22008; word circleData←v22036; word circleDrawParts←v22064; word circleTransformParts←v22092; word newTransform←v22120 = 0; word noRubberband←v22148; formal←c89920 = (formal←c89920 - 36); /* DoCircleDrawBorder: */ SOURCE(15629, 1553) SOURCE(15731, 43) circleData←v22036 = XR←Narrow((* (( (ptr) (* (( (ptr) formal←c89920)+4) ))+1) ), (* (( (ptr) gf←c89888)+12) )); SOURCE(15776, 48) circleDrawParts←v22064 = XR←Narrow((* (( (ptr) formal←c89920)+5) ), (* (( (ptr) gf←c89888)+13) )); SOURCE(15826, 58) circleTransformParts←v22092 = XR←Narrow((* (( (ptr) formal←c89920)+6) ), (* (( (ptr) gf←c89888)+13) )); SOURCE(15916, 145) noRubberband←v22148 = (unsigned) ( (((circleTransformParts←v22092 == 0) || (0 != (* (( (ptr) circleTransformParts←v22092)+5) ))) || (0 != (* (ptr) circleTransformParts←v22092 ))) ? 1 : (0 != (word) IsEmpty←P4320(circleTransformParts←v22092)) ) ; SOURCE(16063, 213) { word pd169; if (((* (( (ptr) formal←c89920)+7) ) == 0)) { newTransform←v22120 = (* (( (ptr) circleData←v22036)+1) ); } else { if ((0 != (word) IsEmpty←P4320(circleTransformParts←v22092))) { newTransform←v22120 = (* (( (ptr) circleData←v22036)+1) ); } else { pd169 = (* (( (ptr) (* (( (ptr) gf←c89888)+272)/* var←c82880 */ ))+13) ); newTransform←v22120 = (word) ( *( (fPt) ((* (ptr) pd169 ))))((* (( (ptr) circleData←v22036)+1) ), (* (( (ptr) formal←c89920)+7) ), pd169); }; }; }; SOURCE(16279, 903) SOURCE(16285, 63) if ( ( (circleDrawParts←v22064 != 0) ? (0 != (word) IsEmpty←P4320(circleDrawParts←v22064)) : 0 ) ) { SOURCE(16342, 6) return; }; SOURCE(16367, 21) if ((0 != noRubberband←v22148)) { SOURCE(16388, 17) goto lab←L100011; }; SOURCE(16407, 165) { register word index←v22192 = 1; lab←L100015: ; SOURCE(16487, 85) if ((0 != (* (( (ptr) circleTransformParts←v22092)+index←v22192) ))) { SOURCE(16534, 21) cpCount←v21924 = (cpCount←v21924 + 1); SOURCE(16557, 15) cpIndex←v21952 = index←v22192; }; if ((index←v22192 >= 4)) { goto lab←L100012; }; index←v22192 = (index←v22192 + 1); goto lab←L100015; lab←L100012: ; }; SOURCE(16586, 21) if (( (int)cpCount←v21924 > (int)1)) { SOURCE(16607, 17) goto lab←L100011; }; SOURCE(16626, 143) { W2 var←c83904; { word var←c83936; var←c83936 = cpIndex←v21952; switch (var←c83936) { case 1: var←c83904.f0 = (* (ptr) &fc88 ); var←c83904.f1 = (* (ptr) &fc85 ); break; case 2: var←c83904.f0 = (* (ptr) &fc85 ); var←c83904.f1 = (* (ptr) &fc87 ); break; case 3: var←c83904.f0 = (* (ptr) &fc87 ); var←c83904.f1 = (* (ptr) &fc85 ); break; case 4: var←c83904.f0 = (* (ptr) &fc85 ); var←c83904.f1 = (* (ptr) &fc88 ); break; default: var←c83904 = (* (W2Pt) ( XR←RaiseUnnamedError(), &dummy156 ) ); break; }; }; { W2 var←c0272; { word pd170; pd170 = (* (( (ptr) (* (( (ptr) gf←c89888)+272)/* var←c82880 */ ))+39) ); (void) ( *( (fPt) ((* (ptr) pd170 ))))((word) &var←c0272, newTransform←v22120, var←c83904, pd170); }; edgePoint←v21980 = var←c0272; }; }; SOURCE(16771, 59) { word pd171; pd171 = (* (( (ptr) (* (( (ptr) gf←c89888)+272)/* var←c82880 */ ))+39) ); (void) ( *( (fPt) ((* (ptr) pd171 ))))((word) &pointInUnitSpace←v22008, (* (( (ptr) circleData←v22036)+6) ), edgePoint←v21980, pd171) ; }; SOURCE(16832, 102) { word var←c84096; { word pd172; word x173; float tf174; float tf175; word x176; float tf177; pd172 = (* (( (ptr) (* (( (ptr) gf←c89888)+273)/* var←c82944 */ ))+18) ); var←c84096 = ( tf177 = FMAX(( x173 = (word) ( *( (fPt) ((* (ptr) pd172 ))))(pointInUnitSpace←v22008, pd172), *(float*)&x173 ), ( x176 = (* (( (ptr) gf←c89888)+5)/* circleLimit←v6164 */ ), *(float*)&x176 ), tf174, tf175), *(word*)&tf177 ); }; { word pd178; pd178 = (* (( (ptr) (* (( (ptr) gf←c89888)+272)/* var←c82880 */ ))+15) ); newTransform←v22120 = (word) ( *( (fPt) ((* (ptr) pd178 ))))((* (( (ptr) circleData←v22036)+1) ), var←c84096, pd178); }; }; SOURCE(16960, 65) (void) CachedCircleDraw←P1200((* (( (ptr) formal←c89920)+8) ), circleData←v22036, newTransform←v22120, 0, 0, 0); goto lab←L100016; lab←L100011: ; SOURCE(17051, 51) if (((* (( (ptr) formal←c89920)+7) ) != 0)) { SOURCE(17073, 29) { word pd179; pd179 = (* (( (ptr) (* (( (ptr) gf←c89888)+270)/* var←c82656 */ ))+14) ); (void) ( *( (fPt) ((* (ptr) pd179 ))))((* (( (ptr) formal←c89920)+8) ), (* (( (ptr) formal←c89920)+7) ), pd179); }; }; SOURCE(17104, 73) (void) CachedCircleDraw←P1200((* (( (ptr) formal←c89920)+8) ), circleData←v22036, (* (( (ptr) circleData←v22036)+1) ), 0, 0, 0) ; lab←L100016: ; } static void CircleDrawParts←P720(slice←v10868, parts←v10896, formal←c01243, camera←v10952, quick←v10980) word slice←v10868; word parts←v10896; word formal←c01243; word camera←v10952; word quick←v10980; { W8 var←c89952; /* declaration of dc←v10924 skipped */ register ptr gf←c89984 = (ptr) &globalframe; /* declaration of var←c84128 skipped */ /* declaration of circleData←v22264 skipped */ word circleParts←v22292; var←c89952.f4/* dc←v10924 */ = formal←c01243; /* CircleDrawParts: */ SOURCE(17233, 390) { word tmpAddr180; tmpAddr180 = (word) (( (ptr) &var←c89952)+5)/* var←c84128 */ ; (* (ptr) tmpAddr180 ) = ( ((word) (fPt) DoCircleDrawOutline←P6072) ); (* (( (ptr) tmpAddr180) + 1) ) = 1; }; SOURCE(17449, 43) var←c89952.f7/* circleData←v22264 */ = XR←Narrow((* (( (ptr) slice←v10868)+1) ), (* (( (ptr) gf←c89984)+12) )); SOURCE(17494, 40) circleParts←v22292 = XR←Narrow(parts←v10896, (* (( (ptr) gf←c89984)+13) )); SOURCE(17536, 87) if ((circleParts←v22292 == 0) || (0 != (* (( (ptr) circleParts←v22292)+5) ))) { SOURCE(17585, 38) { word pd181; pd181 = (* (( (ptr) (* (( (ptr) gf←c89984)+270)/* var←c82656 */ ))+12) ); (void) ( *( (fPt) ((* (ptr) pd181 ))))(var←c89952.f4/* dc←v10924 */ , (word) (( (bPt) &var←c89952)+20)/* var←c84128 */ , pd181) ; }; }; } static void DoCircleDrawOutline←P6072(formal←c90016) word formal←c90016; { formal←c90016 = (formal←c90016 - 20); /* DoCircleDrawOutline: */ SOURCE(17348, 96) SOURCE(17378, 66) (void) CachedCircleDraw←P1200((* (( (ptr) formal←c90016)+4) ), (* (( (ptr) formal←c90016)+7) ), (* (( (ptr) (* (( (ptr) formal←c90016)+7) ))+1) ), 0, 0, 1); } static void CircleDrawTransform←P780(formal←c01244, formal←c01245, formal←c01246, camera←v11124, formal←c01247, editConstraints←v11180) word formal←c01244; word formal←c01245; word formal←c01246; word camera←v11124; word formal←c01247; word editConstraints←v11180; { W10 var←c90048; /* declaration of slice←v11040 skipped */ /* declaration of parts←v11068 skipped */ /* declaration of dc←v11096 skipped */ /* declaration of transform←v11152 skipped */ register ptr gf←c90080 = (ptr) &globalframe; /* declaration of var←c84160 skipped */ (* (( (ptr) &var←c90048)+4)/* slice←v11040 */ ) = formal←c01244; (* (( (ptr) &var←c90048)+5)/* parts←v11068 */ ) = formal←c01245; (* (( (ptr) &var←c90048)+6)/* dc←v11096 */ ) = formal←c01246; (* (( (ptr) &var←c90048)+7)/* transform←v11152 */ ) = formal←c01247; /* CircleDrawTransform: */ SOURCE(17629, 1545) { word tmpAddr182; tmpAddr182 = (word) (( (ptr) &var←c90048)+8)/* var←c84160 */ ; (* (ptr) tmpAddr182 ) = ( ((word) (fPt) DoCircleDrawTransform←P6132) ); (* (( (ptr) tmpAddr182) + 1) ) = 1; }; SOURCE(19134, 40) { word pd183; pd183 = (* (( (ptr) (* (( (ptr) gf←c90080)+270)/* var←c82656 */ ))+12) ); (void) ( *( (fPt) ((* (ptr) pd183 ))))((* (( (ptr) &var←c90048)+6)/* dc←v11096 */ ), (word) (( (bPt) &var←c90048)+32)/* var←c84160 */ , pd183) ; }; } static void DoCircleDrawTransform←P6132(formal←c90144) word formal←c90144; { register ptr gf←c90112 = (ptr) &globalframe; word cpCount←v22412 = 0; word cpIndex←v22440 = (word) -1; W2 edgePoint←v22468; W2 pointInUnitSpace←v22496; word newTransform←v22524 = 0; word circleData←v22552; word circleParts←v22580; word wholeThing←v22608; word transformColor←v22636 = 1; formal←c90144 = (formal←c90144 - 32); /* DoCircleDrawTransform: */ SOURCE(17823, 1306) SOURCE(17958, 43) circleData←v22552 = XR←Narrow((* (( (ptr) (* (( (ptr) formal←c90144)+4) ))+1) ), (* (( (ptr) gf←c90112)+12) )); SOURCE(18003, 40) circleParts←v22580 = XR←Narrow((* (( (ptr) formal←c90144)+5) ), (* (( (ptr) gf←c90112)+13) )); SOURCE(18045, 39) wholeThing←v22608 = (word) IsEmpty←P4320(circleParts←v22580); SOURCE(18145, 895) if ((0 != wholeThing←v22608) || (0 != (* (( (ptr) circleParts←v22580)+5) ))) { SOURCE(18187, 50) transformColor←v22636 = 1; } else { SOURCE(18237, 803) if ((0 != (* (ptr) circleParts←v22580 ))) { SOURCE(18268, 57) transformColor←v22636 = 0; } else { SOURCE(18327, 164) { register word index←v22680 = 1; lab←L100020: ; SOURCE(18416, 75) if ((0 != (* (( (ptr) circleParts←v22580)+index←v22680) ))) { SOURCE(18453, 21) cpCount←v22412 = (cpCount←v22412 + 1); SOURCE(18476, 15) cpIndex←v22440 = index←v22680; }; if ((index←v22680 >= 4)) { goto lab←L100017; }; index←v22680 = (index←v22680 + 1); goto lab←L100020; lab←L100017: ; }; SOURCE(18505, 535) if (( (int)cpCount←v22412 > (int)1)) { SOURCE(18525, 28) transformColor←v22636 = 0; } else { SOURCE(18555, 51) if ( ( ( (int)cpCount←v22412 == (int)0) ? (0 == (* (ptr) circleParts←v22580 )) : 0 ) ) { SOURCE(18606, 5) (void) XR←RaiseUnnamedError(); }; SOURCE(18613, 170) { word var←c84192; W2 var←c84224; { word pd184; pd184 = (* (( (ptr) (* (( (ptr) gf←c90112)+272)/* var←c82880 */ ))+13) ); var←c84192 = (word) ( *( (fPt) ((* (ptr) pd184 ))))((* (( (ptr) circleData←v22552)+1) ), (* (( (ptr) formal←c90144)+7) ), pd184) ; }; { word var←c84256; var←c84256 = cpIndex←v22440; switch (var←c84256) { case 1: var←c84224.f0 = (* (ptr) &fc88 ); var←c84224.f1 = (* (ptr) &fc85 ); break; case 2: var←c84224.f0 = (* (ptr) &fc85 ); var←c84224.f1 = (* (ptr) &fc87 ); break; case 3: var←c84224.f0 = (* (ptr) &fc87 ); var←c84224.f1 = (* (ptr) &fc85 ); break; case 4: var←c84224.f0 = (* (ptr) &fc85 ); var←c84224.f1 = (* (ptr) &fc88 ); break; default: var←c84224 = (* (W2Pt) ( XR←RaiseUnnamedError(), &dummy156 ) ); break; }; }; { W2 var←c0307; { word pd185; pd185 = (* (( (ptr) (* (( (ptr) gf←c90112)+272)/* var←c82880 */ ))+39) ); (void) ( *( (fPt) ((* (ptr) pd185 ))))((word) &var←c0307, var←c84192, var←c84224, pd185); }; edgePoint←v22468 = var←c0307; }; }; SOURCE(18785, 59) { word pd186; pd186 = (* (( (ptr) (* (( (ptr) gf←c90112)+272)/* var←c82880 */ ))+39) ); (void) ( *( (fPt) ((* (ptr) pd186 ))))((word) &pointInUnitSpace←v22496, (* (( (ptr) circleData←v22552)+6) ), edgePoint←v22468, pd186) ; }; SOURCE(18846, 102) { word var←c84416; { word pd187; word x188; float tf189; float tf190; word x191; float tf192; pd187 = (* (( (ptr) (* (( (ptr) gf←c90112)+273)/* var←c82944 */ ))+18) ); var←c84416 = ( tf192 = FMAX(( x188 = (word) ( *( (fPt) ((* (ptr) pd187 ))))(pointInUnitSpace←v22496, pd187), *(float*)&x188 ), ( x191 = (* (( (ptr) gf←c90112)+5)/* circleLimit←v6164 */ ), *(float*)&x191 ), tf189, tf190), *(word*)&tf192 ); }; { word pd193; pd193 = (* (( (ptr) (* (( (ptr) gf←c90112)+272)/* var←c82880 */ ))+15) ); newTransform←v22524 = (word) ( *( (fPt) ((* (ptr) pd193 ))))((* (( (ptr) circleData←v22552)+1) ), var←c84416, pd193); }; }; SOURCE(18974, 58) (void) CachedCircleDraw←P1200((* (( (ptr) formal←c90144)+6) ), circleData←v22552, newTransform←v22524, 0, 0, 1); SOURCE(19034, 6) return; }; }; }; SOURCE(19048, 81) (void) CachedCircleDraw←P1200((* (( (ptr) formal←c90144)+6) ), circleData←v22552, (* (( (ptr) circleData←v22552)+1) ), (* ( ( (ptr) formal←c90144)+7) ), transformColor←v22636, 1); } static void CircleDrawSelectionFeedback←P840(slice←v11240, selectedParts←v11268, hotParts←v11296, dc←v11324, camera←v11352, dragInProgress←v11380, caretIsMoving←v11408, hideHot←v11436, quick←v11464) word slice←v11240; word selectedParts←v11268; word hotParts←v11296; word dc←v11324; word camera←v11352; word dragInProgress←v11380; word caretIsMoving←v11408; word hideHot←v11436; word quick←v11464; { register ptr gf←c90176 = (ptr) &globalframe; word slowNormal←v22836 = 0; word slowHot←v22864 = 0; word completeNormal←v22892 = 0; word completeHot←v22920 = 0; W2 firstJoint←v22948; word normalCircleParts←v22976 = 0; word hotCircleParts←v23004 = 0; word circleData←v23032; word transform←v23060; /* CircleDrawSelectionFeedback: */ SOURCE(19180, 2026) SOURCE(19698, 43) circleData←v23032 = XR←Narrow((* (( (ptr) slice←v11240)+1) ), (* (( (ptr) gf←c90176)+12) )); SOURCE(19743, 48) transform←v23060 = (* (( (ptr) circleData←v23032)+1) ); SOURCE(19793, 72) if (((0 != caretIsMoving←v11408) || (0 != dragInProgress←v11380)) || ((* (ptr) camera←v11352 ) == 2)) { SOURCE(19859, 6) return; }; SOURCE(19867, 49) if ( ( (selectedParts←v11268 == 0) ? (hotParts←v11296 == 0) : 0 ) ) { SOURCE(19910, 6) return; }; SOURCE(19918, 41) normalCircleParts←v22976 = XR←Narrow(selectedParts←v11268, (* (( (ptr) gf←c90176)+13) )); SOURCE(19961, 33) hotCircleParts←v23004 = XR←Narrow(hotParts←v11296, (* (( (ptr) gf←c90176)+13) )); SOURCE(19996, 72) if ((normalCircleParts←v22976 != 0)) { completeNormal←v22892 = (unsigned) (0 != (word) IsComplete←P4260(normalCircleParts←v22976)); } else { completeNormal←v22892 = (unsigned) 0; }; SOURCE(20070, 63) if ((hotCircleParts←v23004 != 0)) { completeHot←v22920 = (unsigned) (0 != (word) IsComplete←P4260(hotCircleParts←v23004)); } else { completeHot←v22920 = (unsigned) 0; }; SOURCE(20135, 84) if ((normalCircleParts←v22976 != 0)) { if ((0 == quick←v11464)) { slowNormal←v22836 = (unsigned) 1; } else { if ((0 != quick←v11464)) { slowNormal←v22836 = (unsigned) (0 == completeNormal←v22892); } else { slowNormal←v22836 = (unsigned) 0; }; }; } else { slowNormal←v22836 = (unsigned) 0; }; SOURCE(20221, 75) if ((hotCircleParts←v23004 != 0)) { if ((0 == quick←v11464)) { slowHot←v22864 = (unsigned) 1; } else { if ((0 != quick←v11464)) { slowHot←v22864 = (unsigned) (0 == completeHot←v22920); } else { slowHot←v22864 = (unsigned) 0; }; }; } else { slowHot←v22864 = (unsigned) 0; }; SOURCE(20298, 356) if (((0 != slowNormal←v22836) && (0 != slowHot←v22864))) { SOURCE(20329, 107) (void) DrawSelectionFeedbackAux←P1560(slice←v11240, circleData←v23032, normalCircleParts←v22976, hotCircleParts←v23004, dc←v11324, transform←v23060 , camera←v11352); } else { SOURCE(20436, 218) if ((0 != slowNormal←v22836)) { SOURCE(20455, 96) (void) DrawSelectionFeedbackAux←P1560(slice←v11240, circleData←v23032, normalCircleParts←v22976, 0, dc←v11324, transform←v23060 , camera←v11352); } else { SOURCE(20551, 103) if ((0 != slowHot←v22864)) { SOURCE(20567, 87) (void) DrawSelectionFeedbackAux←P1560(slice←v11240, circleData←v23032, 0, hotCircleParts←v23004, dc←v11324, transform←v23060 , camera←v11352); }; }; }; SOURCE(20656, 302) if ( ( (0 == slowNormal←v22836) ? (0 != completeNormal←v22892) : 0 ) || ( (0 == slowHot←v22864) ? (0 != completeHot←v22920) : 0 ) ) { SOURCE(20733, 251) { word fullParts←v23104; SOURCE(20735, 85) fullParts←v23104 = ( (0 != completeNormal←v22892) ? normalCircleParts←v22976 : hotCircleParts←v23004 ) ; SOURCE(20822, 34) { word var←c84448; word pd194; pd194 = (* (( (ptr) (* (( (ptr) gf←c90176)+276)/* var←c83456 */ ))+9) ); var←c84448 = (word) ( *( (fPt) ((* (ptr) pd194 ))))(slice←v11240, 0, pd194); }; SOURCE(20891, 67) { W2 var←c0331; { W2 var←c84480; var←c84480.f0 = (* (ptr) &fc88 ); var←c84480.f1 = (* (ptr) &fc85 ); { word pd195; pd195 = (* (( (ptr) (* (( (ptr) gf←c90176)+272)/* var←c82880 */ ))+39) ); (void) ( *( (fPt) ((* (ptr) pd195 ))))((word) &var←c0331, transform←v23060, var←c84480, pd195); }; }; firstJoint←v22948 = var←c0331; }; }; }; SOURCE(20987, 104) if ( ( (0 == slowHot←v22864) ? (0 != completeHot←v22920) : 0 ) ) { SOURCE(21023, 68) { word pd196; pd196 = (* (( (ptr) (* (( (ptr) gf←c90176)+279)/* var←c84512 */ ))+21) ); (void) ( *( (fPt) ((* (ptr) pd196 ))))(dc←v11324, firstJoint←v22948, 1, (* (( (ptr) camera←v11352)+4) ), pd196); }; }; SOURCE(21093, 113) if ( ( (0 == slowNormal←v22836) ? (0 != completeNormal←v22892) : 0 ) ) { SOURCE(21135, 71) { word pd197; pd197 = (* (( (ptr) (* (( (ptr) gf←c90176)+279)/* var←c84512 */ ))+21) ); (void) ( *( (fPt) ((* (ptr) pd197 ))))(dc←v11324, firstJoint←v22948, 0, (* (( (ptr) camera←v11352)+4) ), pd197); }; }; } static void CircleDrawAttractorFeedback←P900(slice←v11524, attractorParts←v11552, selectedParts←v11580, dragInProgress←v11608, formal←c01248, formal←c01249, editConstraints←v11692) word slice←v11524; word attractorParts←v11552; word selectedParts←v11580; word dragInProgress←v11608; word formal←c01248; word formal←c01249; word editConstraints←v11692; { W10 var←c90208; /* declaration of dc←v11636 skipped */ /* declaration of camera←v11664 skipped */ register ptr gf←c90240 = (ptr) &globalframe; /* declaration of var←c84544 skipped */ (* (( (ptr) &var←c90208)+4)/* dc←v11636 */ ) = formal←c01248; (* (( (ptr) &var←c90208)+5)/* camera←v11664 */ ) = formal←c01249; /* CircleDrawAttractorFeedback: */ SOURCE(21212, 911) { word tmpAddr198; tmpAddr198 = (word) (( (ptr) &var←c90208)+6)/* var←c84544 */ ; (* (ptr) tmpAddr198 ) = ( ((word) (fPt) DoDrawFeedback←P6336) ); (* (( (ptr) tmpAddr198) + 1) ) = 1; }; SOURCE(21440, 683) if ((0 == dragInProgress←v11608) || (selectedParts←v11580 == 0)) { SOURCE(21491, 634) { /* declaration of circleData←v23176 skipped */ /* declaration of hitParts←v23204 skipped */ SOURCE(21949, 43) (* (( (ptr) &var←c90208)+8)/* circleData←v23176 */ ) = XR←Narrow((* (( (ptr) slice←v11524)+1) ), (* (( (ptr) gf←c90240)+12) )); SOURCE(21994, 46) (* (( (ptr) &var←c90208)+9)/* hitParts←v23204 */ ) = XR←Narrow(attractorParts←v11552, (* (( (ptr) gf←c90240)+13) )); SOURCE(22042, 81) if ( ( ((* (ptr) (* (( (ptr) &var←c90208)+5)/* camera←v11664 */ ) ) != 2) ? ((* (( (ptr) &var←c90208)+9)/* hitParts←v23204 */ ) != 0) : 0 ) ) { SOURCE(22090, 33) { word pd199; pd199 = (* (( (ptr) (* (( (ptr) gf←c90240)+270)/* var←c82656 */ ))+12) ); (void) ( *( (fPt) ((* (ptr) pd199 ))))((* (( (ptr) &var←c90208)+4)/* dc←v11636 */ ), (word) (( (bPt) &var←c90208)+24)/* var←c84544 */ , pd199) ; }; }; }; }; } static void DoDrawFeedback←P6336(formal←c90304) word formal←c90304; { register ptr gf←c90272 = (ptr) &globalframe; word t←v23264; W10 pts←v23292; formal←c90304 = (formal←c90304 - 24); /* DoDrawFeedback: */ SOURCE(21493, 23) SOURCE(21518, 40) t←v23264 = (* (( (ptr) (* (( (ptr) formal←c90304)+8) ))+1) ); SOURCE(21587, 33) { W2 var←c84576; { W2 var←c0346; { W2 var←c84608; var←c84608.f0 = (* (ptr) &fc85 ); var←c84608.f1 = (* (ptr) &fc85 ); { word pd200; pd200 = (* (( (ptr) (* (( (ptr) gf←c90272)+272)/* var←c82880 */ ))+39) ); (void) ( *( (fPt) ((* (ptr) pd200 ))))((word) &var←c0346, t←v23264, var←c84608, pd200); }; }; var←c84576 = var←c0346; }; (* (W2Pt) &pts←v23292 ) = var←c84576; }; SOURCE(21622, 34) { W2 var←c84640; { W2 var←c0349; { W2 var←c84672; var←c84672.f0 = (* (ptr) &fc88 ); var←c84672.f1 = (* (ptr) &fc85 ); { word pd201; pd201 = (* (( (ptr) (* (( (ptr) gf←c90272)+272)/* var←c82880 */ ))+39) ); (void) ( *( (fPt) ((* (ptr) pd201 ))))((word) &var←c0349, t←v23264, var←c84672, pd201); }; }; var←c84640 = var←c0349; }; (* (W2Pt) (( (ptr) &pts←v23292)+2) ) = var←c84640; }; SOURCE(21658, 33) { W2 var←c84704; { W2 var←c0352; { W2 var←c84736; var←c84736.f0 = (* (ptr) &fc85 ); var←c84736.f1 = (* (ptr) &fc87 ); { word pd202; pd202 = (* (( (ptr) (* (( (ptr) gf←c90272)+272)/* var←c82880 */ ))+39) ); (void) ( *( (fPt) ((* (ptr) pd202 ))))((word) &var←c0352, t←v23264, var←c84736, pd202); }; }; var←c84704 = var←c0352; }; (* (W2Pt) (( (ptr) &pts←v23292)+4) ) = var←c84704; }; SOURCE(21693, 33) { W2 var←c84768; { W2 var←c0355; { W2 var←c84800; var←c84800.f0 = (* (ptr) &fc87 ); var←c84800.f1 = (* (ptr) &fc85 ); { word pd203; pd203 = (* (( (ptr) (* (( (ptr) gf←c90272)+272)/* var←c82880 */ ))+39) ); (void) ( *( (fPt) ((* (ptr) pd203 ))))((word) &var←c0355, t←v23264, var←c84800, pd203); }; }; var←c84768 = var←c0355; }; (* (W2Pt) (( (ptr) &pts←v23292)+6) ) = var←c84768; }; SOURCE(21728, 34) { W2 var←c84832; { W2 var←c0358; { W2 var←c84864; var←c84864.f0 = (* (ptr) &fc85 ); var←c84864.f1 = (* (ptr) &fc88 ); { word pd204; pd204 = (* (( (ptr) (* (( (ptr) gf←c90272)+272)/* var←c82880 */ ))+39) ); (void) ( *( (fPt) ((* (ptr) pd204 ))))((word) &var←c0358, t←v23264, var←c84864, pd204); }; }; var←c84832 = var←c0358; }; (* (W2Pt) (( (ptr) &pts←v23292)+8) ) = var←c84832; }; SOURCE(21764, 71) if ((0 != (* (ptr) (* (( (ptr) formal←c90304)+9) ) ))) { SOURCE(21792, 43) { word pd205; pd205 = (* (( (ptr) (* (( (ptr) gf←c90272)+279)/* var←c84512 */ ))+19) ); (void) ( *( (fPt) ((* (ptr) pd205 ))))((* (( (ptr) formal←c90304)+4) ), (* (W2Pt) &pts←v23292 ), (* (( (ptr) (* (( (ptr) formal←c90304)+5) ))+4) ), pd205); }; }; SOURCE(21837, 98) { register word index←v23372 = 1; lab←L100024: ; SOURCE(21888, 47) { word pd206; pd206 = (* (( (ptr) (* (( (ptr) gf←c90272)+279)/* var←c84512 */ ))+19) ); (void) ( *( (fPt) ((* (ptr) pd206 ))))((* (( (ptr) formal←c90304)+4) ), (* (( (W2Pt) &pts←v23292)+index←v23372) ), (* (( (ptr) (* ( ( (ptr) formal←c90304)+5) ))+4) ), pd206); }; if ((index←v23372 >= 4)) { goto lab←L100021; }; index←v23372 = (index←v23372 + 1); goto lab←L100024; lab←L100021: ; }; } static void CircleBoxFromTransform←P960(formal←c0379, circleData←v11752, transform←v11780) word formal←c0379; word circleData←v11752; word transform←v11780; { register ptr gf←c90336 = (ptr) &globalframe; W4 r←v11824; word pad←v23416; W2 origin←v23444; W2 minor←v23472; W2 major←v23500; word minorDS←v23528; word majorDS←v23556; word tMax←v23584; word radius←v23612; word box←v23640; /* CircleBoxFromTransform: */ SOURCE(22132, 758) SOURCE(22247, 38) pad←v23416 = (* (( (ptr) (* (( (ptr) circleData←v11752)+33) ))+2) ); SOURCE(22287, 69) { W2 var←c0366; { W2 var←c84896; var←c84896.f0 = (* (ptr) &fc85 ); var←c84896.f1 = (* (ptr) &fc85 ); { word pd207; pd207 = (* (( (ptr) (* (( (ptr) gf←c90336)+272)/* var←c82880 */ ))+39) ); (void) ( *( (fPt) ((* (ptr) pd207 ))))((word) &var←c0366, transform←v11780, var←c84896, pd207); }; }; origin←v23444 = var←c0366; }; SOURCE(22358, 68) { W2 var←c0369; { W2 var←c84928; var←c84928.f0 = (* (ptr) &fc85 ); var←c84928.f1 = (* (ptr) &fc87 ); { word pd208; pd208 = (* (( (ptr) (* (( (ptr) gf←c90336)+272)/* var←c82880 */ ))+39) ); (void) ( *( (fPt) ((* (ptr) pd208 ))))((word) &var←c0369, transform←v11780, var←c84928, pd208); }; }; minor←v23472 = var←c0369; }; SOURCE(22434, 68) { W2 var←c0372; { W2 var←c84960; var←c84960.f0 = (* (ptr) &fc87 ); var←c84960.f1 = (* (ptr) &fc85 ); { word pd209; pd209 = (* (( (ptr) (* (( (ptr) gf←c90336)+272)/* var←c82880 */ ))+39) ); (void) ( *( (fPt) ((* (ptr) pd209 ))))((word) &var←c0372, transform←v11780, var←c84960, pd209); }; }; major←v23500 = var←c0372; }; SOURCE(22514, 56) { word pd210; pd210 = (* (( (ptr) (* (( (ptr) gf←c90336)+273)/* var←c82944 */ ))+21) ); minorDS←v23528 = (word) ( *( (fPt) ((* (ptr) pd210 ))))(minor←v23472, origin←v23444, pd210); }; SOURCE(22572, 56) { word pd211; pd211 = (* (( (ptr) (* (( (ptr) gf←c90336)+273)/* var←c82944 */ ))+21) ); majorDS←v23556 = (word) ( *( (fPt) ((* (ptr) pd211 ))))(major←v23500, origin←v23444, pd211); }; SOURCE(22630, 34) { word x212; float tf213; float tf214; word x215; float tf216; tMax←v23584 = ( tf216 = FMAX(( x212 = minorDS←v23528, *(float*)&x212 ), ( x215 = majorDS←v23556, *(float*)&x215 ), tf213, tf214), *(word*)&tf216 ); }; SOURCE(22666, 33) { word pd217; pd217 = (* (( (ptr) (* (( (ptr) gf←c90336)+274)/* var←c83168 */ ))+9) ); radius←v23612 = (word) ( *( (fPt) ((* (ptr) pd217 ))))(tMax←v23584, pd217); }; SOURCE(22701, 108) { word pd218; word x219; word x220; float tf221; word x222; word x223; float tf224; word x225; word x226; float tf227; word x228; word x229; float tf230; pd218 = (* (( (ptr) (* (( (ptr) gf←c90336)+271)/* var←c82752 */ ))+5) ); box←v23640 = (word) ( *( (fPt) ((* (ptr) pd218 ))))(( tf221 = ( x219 = origin←v23444.f0, *(float*)&x219 ) - ( x220 = radius←v23612, *(float*)&x220 ), *(word*)&tf221 ), ( tf224 = ( x222 = origin←v23444.f1, *(float*)&x222 ) - ( x223 = radius←v23612, *(float*)&x223 ), *(word*)&tf224 ), ( tf227 = ( x225 = origin←v23444.f0, *(float*)&x225 ) + ( x226 = radius←v23612, *(float*)&x226 ), *(word*)&tf227 ), ( tf230 = ( x228 = origin←v23444.f1, *(float*)&x228 ) + ( x229 = radius←v23612, *(float*)&x229 ), *(word*)&tf230 ), 0, 0, pd218); }; SOURCE(22811, 36) { word pd231; pd231 = (* (( (ptr) (* (( (ptr) gf←c90336)+271)/* var←c82752 */ ))+17) ); (void) ( *( (fPt) ((* (ptr) pd231 ))))(box←v23640, pad←v23416, pd231); }; SOURCE(22849, 41) { word pd232; pd232 = (* (( (ptr) (* (( (ptr) gf←c90336)+271)/* var←c82752 */ ))+11) ); (void) ( *( (fPt) ((* (ptr) pd232 ))))((word) &r←v11824, box←v23640, pd232); }; /* removed tail goto */ (* (W4Pt) formal←c0379 ) = r←v11824; return; } static word FindImagerObject←P1020(formal←c01250, formal←c01251, formal←c01252, formal←c01253) word formal←c01250; word formal←c01251; word formal←c01252; word formal←c01253; { W13 var←c90368; /* declaration of circleData←v11884 skipped */ /* declaration of localView←v11912 skipped */ /* declaration of fillLocal←v11940 skipped */ /* declaration of fillIt←v11968 skipped */ register ptr gf←c90400 = (ptr) &globalframe; word object←v12012; /* declaration of var←c84992 skipped */ /* declaration of var←c85024 skipped */ word value←v23740 = 0; /* declaration of maxPixels←v23768 skipped */ word ok←v23796; (* (( (ptr) &var←c90368)+4)/* circleData←v11884 */ ) = formal←c01250; (* (( (ptr) &var←c90368)+5)/* localView←v11912 */ ) = formal←c01251; (* (( (ptr) &var←c90368)+6)/* fillLocal←v11940 */ ) = formal←c01252; (* (( (ptr) &var←c90368)+7)/* fillIt←v11968 */ ) = formal←c01253; /* FindImagerObject: */ SOURCE(22896, 1356) { word tmpAddr233; tmpAddr233 = (word) (( (ptr) &var←c90368)+8)/* var←c84992 */ ; (* (ptr) tmpAddr233 ) = ( ((word) (fPt) CompareProps←P6504) ); (* (( (ptr) tmpAddr233) + 1) ) = 1; }; { word tmpAddr234; tmpAddr234 = (word) (( (ptr) &var←c90368)+10)/* var←c85024 */ ; (* (ptr) tmpAddr234 ) = ( ((word) (fPt) EqualPattern←P6444) ); (* (( (ptr) tmpAddr234) + 1) ) = 1; }; SOURCE(22896, 1356) object←v12012 = 0; SOURCE(24077, 25) (* (( (ptr) &var←c90368)+12)/* maxPixels←v23768 */ ) = (* (ptr) &fc235 ); SOURCE(24114, 94) { W2 var←c85088; { word pd236; pd236 = (* (( (ptr) (* (( (ptr) gf←c90400)+280)/* var←c85056 */ ))+9) ); (void) ( *( (fPt) ((* (ptr) pd236 ))))((word) &var←c85088, (* (( (ptr) gf←c90400)+6)/* cache←v8068 */ ), (word) (( (bPt) &var←c90368)+32) /* var←c84992 */ , (* (( (ptr) gf←c90400)+53) ), pd236); }; ok←v23796 = var←c85088.f1; value←v23740 = var←c85088.f0; }; SOURCE(24210, 42) if ((0 != ok←v23796)) { return(XR←Narrow(value←v23740, (* (( (ptr) gf←c90400)+19) ))); } else { return(0); }; } static word EqualPattern←P6444(p1←v23872, p2←v23900, formal←c90432) word p1←v23872; word p2←v23900; word formal←c90432; { word var←c23944; formal←c90432 = (formal←c90432 - 40); /* EqualPattern: */ SOURCE(23025, 195) SOURCE(23025, 195) var←c23944 = 0; SOURCE(23096, 35) if (((* (ptr) p1←v23872 ) != (* (ptr) p2←v23900 ))) { SOURCE(23118, 13) return(0); }; SOURCE(23133, 64) { register word i←v23972 = 0; register word noName←c85152; noName←c85152 = (* (ptr) p1←v23872 ); if ((i←v23972 >= noName←c85152)) { goto lab←L100026; }; lab←L100029: ; SOURCE(23163, 34) { word limit237; word x238; word limit239; word x240; if ((( x238 = (* ((( (ptr) p1←v23872)+1)+( limit237 = (* (ptr) p1←v23872 ), BCK(i←v23972, limit237) )) ), *(float*)&x238 ) != ( x240 = (* ((( (ptr) p2←v23900)+1)+( limit239 = (* (ptr) p2←v23900 ), BCK(i←v23972, limit239) )) ), *(float*)&x240 ))) { SOURCE(23184, 13) return(0); }; }; i←v23972 = (i←v23972 + 1); if ((i←v23972 < noName←c85152)) { goto lab←L100029; }; lab←L100026: ; }; SOURCE(23208, 12) return(1); } static word CompareProps←P6504(argument←v65044, formal←c90496) word argument←v65044; word formal←c90496; { register ptr gf←c90464 = (ptr) &globalframe; word good←v65088; word props←v24016; word seg←v24044; word fillIsSampled←v24072; word thisFill←v24100; word var←c01212; formal←c90496 = (formal←c90496 - 32); /* CompareProps: */ SOURCE(23225, 818) SOURCE(23269, 31) props←v24016 = XR←Narrow(argument←v65044, (* (( (ptr) gf←c90464)+20) )); SOURCE(23302, 29) seg←v24044 = (* (( (ptr) (* (( (ptr) formal←c90496)+4) ))+33) ); SOURCE(23354, 69) thisFill←v24100 = ( (0 != (* (( (ptr) formal←c90496)+7) )) ? (* (( (ptr) (* (( (ptr) formal←c90496)+4) ))+11) ) : 0 ) ; SOURCE(23426, 617) { word tc241; word tc242; word tc243; word tc244; word tc245; word tc246; word x247; word x248; word x249; word x250; word x251; word x252; word pd253; word pd254; word pd255; word pd256; if ( ( ( ( ( (( x247 = (* (( (ptr) props←v24016)+1) ), *(float*)&x247 ) == ( x248 = (* (( (ptr) seg←v24044)+2) ), *(float*)&x248 )) ? ((* (( (ptr) props←v24016)+2) ) == (* (( (ptr) seg←v24044)+3) )) : 0 ) ? ((* (( (ptr) props←v24016)+3) ) == (* (( (ptr) seg←v24044)+4) )) : 0 ) ? (( x249 = (* (( (ptr) props←v24016)+5) ), *(float*)&x249 ) == ( x250 = (* (( (ptr) seg←v24044)+6) ), *(float*)&x250 )) : 0 ) ? (( x251 = (* (( (ptr) props←v24016)+6) ), *(float*)&x251 ) == ( x252 = (* (( (ptr) seg←v24044)+7) ), *(float*)&x252 )) : 0 ) ) { pd253 = (* (( (ptr) (* (( (ptr) gf←c90464)+272)/* var←c82880 */ ))+55) ); tc246 = (word) (0 != (word) ( *( (fPt) ((* (ptr) pd253 ))))((* (ptr) props←v24016 ), (* (( (ptr) formal←c90496)+5) ), (* ( ( (ptr) formal←c90496)+12) ), pd253)); } else { tc246 = (word) 0; }; if (tc246) { pd254 = (* (( (ptr) (* (( (ptr) gf←c90464)+275)/* var←c83424 */ ))+35) ); tc245 = (word) (0 != (word) ( *( (fPt) ((* (ptr) pd254 ))))((* (( (ptr) props←v24016)+7) ), (* (( (ptr) seg←v24044)+8) ), pd254) ); } else { tc245 = (word) 0; }; if (tc245) { pd255 = (* (( (ptr) (* (( (ptr) gf←c90464)+275)/* var←c83424 */ ))+35) ); tc244 = (word) (0 != (word) ( *( (fPt) ((* (ptr) pd255 ))))((* (( (ptr) props←v24016)+8) ), thisFill←v24100, pd255)); } else { tc244 = (word) 0; }; if (tc244) { fillIsSampled←v24072 = (word) IsSampled←P1140(thisFill←v24100); var←c01212 = fillIsSampled←v24072; tc243 = (word) ((* (( (ptr) props←v24016)+9) ) == var←c01212); } else { tc243 = (word) 0; }; if (tc243) { if ((0 == fillIsSampled←v24072)) { tc242 = (word) 1; } else { pd256 = (* (( (ptr) (* (( (ptr) gf←c90464)+272)/* var←c82880 */ ))+54) ); tc242 = (word) (0 != (word) ( *( (fPt) ((* (ptr) pd256 ))))((* (( (ptr) props←v24016)+10) ), (* (( (ptr) formal←c90496)+6) ), (* (( (ptr) formal←c90496)+12) ), pd256)); }; } else { tc242 = (word) 0; }; if (tc242) { if ((0 == (* (( (ptr) props←v24016)+3) ))) { tc241 = (word) 1; } else { tc241 = (word) (0 != (word) EqualPattern←P6444((* (( (ptr) props←v24016)+4) ), (* (( (ptr) seg←v24044)+5) ), (word) (( (bPt) formal←c90496)+40) )); }; } else { tc241 = (word) 0; }; if (tc241) { SOURCE(24012, 18) return(1); } else { SOURCE(24030, 13) return(0); }; }; } static word CreateProps←P1080(circleData←v12072, localView←v12100, fillLocal←v12128, fillIt←v12156) word circleData←v12072; word localView←v12100; word fillLocal←v12128; word fillIt←v12156; { register ptr gf←c90528 = (ptr) &globalframe; word props←v12200; word seg←v24144; word fillIsSampled←v24172; /* CreateProps: */ SOURCE(24258, 597) SOURCE(24258, 597) props←v12200 = 0; SOURCE(24408, 29) seg←v24144 = (* (( (ptr) circleData←v12072)+33) ); SOURCE(24439, 53) fillIsSampled←v24172 = (word) IsSampled←P1140((* ((( (ptr) circleData←v12072)+11)) )); SOURCE(24495, 360) { word var←c85184; word var←c85216; word var←c85248; { word pd257; pd257 = (* (( (ptr) (* (( (ptr) gf←c90528)+272)/* var←c82880 */ ))+6) ); var←c85184 = (word) ( *( (fPt) ((* (ptr) pd257 ))))(localView←v12100, pd257); }; { word pd258; if ((0 != fillIt←v12156)) { pd258 = (* (( (ptr) (* (( (ptr) gf←c90528)+275)/* var←c83424 */ ))+38) ); var←c85216 = (word) ( *( (fPt) ((* (ptr) pd258 ))))((* ((( (ptr) circleData←v12072)+11)) ), pd258); } else { var←c85216 = 0; }; }; var←c85248 = XR←NewObject(44, (* (( (ptr) gf←c90528)+20) )); (* (ptr) var←c85248 ) = var←c85184; (* (( (ptr) var←c85248)+1) ) = (* (( (ptr) seg←v24144)+2) ); (* (( (ptr) var←c85248)+2) ) = (* (( (ptr) seg←v24144)+3) ); (* (( (ptr) var←c85248)+3) ) = (* (( (ptr) seg←v24144)+4) ); (* (( (ptr) var←c85248)+4) ) = (* (( (ptr) seg←v24144)+5) ); (* (( (ptr) var←c85248)+5) ) = (* (( (ptr) seg←v24144)+6) ); (* (( (ptr) var←c85248)+6) ) = (* (( (ptr) seg←v24144)+7) ); (* (( (ptr) var←c85248)+7) ) = (* (( (ptr) seg←v24144)+8) ); (* (( (ptr) var←c85248)+8) ) = var←c85216; (* (( (ptr) var←c85248)+9) ) = fillIsSampled←v24172; (* (( (ptr) var←c85248)+10) ) = fillLocal←v12128; props←v12200 = var←c85248; }; SOURCE(24258, 597) return(props←v12200); } static word IsSampled←P1140(color←v12260) word color←v12260; { word var←c12304; /* IsSampled: */ SOURCE(24861, 252) SOURCE(24918, 34) if ((color←v12260 == 0)) { SOURCE(24938, 14) return(0); }; SOURCE(24954, 159) { word var←c85280; var←c85280 = color←v12260; if ((var←c85280 == 0)) { goto lab←L100030; }; { word var←c85312; var←c85312 = (* (ptr) var←c85280 ); if ((var←c85312 == 2)) { { word sampledBlack←v24216; sampledBlack←v24216 = var←c85280; SOURCE(25019, 12) return(1); }; } else { if ((var←c85312 == 1)) { { word sampledColor←v24260; sampledColor←v24260 = var←c85280; SOURCE(25075, 12) return(1); }; } else { lab←L100030: ; SOURCE(25100, 13) return(0); }; }; }; }; } static void CachedCircleDraw←P1200(dc←v12364, circleData←v12392, localView←v12420, viewView←v12448, transformColor←v12476, fillIt←v12504) word dc←v12364; word circleData←v12392; word localView←v12420; word viewView←v12448; word transformColor←v12476; word fillIt←v12504; { register ptr gf←c90560 = (ptr) &globalframe; word object←v24304 = 0; W2 position←v24332; word circleProps←v24360 = 0; word sampledColorStays←v24388; /* CachedCircleDraw: */ SOURCE(25119, 1336) SOURCE(25401, 80) sampledColorStays←v24388 = (unsigned) ( (0 != (word) IsSampled←P1140((* ((( (ptr) circleData←v12392)+11)) ))) ? (0 == transformColor←v12476) : 0 ) ; SOURCE(25484, 971) { word tc259; word pd260; pd260 = (* (( (ptr) (* (( (ptr) gf←c90560)+281)/* var←c85344 */ ))+5) ); if ((0 != (word) ( *( (fPt) ((* (ptr) pd260 ))))(pd260))) { if ((0 == sampledColorStays←v24388)) { tc259 = (word) 1; } else { tc259 = (word) (viewView←v12448 == 0); }; } else { tc259 = (word) 0; }; if (tc259) { SOURCE(25566, 801) { word fillLocal←v24432 = 0; SOURCE(25595, 60) fillLocal←v24432 = (word) FromFillToLocal←P1260((* (( (ptr) circleData←v12392)+11) ), localView←v12420); SOURCE(25658, 67) object←v24304 = (word) FindImagerObject←P1020(circleData←v12392, localView←v12420, fillLocal←v24432, fillIt←v12504); SOURCE(25727, 378) if ((object←v24304 == 0)) { SOURCE(25749, 358) { W4 clipR←v24476; word props←v24504 = 0; SOURCE(25774, 71) (void) CircleBoxFromTransform←P960((word) &clipR←v24476, circleData←v12392, localView←v12420); SOURCE(25862, 61) props←v24504 = (word) CreateProps←P1080(circleData←v12392, localView←v12420, fillLocal←v24432, fillIt←v12504); SOURCE(25957, 83) { word var←c85376; var←c85376 = XR←NewObject(24, (* (( (ptr) gf←c90560)+19) )); (* (ptr) var←c85376 ) = (word) (( (bPt) gf←c90560)+824)/* var←c81376 */ ; (* (W4Pt) (( (ptr) var←c85376)+1) ) = clipR←v24476; (* (( (ptr) var←c85376)+5) ) = props←v24504; object←v24304 = var←c85376; }; SOURCE(26042, 63) { word pd261; pd261 = (* (( (ptr) (* (( (ptr) gf←c90560)+280)/* var←c85056 */ ))+6) ); (void) ( *( (fPt) ((* (ptr) pd261 ))))((* (( (ptr) gf←c90560)+6)/* cache←v8068 */ ), props←v24504, object←v24304, 60, (* ( ( (ptr) gf←c90560)+53) ), pd261); }; }; }; SOURCE(26110, 33) circleProps←v24360 = XR←Narrow((* (( (ptr) object←v24304)+5) ), (* (( (ptr) gf←c90560)+20) )); SOURCE(26145, 80) { W2 var←c85408; { W2 var←c0436; { W2 var←c85440; var←c85440.f0 = (* (ptr) &fc85 ); var←c85440.f1 = (* (ptr) &fc85 ); { word pd262; pd262 = (* (( (ptr) (* (( (ptr) gf←c90560)+272)/* var←c82880 */ ))+41) ); (void) ( *( (fPt) ((* (ptr) pd262 ))))((word) &var←c0436, (* (ptr) circleProps←v24360 ), var←c85440, pd262); }; }; var←c85408 = var←c0436; }; { W2 var←c0437; { word pd263; pd263 = (* (( (ptr) (* (( (ptr) gf←c90560)+272)/* var←c82880 */ ))+39) ); (void) ( *( (fPt) ((* (ptr) pd263 ))))((word) &var←c0437, localView←v12420, var←c85408, pd263); }; position←v24332 = var←c0437; }; }; SOURCE(26227, 51) if ((viewView←v12448 != 0)) { SOURCE(26250, 28) { word pd264; pd264 = (* (( (ptr) (* (( (ptr) gf←c90560)+270)/* var←c82656 */ ))+14) ); (void) ( *( (fPt) ((* (ptr) pd264 ))))(dc←v12364, viewView←v12448, pd264); }; }; SOURCE(26280, 85) { word pd265; pd265 = (* (( (ptr) (* (( (ptr) gf←c90560)+270)/* var←c82656 */ ))+87) ); (void) ( *( (fPt) ((* (ptr) pd265 ))))(dc←v12364, object←v24304, position←v24332, 1, pd265); }; }; } else { SOURCE(26374, 81) (void) OldCircleDrawOutline←P1380(dc←v12364, circleData←v12392, localView←v12420, viewView←v12448, transformColor←v12476, fillIt←v12504) ; }; }; } static word FromFillToLocal←P1260(color←v12564, localView←v12592) word color←v12564; word localView←v12592; { register ptr gf←c90592 = (ptr) &globalframe; word fillLocal←v12636; word fillView←v24548 = 0; /* FromFillToLocal: */ SOURCE(26461, 462) SOURCE(26461, 462) fillLocal←v12636 = 0; SOURCE(26625, 298) { word var←c85472; var←c85472 = color←v12564; if ((var←c85472 == 0)) { goto lab←L100031; }; { word var←c85568; var←c85568 = (* (ptr) var←c85472 ); if ((var←c85568 == 2)) { { word sampledBlack←v24592; sampledBlack←v24592 = var←c85472; SOURCE(26693, 26) fillView←v24548 = (* (( (ptr) sampledBlack←v24592)+2) ); SOURCE(26721, 47) { word var←c85504; { word pd266; pd266 = (* (( (ptr) (* (( (ptr) gf←c90592)+272)/* var←c82880 */ ))+51) ); var←c85504 = (word) ( *( (fPt) ((* (ptr) pd266 ))))(localView←v12592, pd266); }; { word pd267; pd267 = (* (( (ptr) (* (( (ptr) gf←c90592)+272)/* var←c82880 */ ))+13) ); fillLocal←v12636 = (word) ( *( (fPt) ((* (ptr) pd267 ))))(fillView←v24548, var←c85504, pd267); }; }; }; } else { if ((var←c85568 == 1)) { { word sampledColor←v24636; sampledColor←v24636 = var←c85472; SOURCE(26817, 26) fillView←v24548 = (* (( (ptr) sampledColor←v24636)+2) ); SOURCE(26845, 47) { word var←c85536; { word pd268; pd268 = (* (( (ptr) (* (( (ptr) gf←c90592)+272)/* var←c82880 */ ))+51) ); var←c85536 = (word) ( *( (fPt) ((* (ptr) pd268 ))))(localView←v12592, pd268); }; { word pd269; pd269 = (* (( (ptr) (* (( (ptr) gf←c90592)+272)/* var←c82880 */ ))+13) ); fillLocal←v12636 = (word) ( *( (fPt) ((* (ptr) pd269 ))))(fillView←v24548, var←c85536, pd269); }; }; }; } else { lab←L100031: ; SOURCE(26908, 15) fillLocal←v12636 = 0; }; }; }; }; SOURCE(26461, 462) return(fillLocal←v12636); } static void CircleDrawObject←P1320(self←v12696, formal←c01254) word self←v12696; word formal←c01254; { W14 var←c90624; /* declaration of context←v12724 skipped */ register ptr gf←c90656 = (ptr) &globalframe; /* declaration of var←c85600 skipped */ /* declaration of var←c85632 skipped */ /* declaration of var←c85664 skipped */ /* declaration of circleProps←v24736 skipped */ /* declaration of localView←v24764 skipped */ (* (( (ptr) &var←c90624)+4)/* context←v12724 */ ) = formal←c01254; /* CircleDrawObject: */ SOURCE(26929, 1217) { word tmpAddr270; tmpAddr270 = (word) (( (ptr) &var←c90624)+5)/* var←c85600 */ ; (* (ptr) tmpAddr270 ) = ( ((word) (fPt) PatternProc←P7068) ); (* (( (ptr) tmpAddr270) + 1) ) = 1; }; { word tmpAddr271; tmpAddr271 = (word) (( (ptr) &var←c90624)+7)/* var←c85632 */ ; (* (ptr) tmpAddr271 ) = ( ((word) (fPt) TransformedCirclePath←P6960) ); (* (( (ptr) tmpAddr271) + 1) ) = 1; }; { word tmpAddr272; tmpAddr272 = (word) (( (ptr) &var←c90624)+9)/* var←c85664 */ ; (* (ptr) tmpAddr272 ) = ( ((word) (fPt) FillItIn←P6900) ); (* (( (ptr) tmpAddr272) + 1) ) = 1; }; SOURCE(27317, 38) (* (( (ptr) &var←c90624)+11)/* circleProps←v24736 */ ) = XR←Narrow((* (( (ptr) self←v12696)+5) ), (* (( (ptr) gf←c90656)+20) )); SOURCE(27357, 49) (* (( (ptr) &var←c90624)+12)/* localView←v24764 */ ) = (* (ptr) (* (( (ptr) &var←c90624)+11)/* circleProps←v24736 */ ) ); SOURCE(27409, 68) if (((* (( (ptr) (* (( (ptr) &var←c90624)+11)/* circleProps←v24736 */ ))+8) ) != 0)) { SOURCE(27445, 32) { word pd273; pd273 = (* (( (ptr) (* (( (ptr) gf←c90656)+270)/* var←c82656 */ ))+12) ); (void) ( *( (fPt) ((* (ptr) pd273 ))))((* (( (ptr) &var←c90624)+4)/* context←v12724 */ ), (word) (( (bPt) &var←c90624)+36) /* var←c85664 */ , pd273); }; }; SOURCE(27480, 666) { word x274; word x275; if ( ( ((* (( (ptr) (* (( (ptr) &var←c90624)+11)/* circleProps←v24736 */ ))+7) ) != 0) ? (( x274 = (* (( (ptr) (* (( (ptr) &var←c90624)+11)/* circleProps←v24736 */ ))+1) ), *(float*)&x274 ) != ( x275 = (* (ptr) &fc85 ), *(float*)&x275 )) : 0 ) ) { SOURCE(27546, 43) { word pd276; pd276 = (* (( (ptr) (* (( (ptr) gf←c90656)+270)/* var←c82656 */ ))+52) ); (void) ( *( (fPt) ((* (ptr) pd276 ))))((* (( (ptr) &var←c90624)+4)/* context←v12724 */ ), (* (( (ptr) (* (( (ptr) &var←c90624)+11) /* circleProps←v24736 */ ))+7) ), pd276); }; SOURCE(27591, 55) { word pd277; pd277 = (* (( (ptr) (* (( (ptr) gf←c90656)+270)/* var←c82656 */ ))+68) ); (void) ( *( (fPt) ((* (ptr) pd277 ))))((* (( (ptr) &var←c90624)+4)/* context←v12724 */ ), (* (( (ptr) (* (( (ptr) &var←c90624)+11) /* circleProps←v24736 */ ))+1) ), pd277); }; SOURCE(27648, 51) { word pd278; pd278 = (* (( (ptr) (* (( (ptr) gf←c90656)+270)/* var←c82656 */ ))+69) ); (void) ( *( (fPt) ((* (ptr) pd278 ))))((* (( (ptr) &var←c90624)+4)/* context←v12724 */ ), (* (( (ptr) (* (( (ptr) &var←c90624)+11) /* circleProps←v24736 */ ))+2) ), pd278); }; SOURCE(27739, 37) { word pd279; pd279 = (* (( (ptr) (* (( (ptr) gf←c90656)+270)/* var←c82656 */ ))+70) ); (void) ( *( (fPt) ((* (ptr) pd279 ))))((* (( (ptr) &var←c90624)+4)/* context←v12724 */ ), 2, pd279); }; SOURCE(27816, 330) if ((0 != (* (( (ptr) (* (( (ptr) &var←c90624)+11)/* circleProps←v24736 */ ))+3) ))) { SOURCE(27843, 241) { /* declaration of pattern←v24852 skipped */ SOURCE(27914, 45) (* (( (ptr) &var←c90624)+13)/* pattern←v24852 */ ) = (* (( (ptr) (* (( (ptr) &var←c90624)+11)/* circleProps←v24736 */ ))+4) ); SOURCE(27961, 121) { word pd280; pd280 = (* (( (ptr) (* (( (ptr) gf←c90656)+270)/* var←c82656 */ ))+75) ); (void) ( *( (fPt) ((* (ptr) pd280 ))))((* (( (ptr) &var←c90624)+4)/* context←v12724 */ ), (word) (( (bPt) &var←c90624)+28) /* var←c85632 */ , (* (ptr) (* (( (ptr) &var←c90624)+13)/* pattern←v24852 */ ) ), (word) (( (bPt) &var←c90624)+20)/* var←c85600 */ , (* ( ( (ptr) (* (( (ptr) &var←c90624)+11)/* circleProps←v24736 */ ))+5) ), (* (( (ptr) (* (( (ptr) &var←c90624)+11)/* circleProps←v24736 */ ))+6) ), pd280); }; }; } else { SOURCE(28091, 55) { word pd281; pd281 = (* (( (ptr) (* (( (ptr) gf←c90656)+270)/* var←c82656 */ ))+71) ); (void) ( *( (fPt) ((* (ptr) pd281 ))))((* (( (ptr) &var←c90624)+4)/* context←v12724 */ ), (word) (( (bPt) &var←c90624)+28) /* var←c85632 */ , 1, pd281); }; }; }; }; } static void FillItIn←P6900(formal←c90720) word formal←c90720; { register ptr gf←c90688 = (ptr) &globalframe; formal←c90720 = (formal←c90720 - 36); /* FillItIn: */ SOURCE(27031, 149) SOURCE(27050, 50) { word pd282; pd282 = (* (( (ptr) (* (( (ptr) gf←c90688)+275)/* var←c83424 */ ))+36) ); (void) ( *( (fPt) ((* (ptr) pd282 ))))((* (( (ptr) formal←c90720)+4) ), (* (( (ptr) (* (( (ptr) formal←c90720)+11) ))+8) ), 0, pd282); }; SOURCE(27102, 34) { word pd283; pd283 = (* (( (ptr) (* (( (ptr) gf←c90688)+270)/* var←c82656 */ ))+14) ); (void) ( *( (fPt) ((* (ptr) pd283 ))))((* (( (ptr) formal←c90720)+4) ), (* (( (ptr) formal←c90720)+12) ), pd283); }; SOURCE(27138, 42) { word pd284; pd284 = (* (( (ptr) (* (( (ptr) gf←c90688)+270)/* var←c82656 */ ))+62) ); (void) ( *( (fPt) ((* (ptr) pd284 ))))((* (( (ptr) formal←c90720)+4) ), (word) (( (bPt) gf←c90688)+808)/* var←c81312 */ , 1, pd284) ; }; } static void TransformedCirclePath←P6960(moveTo←v67588, lineTo←v67616, curveTo←v67644, conicTo←v67672, arcTo←v67700, formal←c90784) word moveTo←v67588; word lineTo←v67616; word curveTo←v67644; word conicTo←v67672; word arcTo←v67700; word formal←c90784; { register ptr gf←c90752 = (ptr) &globalframe; formal←c90784 = (formal←c90784 - 28); /* TransformedCirclePath: */ SOURCE(27185, 127) SOURCE(27228, 84) { word pd285; pd285 = (* (( (ptr) (* (( (ptr) gf←c90752)+278)/* var←c83616 */ ))+6) ); (void) ( *( (fPt) ((* (ptr) pd285 ))))((word) (( (bPt) gf←c90752)+808)/* var←c81312 */ , (* (( (ptr) formal←c90784)+12) ), moveTo←v67588, lineTo←v67616, curveTo←v67644, conicTo←v67672 , arcTo←v67700, 0, pd285); }; } static word PatternProc←P7068(i←v24928, formal←c90816) word i←v24928; word formal←c90816; { word var←c24972; formal←c90816 = (formal←c90816 - 20); /* PatternProc: */ SOURCE(27845, 19) SOURCE(27891, 18) { word limit286; return((* ((( (ptr) (* (( (ptr) formal←c90816)+13) ))+1)+( limit286 = (* (ptr) (* (( (ptr) formal←c90816)+13) ) ), BCK(i←v24928, limit286) )) )); }; } static void OldCircleDrawOutline←P1380(formal←c01255, formal←c01256, formal←c01257, formal←c01258, formal←c01259, fillIt←v12924) word formal←c01255; word formal←c01256; word formal←c01257; word formal←c01258; word formal←c01259; word fillIt←v12924; { W16 var←c90848; /* declaration of dc←v12784 skipped */ /* declaration of circleData←v12812 skipped */ /* declaration of localView←v12840 skipped */ /* declaration of viewView←v12868 skipped */ /* declaration of transformColor←v12896 skipped */ register ptr gf←c90880 = (ptr) &globalframe; /* declaration of var←c85696 skipped */ /* declaration of var←c85728 skipped */ /* declaration of var←c85760 skipped */ word seg←v25056; (* (( (ptr) &var←c90848)+4)/* dc←v12784 */ ) = formal←c01255; (* (( (ptr) &var←c90848)+5)/* circleData←v12812 */ ) = formal←c01256; (* (( (ptr) &var←c90848)+6)/* localView←v12840 */ ) = formal←c01257; (* (( (ptr) &var←c90848)+7)/* viewView←v12868 */ ) = formal←c01258; (* (( (ptr) &var←c90848)+8)/* transformColor←v12896 */ ) = formal←c01259; /* OldCircleDrawOutline: */ SOURCE(28155, 1276) { word tmpAddr287; tmpAddr287 = (word) (( (ptr) &var←c90848)+9)/* var←c85696 */ ; (* (ptr) tmpAddr287 ) = ( ((word) (fPt) PatternProc←P7296) ); (* (( (ptr) tmpAddr287) + 1) ) = 1; }; { word tmpAddr288; tmpAddr288 = (word) (( (ptr) &var←c90848)+11)/* var←c85728 */ ; (* (ptr) tmpAddr288 ) = ( ((word) (fPt) FillItIn←P7188) ); (* (( (ptr) tmpAddr288) + 1) ) = 1; }; { word tmpAddr289; tmpAddr289 = (word) (( (ptr) &var←c90848)+13)/* var←c85760 */ ; (* (ptr) tmpAddr289 ) = ( ((word) (fPt) TransformedCirclePath←P7128) ); (* (( (ptr) tmpAddr289) + 1) ) = 1; }; SOURCE(28788, 29) seg←v25056 = (* (( (ptr) (* (( (ptr) &var←c90848)+5)/* circleData←v12812 */ ))+33) ); SOURCE(28819, 71) if ( ( (0 != fillIt←v12924) ? ((* (( (ptr) (* (( (ptr) &var←c90848)+5)/* circleData←v12812 */ ))+11) ) != 0) : 0 ) ) { SOURCE(28863, 27) { word pd290; pd290 = (* (( (ptr) (* (( (ptr) gf←c90880)+270)/* var←c82656 */ ))+12) ); (void) ( *( (fPt) ((* (ptr) pd290 ))))((* (( (ptr) &var←c90848)+4)/* dc←v12784 */ ), (word) (( (bPt) &var←c90848)+44)/* var←c85728 */ , pd290) ; }; }; SOURCE(28892, 539) { word x291; word x292; if ( ( ((* (( (ptr) seg←v25056)+8) ) != 0) ? (( x291 = (* (( (ptr) seg←v25056)+2) ), *(float*)&x291 ) != ( x292 = (* (ptr) &fc85 ), *(float*)&x292 )) : 0 ) ) { SOURCE(28940, 51) if (((* (( (ptr) &var←c90848)+7)/* viewView←v12868 */ ) != 0)) { SOURCE(28963, 28) { word pd293; pd293 = (* (( (ptr) (* (( (ptr) gf←c90880)+270)/* var←c82656 */ ))+14) ); (void) ( *( (fPt) ((* (ptr) pd293 ))))((* (( (ptr) &var←c90848)+4)/* dc←v12784 */ ), (* (( (ptr) &var←c90848)+7)/* viewView←v12868 */ ), pd293) ; }; }; SOURCE(28993, 30) { word pd294; pd294 = (* (( (ptr) (* (( (ptr) gf←c90880)+270)/* var←c82656 */ ))+52) ); (void) ( *( (fPt) ((* (ptr) pd294 ))))((* (( (ptr) &var←c90848)+4)/* dc←v12784 */ ), (* (( (ptr) seg←v25056)+8) ), pd294) ; }; SOURCE(29025, 42) { word pd295; pd295 = (* (( (ptr) (* (( (ptr) gf←c90880)+270)/* var←c82656 */ ))+68) ); (void) ( *( (fPt) ((* (ptr) pd295 ))))((* (( (ptr) &var←c90848)+4)/* dc←v12784 */ ), (* (( (ptr) seg←v25056)+2) ), pd295) ; }; SOURCE(29069, 38) { word pd296; pd296 = (* (( (ptr) (* (( (ptr) gf←c90880)+270)/* var←c82656 */ ))+69) ); (void) ( *( (fPt) ((* (ptr) pd296 ))))((* (( (ptr) &var←c90848)+4)/* dc←v12784 */ ), (* (( (ptr) seg←v25056)+3) ), pd296) ; }; SOURCE(29109, 32) { word pd297; pd297 = (* (( (ptr) (* (( (ptr) gf←c90880)+270)/* var←c82656 */ ))+70) ); (void) ( *( (fPt) ((* (ptr) pd297 ))))((* (( (ptr) &var←c90848)+4)/* dc←v12784 */ ), 2, pd297); }; SOURCE(29143, 288) if ((0 != (* (( (ptr) seg←v25056)+4) ))) { SOURCE(29162, 212) { /* declaration of pattern←v25144 skipped */ SOURCE(29233, 37) (* (( (ptr) &var←c90848)+15)/* pattern←v25144 */ ) = (* (( (ptr) seg←v25056)+5) ); SOURCE(29272, 100) { word pd298; pd298 = (* (( (ptr) (* (( (ptr) gf←c90880)+270)/* var←c82656 */ ))+75) ); (void) ( *( (fPt) ((* (ptr) pd298 ))))((* (( (ptr) &var←c90848)+4)/* dc←v12784 */ ), (word) (( (bPt) &var←c90848)+52)/* var←c85760 */ , (* (ptr) (* ( ( (ptr) &var←c90848)+15)/* pattern←v25144 */ ) ), (word) (( (bPt) &var←c90848)+36)/* var←c85696 */ , (* (( (ptr) seg←v25056)+6) ), (* (( (ptr) seg←v25056)+7) ), pd298); }; }; } else { SOURCE(29381, 50) { word pd299; pd299 = (* (( (ptr) (* (( (ptr) gf←c90880)+270)/* var←c82656 */ ))+71) ); (void) ( *( (fPt) ((* (ptr) pd299 ))))((* (( (ptr) &var←c90848)+4)/* dc←v12784 */ ), (word) (( (bPt) &var←c90848)+52)/* var←c85760 */ , 1, pd299) ; }; }; }; }; } static void TransformedCirclePath←P7128(moveTo←v69020, lineTo←v69048, curveTo←v69076, conicTo←v69104, arcTo←v69132, formal←c90944) word moveTo←v69020; word lineTo←v69048; word curveTo←v69076; word conicTo←v69104; word arcTo←v69132; word formal←c90944; { register ptr gf←c90912 = (ptr) &globalframe; formal←c90944 = (formal←c90944 - 52); /* TransformedCirclePath: */ SOURCE(28333, 127) SOURCE(28376, 84) { word pd300; pd300 = (* (( (ptr) (* (( (ptr) gf←c90912)+278)/* var←c83616 */ ))+6) ); (void) ( *( (fPt) ((* (ptr) pd300 ))))((word) (( (bPt) gf←c90912)+808)/* var←c81312 */ , (* (( (ptr) formal←c90944)+6) ), moveTo←v69020, lineTo←v69048, curveTo←v69076, conicTo←v69104 , arcTo←v69132, 0, pd300); }; } static void FillItIn←P7188(formal←c91008) word formal←c91008; { register ptr gf←c90976 = (ptr) &globalframe; formal←c91008 = (formal←c91008 - 44); /* FillItIn: */ SOURCE(28465, 320) SOURCE(28484, 127) if ((0 != (* (( (ptr) formal←c91008)+8) ))) { SOURCE(28507, 60) { word pd301; pd301 = (* (( (ptr) (* (( (ptr) gf←c90976)+275)/* var←c83424 */ ))+36) ); (void) ( *( (fPt) ((* (ptr) pd301 ))))((* (( (ptr) formal←c91008)+4) ), (* (( (ptr) (* (( (ptr) formal←c91008)+5) ))+11) ), (* (( (ptr) formal←c91008)+7) ), pd301); }; } else { SOURCE(28567, 44) { word pd302; pd302 = (* (( (ptr) (* (( (ptr) gf←c90976)+275)/* var←c83424 */ ))+36) ); (void) ( *( (fPt) ((* (ptr) pd302 ))))((* (( (ptr) formal←c91008)+4) ), (* (( (ptr) (* (( (ptr) formal←c91008)+5) ))+11) ), 0, pd302); }; }; SOURCE(28613, 51) if (((* (( (ptr) formal←c91008)+7) ) != 0)) { SOURCE(28636, 28) { word pd303; pd303 = (* (( (ptr) (* (( (ptr) gf←c90976)+270)/* var←c82656 */ ))+14) ); (void) ( *( (fPt) ((* (ptr) pd303 ))))((* (( (ptr) formal←c91008)+4) ), (* (( (ptr) formal←c91008)+7) ), pd303); }; }; SOURCE(28666, 29) { word pd304; pd304 = (* (( (ptr) (* (( (ptr) gf←c90976)+270)/* var←c82656 */ ))+14) ); (void) ( *( (fPt) ((* (ptr) pd304 ))))((* (( (ptr) formal←c91008)+4) ), (* (( (ptr) formal←c91008)+6) ), pd304); }; SOURCE(28697, 88) { word pd305; pd305 = (* (( (ptr) (* (( (ptr) gf←c90976)+270)/* var←c82656 */ ))+62) ); (void) ( *( (fPt) ((* (ptr) pd305 ))))((* (( (ptr) formal←c91008)+4) ), ( (0 != (* (( (ptr) (* (( (ptr) formal←c91008)+5) ))+12) )) ? (word) (( (bPt) gf←c90976)+808)/* var←c81312 */ : (word) (( (bPt) gf←c90976)+800)/* var←c81280 */ ) , 1, pd305) ; }; } static word PatternProc←P7296(i←v25220, formal←c91040) word i←v25220; word formal←c91040; { word var←c25264; formal←c91040 = (formal←c91040 - 36); /* PatternProc: */ SOURCE(29164, 19) SOURCE(29210, 18) { word limit306; return((* ((( (ptr) (* (( (ptr) formal←c91040)+15) ))+1)+( limit306 = (* (ptr) (* (( (ptr) formal←c91040)+15) ) ), BCK(i←v25220, limit306) )) )); }; } static void CirclePath←P1440(moveTo←v41624, lineTo←v41652, curveTo←v41680, conicTo←v41708, arcTo←v41736) word moveTo←v41624; word lineTo←v41652; word curveTo←v41680; word conicTo←v41708; word arcTo←v41736; { W2 left←v25292; W2 top←v25320; W2 right←v25348; W2 bottom←v25376; /* CirclePath: */ SOURCE(29440, 219) SOURCE(29499, 25) left←v25292.f0 = (* (ptr) &fc88 ); left←v25292.f1 = (* (ptr) &fc85 ); SOURCE(29526, 23) top←v25320.f0 = (* (ptr) &fc85 ); top←v25320.f1 = (* (ptr) &fc87 ); SOURCE(29551, 25) right←v25348.f0 = (* (ptr) &fc87 ); right←v25348.f1 = (* (ptr) &fc85 ); SOURCE(29578, 27) bottom←v25376.f0 = (* (ptr) &fc85 ); bottom←v25376.f1 = (* (ptr) &fc88 ); SOURCE(29607, 12) (void) ( *( (fPt) ((* (ptr) moveTo←v41624 ))))(left←v25292, moveTo←v41624); SOURCE(29621, 17) (void) ( *( (fPt) ((* (ptr) arcTo←v41736 ))))(top←v25320, right←v25348, arcTo←v41736); SOURCE(29640, 19) (void) ( *( (fPt) ((* (ptr) arcTo←v41736 ))))(bottom←v25376, left←v25292, arcTo←v41736); } static void CirclePathReverse←P1500(moveTo←v41796, lineTo←v41824, curveTo←v41852, conicTo←v41880, arcTo←v41908) word moveTo←v41796; word lineTo←v41824; word curveTo←v41852; word conicTo←v41880; word arcTo←v41908; { W2 leftSide←v25420; W2 rightSide←v25448; /* CirclePathReverse: */ SOURCE(29665, 190) SOURCE(29749, 29) leftSide←v25420.f0 = (* (ptr) &fc88 ); leftSide←v25420.f1 = (* (ptr) &fc85 ); SOURCE(29780, 29) rightSide←v25448.f0 = (* (ptr) &fc87 ); rightSide←v25448.f1 = (* (ptr) &fc85 ); SOURCE(29811, 16) (void) ( *( (fPt) ((* (ptr) moveTo←v41796 ))))(leftSide←v25420, moveTo←v41796); SOURCE(29829, 26) (void) ( *( (fPt) ((* (ptr) arcTo←v41908 ))))(rightSide←v25448, leftSide←v25420, arcTo←v41908); } static void DrawSelectionFeedbackAux←P1560(slice←v12984, circleData←v13012, formal←c01260, formal←c01261, formal←c01262, formal←c01263, formal←c01264) word slice←v12984; word circleData←v13012; word formal←c01260; word formal←c01261; word formal←c01262; word formal←c01263; word formal←c01264; { W11 var←c91072; /* declaration of normalCircleParts←v13040 skipped */ /* declaration of hotCircleParts←v13068 skipped */ /* declaration of dc←v13096 skipped */ /* declaration of t←v13124 skipped */ /* declaration of camera←v13152 skipped */ register ptr gf←c91104 = (ptr) &globalframe; /* declaration of var←c85984 skipped */ (* (( (ptr) &var←c91072)+4)/* normalCircleParts←v13040 */ ) = formal←c01260; (* (( (ptr) &var←c91072)+5)/* hotCircleParts←v13068 */ ) = formal←c01261; (* (( (ptr) &var←c91072)+6)/* dc←v13096 */ ) = formal←c01262; (* (( (ptr) &var←c91072)+7)/* t←v13124 */ ) = formal←c01263; (* (( (ptr) &var←c91072)+8)/* camera←v13152 */ ) = formal←c01264; /* DrawSelectionFeedbackAux: */ SOURCE(29861, 1010) { word tmpAddr307; tmpAddr307 = (word) (( (ptr) &var←c91072)+9)/* var←c85984 */ ; (* (ptr) tmpAddr307 ) = ( ((word) (fPt) DoDrawFeedback←P7356) ); (* (( (ptr) tmpAddr307) + 1) ) = 1; }; SOURCE(30838, 33) { word pd308; pd308 = (* (( (ptr) (* (( (ptr) gf←c91104)+270)/* var←c82656 */ ))+12) ); (void) ( *( (fPt) ((* (ptr) pd308 ))))((* (( (ptr) &var←c91072)+6)/* dc←v13096 */ ), (word) (( (bPt) &var←c91072)+36)/* var←c85984 */ , pd308) ; }; } static void DoDrawFeedback←P7356(formal←c91168) word formal←c91168; { register ptr gf←c91136 = (ptr) &globalframe; word thisCPisHot←v25552 = 0; word thisCPisSelected←v25580 = 0; W10 pts←v25608; formal←c91168 = (formal←c91168 - 36); /* DoDrawFeedback: */ SOURCE(30078, 746) SOURCE(30175, 33) { W2 var←c86016; { W2 var←c0510; { W2 var←c86048; var←c86048.f0 = (* (ptr) &fc85 ); var←c86048.f1 = (* (ptr) &fc85 ); { word pd309; pd309 = (* (( (ptr) (* (( (ptr) gf←c91136)+272)/* var←c82880 */ ))+39) ); (void) ( *( (fPt) ((* (ptr) pd309 ))))((word) &var←c0510, (* (( (ptr) formal←c91168)+7) ), var←c86048, pd309); }; }; var←c86016 = var←c0510; }; (* (W2Pt) &pts←v25608 ) = var←c86016; }; SOURCE(30210, 34) { W2 var←c86080; { W2 var←c0513; { W2 var←c86112; var←c86112.f0 = (* (ptr) &fc88 ); var←c86112.f1 = (* (ptr) &fc85 ); { word pd310; pd310 = (* (( (ptr) (* (( (ptr) gf←c91136)+272)/* var←c82880 */ ))+39) ); (void) ( *( (fPt) ((* (ptr) pd310 ))))((word) &var←c0513, (* (( (ptr) formal←c91168)+7) ), var←c86112, pd310); }; }; var←c86080 = var←c0513; }; (* (W2Pt) (( (ptr) &pts←v25608)+2) ) = var←c86080; }; SOURCE(30246, 33) { W2 var←c86144; { W2 var←c0516; { W2 var←c86176; var←c86176.f0 = (* (ptr) &fc85 ); var←c86176.f1 = (* (ptr) &fc87 ); { word pd311; pd311 = (* (( (ptr) (* (( (ptr) gf←c91136)+272)/* var←c82880 */ ))+39) ); (void) ( *( (fPt) ((* (ptr) pd311 ))))((word) &var←c0516, (* (( (ptr) formal←c91168)+7) ), var←c86176, pd311); }; }; var←c86144 = var←c0516; }; (* (W2Pt) (( (ptr) &pts←v25608)+4) ) = var←c86144; }; SOURCE(30281, 33) { W2 var←c86208; { W2 var←c0519; { W2 var←c86240; var←c86240.f0 = (* (ptr) &fc87 ); var←c86240.f1 = (* (ptr) &fc85 ); { word pd312; pd312 = (* (( (ptr) (* (( (ptr) gf←c91136)+272)/* var←c82880 */ ))+39) ); (void) ( *( (fPt) ((* (ptr) pd312 ))))((word) &var←c0519, (* (( (ptr) formal←c91168)+7) ), var←c86240, pd312); }; }; var←c86208 = var←c0519; }; (* (W2Pt) (( (ptr) &pts←v25608)+6) ) = var←c86208; }; SOURCE(30316, 34) { W2 var←c86272; { W2 var←c0522; { W2 var←c86304; var←c86304.f0 = (* (ptr) &fc85 ); var←c86304.f1 = (* (ptr) &fc88 ); { word pd313; pd313 = (* (( (ptr) (* (( (ptr) gf←c91136)+272)/* var←c82880 */ ))+39) ); (void) ( *( (fPt) ((* (ptr) pd313 ))))((word) &var←c0522, (* (( (ptr) formal←c91168)+7) ), var←c86304, pd313); }; }; var←c86272 = var←c0522; }; (* (W2Pt) (( (ptr) &pts←v25608)+8) ) = var←c86272; }; SOURCE(30352, 472) { register word index←v25688 = 0; lab←L100035: ; SOURCE(30403, 66) if (((* (( (ptr) formal←c91168)+5) ) != 0)) { thisCPisHot←v25552 = (unsigned) (0 != (* (( (ptr) (* (( (ptr) formal←c91168)+5) ))+index←v25688) )); } else { thisCPisHot←v25552 = (unsigned) 0; }; SOURCE(30471, 77) if (((* (( (ptr) formal←c91168)+4) ) != 0)) { thisCPisSelected←v25580 = (unsigned) (0 != (* (( (ptr) (* (( (ptr) formal←c91168)+4) ))+index←v25688) )); } else { thisCPisSelected←v25580 = (unsigned) 0; }; SOURCE(30550, 83) if ((0 != thisCPisHot←v25552)) { SOURCE(30570, 63) { word pd314; pd314 = (* (( (ptr) (* (( (ptr) gf←c91136)+279)/* var←c84512 */ ))+20) ); (void) ( *( (fPt) ((* (ptr) pd314 ))))((* (( (ptr) formal←c91168)+6) ), (* (( (W2Pt) &pts←v25608)+index←v25688) ), 1, (* ( ( (ptr) (* (( (ptr) formal←c91168)+8) ))+4) ), pd314); }; }; SOURCE(30635, 91) if ((0 != thisCPisSelected←v25580)) { SOURCE(30660, 66) { word pd315; pd315 = (* (( (ptr) (* (( (ptr) gf←c91136)+279)/* var←c84512 */ ))+20) ); (void) ( *( (fPt) ((* (ptr) pd315 ))))((* (( (ptr) formal←c91168)+6) ), (* (( (W2Pt) &pts←v25608)+index←v25688) ), 0, (* ( ( (ptr) (* (( (ptr) formal←c91168)+8) ))+4) ), pd315); }; }; SOURCE(30728, 96) if ( ( (0 == thisCPisHot←v25552) ? (0 == thisCPisSelected←v25580) : 0 ) ) { SOURCE(30777, 47) { word pd316; pd316 = (* (( (ptr) (* (( (ptr) gf←c91136)+279)/* var←c84512 */ ))+19) ); (void) ( *( (fPt) ((* (ptr) pd316 ))))((* (( (ptr) formal←c91168)+6) ), (* (( (W2Pt) &pts←v25608)+index←v25688) ), (* (( (ptr) (* ( ( (ptr) formal←c91168)+8) ))+4) ), pd316); }; }; if ((index←v25688 >= 4)) { goto lab←L100032; }; index←v25688 = (index←v25688 + 1); goto lab←L100035; lab←L100032: ; }; } static void CircleSaveSelections←P1620(slice←v13212, parts←v13240, selectClass←v13268) word slice←v13212; word parts←v13240; word selectClass←v13268; { W9 var←c91200; register ptr gf←c91232 = (ptr) &globalframe; /* declaration of var←c86336 skipped */ /* declaration of var←c86368 skipped */ word dontClear←v25788 = 1; word circleParts←v25816; /* declaration of circleData←v25844 skipped */ /* CircleSaveSelections: */ SOURCE(30877, 1157) { word tmpAddr317; tmpAddr317 = (word) (( (ptr) &var←c91200)+4)/* var←c86336 */ ; (* (ptr) tmpAddr317 ) = ( ((word) (fPt) SetSegmentField←P7524) ); (* (( (ptr) tmpAddr317) + 1) ) = 1; }; { word tmpAddr318; tmpAddr318 = (word) (( (ptr) &var←c91200)+6)/* var←c86368 */ ; (* (ptr) tmpAddr318 ) = ( ((word) (fPt) SetPointField←P7464) ); (* (( (ptr) tmpAddr318) + 1) ) = 1; }; SOURCE(31693, 40) circleParts←v25816 = XR←Narrow(parts←v13240, (* (( (ptr) gf←c91232)+13) )); SOURCE(31735, 43) (* (( (ptr) &var←c91200)+8)/* circleData←v25844 */ ) = XR←Narrow((* (( (ptr) slice←v13212)+1) ), (* (( (ptr) gf←c91232)+12) )); SOURCE(31780, 41) if ((circleParts←v25816 == 0)) { SOURCE(31804, 17) dontClear←v25788 = 0; }; SOURCE(31823, 121) { register word count←v26120 = 0; if (( (int)count←v26120 > (int)4)) { goto lab←L100036; }; lab←L100039: ; SOURCE(31869, 75) { word tc319; if ((0 != dontClear←v25788)) { tc319 = (word) (0 != (* (( (ptr) circleParts←v25816)+BCK(count←v26120, 5)) )); } else { tc319 = (word) 0; }; (void) SetPointField←P7464(count←v26120, (unsigned) tc319, selectClass←v13268, (word) (( (bPt) &var←c91200)+24)/* var←c86368 */ ) ; }; if (( (int)count←v26120 >= (int)4)) { goto lab←L100036; }; count←v26120 = (count←v26120 + 1); goto lab←L100039; lab←L100036: ; }; SOURCE(31955, 79) (void) SetSegmentField←P7524((* (( (ptr) (* (( (ptr) &var←c91200)+8)/* circleData←v25844 */ ))+33) ), (unsigned) ( (0 != dontClear←v25788) ? (0 != (* ( ( (ptr) circleParts←v25816)+5) )) : 0 ) , selectClass←v13268, (word) (( (bPt) &var←c91200)+16)/* var←c86336 */ ); } static void SetPointField←P7464(point←v25920, selected←v25948, selectClass←v25976, formal←c91264) word point←v25920; word selected←v25948; word selectClass←v25976; word formal←c91264; { formal←c91264 = (formal←c91264 - 24); /* SetPointField: */ SOURCE(30971, 373) SOURCE(31058, 286) { word var←c86400; var←c86400 = selectClass←v25976; switch (var←c86400) { case 0: SOURCE(31092, 56) (* (( (W4Pt) (( (ptr) (* (( (ptr) formal←c91264)+8) ))+13))+BCK(point←v25920, 5)) ).f0 = selected←v25948; break; case 1: SOURCE(31157, 53) (* (( (W4Pt) (( (ptr) (* (( (ptr) formal←c91264)+8) ))+13))+BCK(point←v25920, 5)) ).f1 = selected←v25948; break; case 2: SOURCE(31222, 56) (* (( (W4Pt) (( (ptr) (* (( (ptr) formal←c91264)+8) ))+13))+BCK(point←v25920, 5)) ).f2 = selected←v25948; break; case 3: SOURCE(31289, 55) (* (( (W4Pt) (( (ptr) (* (( (ptr) formal←c91264)+8) ))+13))+BCK(point←v25920, 5)) ).f3 = selected←v25948; break; }; }; } static void SetSegmentField←P7524(seg←v26036, selected←v26064, selectClass←v26092, formal←c91296) word seg←v26036; word selected←v26064; word selectClass←v26092; word formal←c91296; { formal←c91296 = (formal←c91296 - 16); /* SetSegmentField: */ SOURCE(31358, 297) SOURCE(31445, 210) { word var←c86432; var←c86432 = selectClass←v26092; switch (var←c86432) { case 0: SOURCE(31479, 37) (* (( (ptr) seg←v26036)+17) ) = selected←v26064; break; case 1: SOURCE(31525, 34) (* (( (ptr) seg←v26036)+18) ) = selected←v26064; break; case 2: SOURCE(31571, 37) (* (( (ptr) seg←v26036)+19) ) = selected←v26064; break; case 3: SOURCE(31619, 36) (* (( (ptr) seg←v26036)+20) ) = selected←v26064; break; }; }; } static word CircleRemakeSelections←P1680(slice←v13328, selectClass←v13356) word slice←v13328; word selectClass←v13356; { W9 var←c91328; register ptr gf←c91360 = (ptr) &globalframe; word parts←v13400; /* declaration of var←c86464 skipped */ /* declaration of var←c86496 skipped */ /* declaration of circleData←v26220 skipped */ word circleParts←v26248; /* CircleRemakeSelections: */ SOURCE(32040, 1083) { word tmpAddr320; tmpAddr320 = (word) (( (ptr) &var←c91328)+4)/* var←c86464 */ ; (* (ptr) tmpAddr320 ) = ( ((word) (fPt) GetSegmentField←P7692) ); (* (( (ptr) tmpAddr320) + 1) ) = 1; }; { word tmpAddr321; tmpAddr321 = (word) (( (ptr) &var←c91328)+6)/* var←c86496 */ ; (* (ptr) tmpAddr321 ) = ( ((word) (fPt) GetPointField←P7632) ); (* (( (ptr) tmpAddr321) + 1) ) = 1; }; SOURCE(32040, 1083) parts←v13400 = 0; SOURCE(32786, 43) (* (( (ptr) &var←c91328)+8)/* circleData←v26220 */ ) = XR←Narrow((* (( (ptr) slice←v13328)+1) ), (* (( (ptr) gf←c91360)+12) )); SOURCE(32831, 46) circleParts←v26248 = XR←NewObject(24, (* (( (ptr) gf←c91360)+13) )); SOURCE(32879, 108) { register word count←v26556 = 0; if (( (int)count←v26556 > (int)4)) { goto lab←L100040; }; lab←L100043: ; SOURCE(32925, 62) { word var←c86528; var←c86528 = (word) GetPointField←P7632(count←v26556, selectClass←v13356, (word) (( (bPt) &var←c91328)+24)/* var←c86496 */ ) ; (* (( (ptr) circleParts←v26248)+BCK(count←v26556, 5)) ) = var←c86528; }; if (( (int)count←v26556 >= (int)4)) { goto lab←L100040; }; count←v26556 = (count←v26556 + 1); goto lab←L100043; lab←L100040: ; }; SOURCE(32998, 66) (* (( (ptr) circleParts←v26248)+5) ) = (word) GetSegmentField←P7692((* (( (ptr) (* (( (ptr) &var←c91328)+8)/* circleData←v26220 */ ))+33) ), selectClass←v13356, (word) (( (bPt) &var←c91328)+16)/* var←c86464 */ ); SOURCE(33066, 57) if ((0 != (word) IsEmpty←P4320(circleParts←v26248))) { parts←v13400 = 0; } else { parts←v13400 = circleParts←v26248; }; SOURCE(32040, 1083) return(parts←v13400); } static word GetPointField←P7632(point←v26324, selectClass←v26352, formal←c91392) word point←v26324; word selectClass←v26352; word formal←c91392; { word var←c26396; formal←c91392 = (formal←c91392 - 24); /* GetPointField: */ SOURCE(32145, 353) SOURCE(32230, 268) { word var←c86560; var←c86560 = selectClass←v26352; switch (var←c86560) { case 0: return((* (( (W4Pt) (( (ptr) (* (( (ptr) formal←c91392)+8) ))+13))+BCK(point←v26324, 5)) ).f0); case 1: return((* (( (W4Pt) (( (ptr) (* (( (ptr) formal←c91392)+8) ))+13))+BCK(point←v26324, 5)) ).f1); case 2: return((* (( (W4Pt) (( (ptr) (* (( (ptr) formal←c91392)+8) ))+13))+BCK(point←v26324, 5)) ).f2); case 3: return((* (( (W4Pt) (( (ptr) (* (( (ptr) formal←c91392)+8) ))+13))+BCK(point←v26324, 5)) ).f3); default: return(0); }; }; } static word GetSegmentField←P7692(seg←v26456, selectClass←v26484, formal←c91424) word seg←v26456; word selectClass←v26484; word formal←c91424; { word var←c26528; formal←c91424 = (formal←c91424 - 16); /* GetSegmentField: */ SOURCE(32503, 278) SOURCE(32589, 192) { word var←c86592; var←c86592 = selectClass←v26484; switch (var←c86592) { case 0: return((* (( (ptr) seg←v26456)+17) )); case 1: return((* (( (ptr) seg←v26456)+18) )); case 2: return((* (( (ptr) seg←v26456)+19) )); case 3: return((* (( (ptr) seg←v26456)+20) )); default: return(0); }; }; } static void CircleTransform←P1740(slice←v13460, parts←v13488, transform←v13516, editConstraints←v13544, history←v13572) word slice←v13460; word parts←v13488; word transform←v13516; word editConstraints←v13544; word history←v13572; { register ptr gf←c91456 = (ptr) &globalframe; word isOrigin←v26600 = 0; word cpCount←v26628 = 0; word cpIndex←v26656 = (word) -1; W2 originPoint←v26684; W2 edgePoint←v26712; W2 pointInUnitSpace←v26740; word circleData←v26768; word circleParts←v26796; /* CircleTransform: */ SOURCE(33230, 2354) SOURCE(33490, 43) circleData←v26768 = XR←Narrow((* (( (ptr) slice←v13460)+1) ), (* (( (ptr) gf←c91456)+12) )); SOURCE(33535, 40) circleParts←v26796 = XR←Narrow(parts←v13488, (* (( (ptr) gf←c91456)+13) )); SOURCE(33577, 2007) SOURCE(33583, 65) if ((circleParts←v26796 == 0) || (0 != (* (ptr) circleParts←v26796 ))) { SOURCE(33633, 15) isOrigin←v26600 = 1; }; SOURCE(33650, 145) { register word index←v26840 = 1; lab←L100048: ; SOURCE(33701, 94) if ((circleParts←v26796 == 0)) { goto then0322;}; if ((0 != (* (( (ptr) circleParts←v26796)+index←v26840) ))) { then0322: ; SOURCE(33757, 21) cpCount←v26628 = (cpCount←v26628 + 1); SOURCE(33780, 15) cpIndex←v26656 = index←v26840; }; if ((index←v26840 >= 4)) { goto lab←L100045; }; index←v26840 = (index←v26840 + 1); goto lab←L100048; lab←L100045: ; }; SOURCE(33809, 262) if ((circleParts←v26796 == 0) || (0 != (* (( (ptr) circleParts←v26796)+5) ))) { SOURCE(33906, 83) { word pd323; pd323 = (* (( (ptr) (* (( (ptr) gf←c91456)+272)/* var←c82880 */ ))+13) ); (* (( (ptr) circleData←v26768)+1) ) = (word) ( *( (fPt) ((* (ptr) pd323 ))))((* (( (ptr) circleData←v26768)+1) ), transform←v13516, pd323) ; }; SOURCE(33991, 80) { word pd324; pd324 = (* (( (ptr) (* (( (ptr) gf←c91456)+275)/* var←c83424 */ ))+37) ); (* (( (ptr) circleData←v26768)+11) ) = (word) ( *( (fPt) ((* (ptr) pd324 ))))((* (( (ptr) circleData←v26768)+11) ), transform←v13516, pd324) ; }; SOURCE(34073, 20) goto lab←L100044; }; SOURCE(34098, 175) if ((0 != isOrigin←v26600) || ( (int)cpCount←v26628 > (int)1)) { SOURCE(34190, 83) { word pd325; pd325 = (* (( (ptr) (* (( (ptr) gf←c91456)+272)/* var←c82880 */ ))+13) ); (* (( (ptr) circleData←v26768)+1) ) = (word) ( *( (fPt) ((* (ptr) pd325 ))))((* (( (ptr) circleData←v26768)+1) ), transform←v13516, pd325) ; }; SOURCE(34275, 20) goto lab←L100044; }; SOURCE(34301, 78) { W2 var←c0573; { W2 var←c86624; var←c86624.f0 = (* (ptr) &fc85 ); var←c86624.f1 = (* (ptr) &fc85 ); { word pd326; pd326 = (* (( (ptr) (* (( (ptr) gf←c91456)+272)/* var←c82880 */ ))+39) ); (void) ( *( (fPt) ((* (ptr) pd326 ))))((word) &var←c0573, (* (( (ptr) circleData←v26768)+1) ), var←c86624, pd326); }; }; originPoint←v26684 = var←c0573; }; SOURCE(34381, 589) if ( ( ( (int)cpCount←v26628 == (int)0) ? (0 == isOrigin←v26600) : 0 ) ) { SOURCE(34420, 134) { W2 var←c86656; W2 var←c86688; W6 var←c0577; { word pd327; pd327 = (* (( (ptr) (* (( (ptr) gf←c91456)+273)/* var←c82944 */ ))+11) ); (void) ( *( (fPt) ((* (ptr) pd327 ))))((word) &var←c86656, (* (W2Pt) (( (ptr) circleData←v26768)+9) ), originPoint←v26684, pd327) ; }; { word pd328; pd328 = (* (( (ptr) (* (( (ptr) gf←c91456)+272)/* var←c82880 */ ))+50) ); (void) ( *( (fPt) ((* (ptr) pd328 ))))((word) &var←c0577, transform←v13516, pd328); }; var←c86688 = (* (W2Pt) (( (ptr) &var←c0577)+4) ); { W2 var←c0578; { word pd329; pd329 = (* (( (ptr) (* (( (ptr) gf←c91456)+273)/* var←c82944 */ ))+10) ); (void) ( *( (fPt) ((* (ptr) pd329 ))))((word) &var←c0578, var←c86656, var←c86688, pd329); }; edgePoint←v26712 = var←c0578; }; }; SOURCE(34588, 49) { word pd330; pd330 = (* (( (ptr) (* (( (ptr) gf←c91456)+273)/* var←c82944 */ ))+10) ); (void) ( *( (fPt) ((* (ptr) pd330 ))))((word) &edgePoint←v26712, originPoint←v26684, edgePoint←v26712, pd330); }; } else { SOURCE(34732, 172) { W2 var←c86720; { word var←c86752; var←c86752 = cpIndex←v26656; switch (var←c86752) { case 1: var←c86720.f0 = (* (ptr) &fc88 ); var←c86720.f1 = (* (ptr) &fc85 ); break; case 2: var←c86720.f0 = (* (ptr) &fc85 ); var←c86720.f1 = (* (ptr) &fc87 ); break; case 3: var←c86720.f0 = (* (ptr) &fc87 ); var←c86720.f1 = (* (ptr) &fc85 ); break; case 4: var←c86720.f0 = (* (ptr) &fc85 ); var←c86720.f1 = (* (ptr) &fc88 ); break; default: var←c86720 = (* (W2Pt) ( XR←RaiseUnnamedError(), &dummy156 ) ); break; }; }; { W2 var←c0586; { word pd331; pd331 = (* (( (ptr) (* (( (ptr) gf←c91456)+272)/* var←c82880 */ ))+39) ); (void) ( *( (fPt) ((* (ptr) pd331 ))))((word) &var←c0586, (* (( (ptr) circleData←v26768)+1) ), var←c86720, pd331); }; edgePoint←v26712 = var←c0586; }; }; SOURCE(34906, 64) { word pd332; pd332 = (* (( (ptr) (* (( (ptr) gf←c91456)+272)/* var←c82880 */ ))+39) ); (void) ( *( (fPt) ((* (ptr) pd332 ))))((word) &edgePoint←v26712, transform←v13516, edgePoint←v26712, pd332); }; }; SOURCE(34997, 80) { word pd333; pd333 = (* (( (ptr) (* (( (ptr) gf←c91456)+272)/* var←c82880 */ ))+39) ); (void) ( *( (fPt) ((* (ptr) pd333 ))))((word) &pointInUnitSpace←v26740, (* (( (ptr) circleData←v26768)+6) ), edgePoint←v26712, pd333) ; }; SOURCE(35079, 132) { word var←c86912; { word pd334; word x335; float tf336; float tf337; word x338; float tf339; pd334 = (* (( (ptr) (* (( (ptr) gf←c91456)+273)/* var←c82944 */ ))+18) ); var←c86912 = ( tf339 = FMAX(( x335 = (word) ( *( (fPt) ((* (ptr) pd334 ))))(pointInUnitSpace←v26740, pd334), *(float*)&x335 ), ( x338 = (* (( (ptr) gf←c91456)+5)/* circleLimit←v6164 */ ), *(float*)&x338 ), tf336, tf337), *(word*)&tf339 ); }; { word pd340; pd340 = (* (( (ptr) (* (( (ptr) gf←c91456)+272)/* var←c82880 */ ))+15) ); (* (( (ptr) circleData←v26768)+1) ) = (word) ( *( (fPt) ((* (ptr) pd340 ))))((* (( (ptr) circleData←v26768)+1) ), var←c86912, pd340) ; }; }; SOURCE(35245, 20) goto lab←L100044; /* c2c skipped dead code */ lab←L100044: ; SOURCE(35294, 76) { word pd341; pd341 = (* (( (ptr) (* (( (ptr) gf←c91456)+272)/* var←c82880 */ ))+56) ); (void) ( *( (fPt) ((* (ptr) pd341 ))))((word) (( (bPt) circleData←v26768)+8), (* (( (ptr) circleData←v26768)+1) ), pd341) ; }; SOURCE(35372, 70) { word pd342; pd342 = (* (( (ptr) (* (( (ptr) gf←c91456)+272)/* var←c82880 */ ))+51) ); (* (( (ptr) circleData←v26768)+6) ) = (word) ( *( (fPt) ((* (ptr) pd342 ))))((* ((( (ptr) circleData←v26768)+1)) ), pd342) ; }; SOURCE(35444, 81) { word pd343; pd343 = (* (( (ptr) (* (( (ptr) gf←c91456)+272)/* var←c82880 */ ))+56) ); (void) ( *( (fPt) ((* (ptr) pd343 ))))((word) (( (bPt) circleData←v26768)+28), (* (( (ptr) circleData←v26768)+6) ), pd343) ; }; SOURCE(35527, 23) (void) CircleSetScaling←P420(slice←v13460); SOURCE(35552, 27) { word pd344; pd344 = (* (( (ptr) (* (( (ptr) gf←c91456)+267)/* var←c82368 */ ))+68) ); (void) ( *( (fPt) ((* (ptr) pd344 ))))(slice←v13460, pd344); }; } static word CircleDescribeHit←P1800(slice←v13632, hitData←v13660) word slice←v13632; word hitData←v13660; { register ptr gf←c91488 = (ptr) &globalframe; word rope←v13720; word circleHitData←v26884; word prefix←v26912 = 0; /* CircleDescribeHit: */ SOURCE(35592, 377) SOURCE(35592, 377) rope←v13720 = 0; SOURCE(35679, 46) circleHitData←v26884 = XR←Narrow(hitData←v13660, (* (( (ptr) gf←c91488)+21) )); SOURCE(35746, 168) if (( (int)((* (ptr) circleHitData←v26884 ) - 1) != (int) (word) -1)) { SOURCE(35778, 76) if (( (int)((* (ptr) circleHitData←v26884 ) - 1) == (int)0)) { prefix←v26912 = (* (( (ptr) gf←c91488)+46) ); } else { prefix←v26912 = (* (( (ptr) gf←c91488)+25) ); }; } else { SOURCE(35861, 53) if ((0 != (* (( (ptr) circleHitData←v26884)+3) ))) { SOURCE(35891, 23) prefix←v26912 = (* (( (ptr) gf←c91488)+26) ); } else { SOURCE(35914, 5) (void) XR←RaiseUnnamedError(); }; }; SOURCE(35921, 48) { word pd345; pd345 = (* (( (ptr) (* (( (ptr) gf←c91488)+282)/* var←c86944 */ ))+6) ); rope←v13720 = (word) ( *( (fPt) ((* (ptr) pd345 ))))(prefix←v26912, (* (( (ptr) gf←c91488)+27) ), pd345); }; SOURCE(35592, 377) return(rope←v13720); } static word CircleDescribe←P1860(sliceD←v13780) word sliceD←v13780; { register ptr gf←c91520 = (ptr) &globalframe; word rope←v13824; word prefix←v26956 = 0; word cpCount←v26984 = 0; word circleParts←v27012 = 0; /* CircleDescribe: */ SOURCE(35975, 622) SOURCE(35975, 622) rope←v13824 = 0; SOURCE(36115, 51) if (((* (( (ptr) sliceD←v13780)+1) ) == 0)) { SOURCE(36142, 24) return((* (( (ptr) gf←c91520)+28) )); }; SOURCE(36168, 34) circleParts←v27012 = XR←Narrow((* (( (ptr) sliceD←v13780)+1) ), (* (( (ptr) gf←c91520)+13) )); SOURCE(36204, 107) { register word index←v27056 = 0; lab←L100053: ; SOURCE(36255, 56) if ((0 != (* (( (ptr) circleParts←v27012)+index←v27056) ))) { SOURCE(36290, 21) cpCount←v26984 = (cpCount←v26984 + 1); }; if ((index←v27056 >= 4)) { goto lab←L100050; }; index←v27056 = (index←v27056 + 1); goto lab←L100053; lab←L100050: ; }; SOURCE(36322, 63) if (( (int)cpCount←v26984 > (int)1)) { SOURCE(36342, 43) return((* (( (ptr) gf←c91520)+29) )); }; SOURCE(36387, 160) if (( (int)cpCount←v26984 == (int)0)) { SOURCE(36405, 67) if ((0 != (* (( (ptr) circleParts←v27012)+5) ))) { prefix←v26956 = (* (( (ptr) gf←c91520)+30) ); } else { prefix←v26956 = (* (( (ptr) gf←c91520)+31) ); }; } else { SOURCE(36472, 75) if ((0 != (* (ptr) circleParts←v27012 ))) { prefix←v26956 = (* (( (ptr) gf←c91520)+46) ); } else { prefix←v26956 = (* (( (ptr) gf←c91520)+25) ); }; }; SOURCE(36549, 48) { word pd346; pd346 = (* (( (ptr) (* (( (ptr) gf←c91520)+282)/* var←c86944 */ ))+6) ); rope←v13824 = (word) ( *( (fPt) ((* (ptr) pd346 ))))(prefix←v26956, (* (( (ptr) gf←c91520)+27) ), pd346); }; SOURCE(35975, 622) return(rope←v13824); } static void CircleFileout←P1920(slice←v13884, f←v13912) word slice←v13884; word f←v13912; { register ptr gf←c91552 = (ptr) &globalframe; word circleData←v27100; /* CircleFileout: */ SOURCE(36603, 929) SOURCE(36656, 43) circleData←v27100 = XR←Narrow((* (( (ptr) slice←v13884)+1) ), (* (( (ptr) gf←c91552)+12) )); SOURCE(36701, 55) { word pd347; pd347 = (* (( (ptr) (* (( (ptr) gf←c91552)+283)/* var←c86976 */ ))+10) ); (void) ( *( (fPt) ((* (ptr) pd347 ))))(f←v13912, (* (( (ptr) circleData←v27100)+1) ), pd347); }; SOURCE(36758, 27) { word pd348; pd348 = (* (( (ptr) (* (( (ptr) gf←c91552)+284)/* var←c87008 */ ))+93) ); (void) ( *( (fPt) ((* (ptr) pd348 ))))(f←v13912, (* (( (ptr) gf←c91552)+32) ), 0, 2147483647, pd348); }; SOURCE(36787, 50) { W2 var←c87040; var←c87040.f0 = 8; var←c87040.f1 = (* (( (ptr) (* (( (ptr) circleData←v27100)+33) ))+2) ); { word pd349; pd349 = (* (( (ptr) (* (( (ptr) gf←c91552)+284)/* var←c87008 */ ))+61) ); (void) ( *( (fPt) ((* (ptr) pd349 ))))(f←v13912, (* (( (ptr) gf←c91552)+33) ), var←c87040, pd349); }; }; SOURCE(36839, 27) { word pd350; pd350 = (* (( (ptr) (* (( (ptr) gf←c91552)+284)/* var←c87008 */ ))+93) ); (void) ( *( (fPt) ((* (ptr) pd350 ))))(f←v13912, (* (( (ptr) gf←c91552)+34) ), 0, 2147483647, pd350); }; SOURCE(36868, 46) { word pd351; pd351 = (* (( (ptr) (* (( (ptr) gf←c91552)+283)/* var←c86976 */ ))+6) ); (void) ( *( (fPt) ((* (ptr) pd351 ))))(f←v13912, (* (( (ptr) (* (( (ptr) circleData←v27100)+33) ))+8) ), pd351); }; SOURCE(36916, 25) { word pd352; pd352 = (* (( (ptr) (* (( (ptr) gf←c91552)+284)/* var←c87008 */ ))+93) ); (void) ( *( (fPt) ((* (ptr) pd352 ))))(f←v13912, (* (( (ptr) gf←c91552)+35) ), 0, 2147483647, pd352); }; SOURCE(36943, 46) { word pd353; pd353 = (* (( (ptr) (* (( (ptr) gf←c91552)+283)/* var←c86976 */ ))+6) ); (void) ( *( (fPt) ((* (ptr) pd353 ))))(f←v13912, (* (( (ptr) circleData←v27100)+11) ), pd353); }; SOURCE(36991, 24) { word pd354; pd354 = (* (( (ptr) (* (( (ptr) gf←c91552)+284)/* var←c87008 */ ))+93) ); (void) ( *( (fPt) ((* (ptr) pd354 ))))(f←v13912, (* (( (ptr) gf←c91552)+36) ), 0, 2147483647, pd354); }; SOURCE(37017, 46) { word pd355; pd355 = (* (( (ptr) (* (( (ptr) gf←c91552)+283)/* var←c86976 */ ))+15) ); (void) ( *( (fPt) ((* (ptr) pd355 ))))(f←v13912, (* (( (ptr) (* (( (ptr) circleData←v27100)+33) ))+4) ), pd355); }; SOURCE(37065, 16) { word pd356; pd356 = (* (( (ptr) (* (( (ptr) gf←c91552)+284)/* var←c87008 */ ))+21) ); (void) ( *( (fPt) ((* (ptr) pd356 ))))(f←v13912, 32, pd356); }; SOURCE(37083, 167) if ((0 != (* (( (ptr) (* (( (ptr) circleData←v27100)+33) ))+4) ))) { SOURCE(37115, 54) { word pd357; pd357 = (* (( (ptr) (* (( (ptr) gf←c91552)+283)/* var←c86976 */ ))+14) ); (void) ( *( (fPt) ((* (ptr) pd357 ))))(f←v13912, (* (( (ptr) (* (( (ptr) circleData←v27100)+33) ))+5) ), pd357); }; SOURCE(37171, 79) { W2 var←c87072; W2 var←c87104; W2 var←c01213; var←c87072.f0 = 8; var←c87072.f1 = (* (( (ptr) (* (( (ptr) circleData←v27100)+33) ))+6) ); var←c87104.f0 = 8; var←c87104.f1 = (* (( (ptr) (* (( (ptr) circleData←v27100)+33) ))+7) ); (* (ptr) (word) &var←c01213 ) = 0; (* (( (ptr) (word) &var←c01213) + 1) ) = 0; { word pd358; pd358 = (* (( (ptr) (* (( (ptr) gf←c91552)+284)/* var←c87008 */ ))+60) ); (void) ( *( (fPt) ((* (ptr) pd358 ))))(f←v13912, (* (( (ptr) gf←c91552)+37) ), var←c87072, var←c87104, var←c01213, pd358) ; }; }; }; SOURCE(37255, 15) { word pd359; pd359 = (* (( (ptr) (* (( (ptr) gf←c91552)+284)/* var←c87008 */ ))+93) ); (void) ( *( (fPt) ((* (ptr) pd359 ))))(f←v13912, (* (( (ptr) gf←c91552)+38) ), 0, 2147483647, pd359); }; SOURCE(37272, 23) { word pd360; pd360 = (* (( (ptr) (* (( (ptr) gf←c91552)+284)/* var←c87008 */ ))+93) ); (void) ( *( (fPt) ((* (ptr) pd360 ))))(f←v13912, (* (( (ptr) gf←c91552)+39) ), 0, 2147483647, pd360); }; SOURCE(37297, 49) { word pd361; pd361 = (* (( (ptr) (* (( (ptr) gf←c91552)+283)/* var←c86976 */ ))+15) ); (void) ( *( (fPt) ((* (ptr) pd361 ))))(f←v13912, (unsigned) ((* (( (ptr) (* (( (ptr) circleData←v27100)+33) ))+25) ) != 0), pd361) ; }; SOURCE(37348, 101) if (((* (( (ptr) (* (( (ptr) circleData←v27100)+33) ))+25) ) != 0)) { SOURCE(37381, 52) { word pd362; pd362 = (* (( (ptr) (* (( (ptr) gf←c91552)+283)/* var←c86976 */ ))+13) ); (void) ( *( (fPt) ((* (ptr) pd362 ))))(f←v13912, (* (( (ptr) (* (( (ptr) circleData←v27100)+33) ))+25) ), pd362); }; } else { SOURCE(37433, 16) { word pd363; pd363 = (* (( (ptr) (* (( (ptr) gf←c91552)+284)/* var←c87008 */ ))+21) ); (void) ( *( (fPt) ((* (ptr) pd363 ))))(f←v13912, 32, pd363); }; }; SOURCE(37467, 20) { word pd364; pd364 = (* (( (ptr) (* (( (ptr) gf←c91552)+284)/* var←c87008 */ ))+93) ); (void) ( *( (fPt) ((* (ptr) pd364 ))))(f←v13912, (* (( (ptr) gf←c91552)+40) ), 0, 2147483647, pd364); }; SOURCE(37489, 43) { word pd365; pd365 = (* (( (ptr) (* (( (ptr) gf←c91552)+283)/* var←c86976 */ ))+15) ); (void) ( *( (fPt) ((* (ptr) pd365 ))))(f←v13912, (* (( (ptr) circleData←v27100)+12) ), pd365); }; } static word CircleFilein←P1980(f←v13972, version←v14000, router←v14028, camera←v14056) word f←v13972; word version←v14000; word router←v14028; word camera←v14056; { register ptr gf←c91584 = (ptr) &globalframe; word slice←v14100; word fwd←v27144 = 1; word circleData←v27172 = 0; W2 origin←v27200; W2 outerPoint←v27228; word transform←v27256 = 0; word strokeWidth←v27284; word strokeColor←v27312 = 0; word fillColor←v27340 = 0; /* CircleFilein: */ SOURCE(37537, 2097) SOURCE(37537, 2097) slice←v14100 = 0; SOURCE(37794, 43) { word pd366; pd366 = (* (( (ptr) (* (( (ptr) gf←c91584)+285)/* var←c87168 */ ))+20) ); transform←v27256 = (word) ( *( (fPt) ((* (ptr) pd366 ))))(f←v13972, pd366); }; SOURCE(37839, 69) { W2 var←c0623; { W2 var←c87200; var←c87200.f0 = (* (ptr) &fc85 ); var←c87200.f1 = (* (ptr) &fc85 ); { word pd367; pd367 = (* (( (ptr) (* (( (ptr) gf←c91584)+272)/* var←c82880 */ ))+39) ); (void) ( *( (fPt) ((* (ptr) pd367 ))))((word) &var←c0623, transform←v27256, var←c87200, pd367); }; }; origin←v27200 = var←c0623; }; SOURCE(37910, 73) { W2 var←c0625; { W2 var←c87232; var←c87232.f0 = (* (ptr) &fc85 ); var←c87232.f1 = (* (ptr) &fc87 ); { word pd368; pd368 = (* (( (ptr) (* (( (ptr) gf←c91584)+272)/* var←c82880 */ ))+39) ); (void) ( *( (fPt) ((* (ptr) pd368 ))))((word) &var←c0625, transform←v27256, var←c87232, pd368); }; }; outerPoint←v27228 = var←c0625; }; SOURCE(37985, 37) { word pd369; pd369 = (* (( (ptr) (* (( (ptr) gf←c91584)+285)/* var←c87168 */ ))+9) ); (void) ( *( (fPt) ((* (ptr) pd369 ))))(f←v13972, (* (( (ptr) gf←c91584)+41) ), pd369); }; SOURCE(38024, 35) { word pd370; pd370 = (* (( (ptr) (* (( (ptr) gf←c91584)+285)/* var←c87168 */ ))+27) ); strokeWidth←v27284 = (word) ( *( (fPt) ((* (ptr) pd370 ))))(f←v13972, pd370); }; SOURCE(38061, 37) { word pd371; pd371 = (* (( (ptr) (* (( (ptr) gf←c91584)+285)/* var←c87168 */ ))+9) ); (void) ( *( (fPt) ((* (ptr) pd371 ))))(f←v13972, (* (( (ptr) gf←c91584)+42) ), pd371); }; SOURCE(38100, 45) { word pd372; pd372 = (* (( (ptr) (* (( (ptr) gf←c91584)+285)/* var←c87168 */ ))+16) ); strokeColor←v27312 = (word) ( *( (fPt) ((* (ptr) pd372 ))))(f←v13972, version←v14000, pd372); }; SOURCE(38147, 35) { word pd373; pd373 = (* (( (ptr) (* (( (ptr) gf←c91584)+285)/* var←c87168 */ ))+9) ); (void) ( *( (fPt) ((* (ptr) pd373 ))))(f←v13972, (* (( (ptr) gf←c91584)+43) ), pd373); }; SOURCE(38184, 43) { word pd374; pd374 = (* (( (ptr) (* (( (ptr) gf←c91584)+285)/* var←c87168 */ ))+16) ); fillColor←v27340 = (word) ( *( (fPt) ((* (ptr) pd374 ))))(f←v13972, version←v14000, pd374); }; SOURCE(38229, 49) slice←v14100 = (* (ptr) MakeCircleSlice←P120(origin←v27200, outerPoint←v27228) ); SOURCE(38280, 31) circleData←v27172 = XR←Narrow((* (( (ptr) slice←v14100)+1) ), (* (( (ptr) gf←c91584)+12) )); SOURCE(38313, 32) (* (( (ptr) circleData←v27172)+1) ) = transform←v27256; SOURCE(38347, 76) { word pd375; pd375 = (* (( (ptr) (* (( (ptr) gf←c91584)+272)/* var←c82880 */ ))+56) ); (void) ( *( (fPt) ((* (ptr) pd375 ))))((word) (( (bPt) circleData←v27172)+8), (* (( (ptr) circleData←v27172)+1) ), pd375) ; }; SOURCE(38425, 70) { word pd376; pd376 = (* (( (ptr) (* (( (ptr) gf←c91584)+272)/* var←c82880 */ ))+51) ); (* (( (ptr) circleData←v27172)+6) ) = (word) ( *( (fPt) ((* (ptr) pd376 ))))((* ((( (ptr) circleData←v27172)+1)) ), pd376) ; }; SOURCE(38497, 81) { word pd377; pd377 = (* (( (ptr) (* (( (ptr) gf←c91584)+272)/* var←c82880 */ ))+56) ); (void) ( *( (fPt) ((* (ptr) pd377 ))))((word) (( (bPt) circleData←v27172)+28), (* (( (ptr) circleData←v27172)+6) ), pd377) ; }; SOURCE(38580, 40) (* (( (ptr) (* (( (ptr) circleData←v27172)+33) ))+2) ) = strokeWidth←v27284; SOURCE(38622, 34) (* (( (ptr) (* (( (ptr) circleData←v27172)+33) ))+8) ) = strokeColor←v27312; SOURCE(38658, 32) (* (( (ptr) circleData←v27172)+11) ) = fillColor←v27340; SOURCE(38692, 344) { word x378; word x380; if ((( x378 = version←v14000, *(float*)&x378 ) >= ( x380 = (* (ptr) &fc379 ), *(float*)&x380 ))) { SOURCE(38744, 34) { word pd381; pd381 = (* (( (ptr) (* (( (ptr) gf←c91584)+285)/* var←c87168 */ ))+9) ); (void) ( *( (fPt) ((* (ptr) pd381 ))))(f←v13972, (* (( (ptr) gf←c91584)+44) ), pd381); }; SOURCE(38780, 45) { word pd382; pd382 = (* (( (ptr) (* (( (ptr) gf←c91584)+285)/* var←c87168 */ ))+24) ); (* (( (ptr) (* (( (ptr) circleData←v27172)+33) ))+4) ) = (word) ( *( (fPt) ((* (ptr) pd382 ))))(f←v13972, pd382); }; SOURCE(38827, 179) if ((0 != (* (( (ptr) (* (( (ptr) circleData←v27172)+33) ))+4) ))) { SOURCE(38859, 53) { word pd383; pd383 = (* (( (ptr) (* (( (ptr) gf←c91584)+285)/* var←c87168 */ ))+23) ); (* (( (ptr) (* (( (ptr) circleData←v27172)+33) ))+5) ) = (word) ( *( (fPt) ((* (ptr) pd383 ))))(f←v13972, pd383); }; SOURCE(38914, 45) { word pd384; pd384 = (* (( (ptr) (* (( (ptr) gf←c91584)+285)/* var←c87168 */ ))+27) ); (* (( (ptr) (* (( (ptr) circleData←v27172)+33) ))+6) ) = (word) ( *( (fPt) ((* (ptr) pd384 ))))(f←v13972, pd384); }; SOURCE(38961, 45) { word pd385; pd385 = (* (( (ptr) (* (( (ptr) gf←c91584)+285)/* var←c87168 */ ))+27) ); (* (( (ptr) (* (( (ptr) circleData←v27172)+33) ))+7) ) = (word) ( *( (fPt) ((* (ptr) pd385 ))))(f←v13972, pd385); }; }; SOURCE(39011, 25) { word pd386; pd386 = (* (( (ptr) (* (( (ptr) gf←c91584)+285)/* var←c87168 */ ))+10) ); (void) ( *( (fPt) ((* (ptr) pd386 ))))(f←v13972, 41, pd386); }; }; }; SOURCE(39041, 536) { word x387; word x389; if ((( x387 = version←v14000, *(float*)&x387 ) >= ( x389 = (* (ptr) &fc388 ), *(float*)&x389 ))) { SOURCE(39066, 516) { word hasProps←v27384 = 0; word props←v27412 = 0; SOURCE(39149, 34) { word pd390; pd390 = (* (( (ptr) (* (( (ptr) gf←c91584)+285)/* var←c87168 */ ))+9) ); (void) ( *( (fPt) ((* (ptr) pd390 ))))(f←v13972, (* (( (ptr) gf←c91584)+45) ), pd390); }; SOURCE(39185, 32) { word pd391; pd391 = (* (( (ptr) (* (( (ptr) gf←c91584)+285)/* var←c87168 */ ))+24) ); hasProps←v27384 = (word) ( *( (fPt) ((* (ptr) pd391 ))))(f←v13972, pd391); }; SOURCE(39219, 61) { word pd392; if ((0 != hasProps←v27384)) { pd392 = (* (( (ptr) (* (( (ptr) gf←c91584)+285)/* var←c87168 */ ))+13) ); props←v27412 = (word) ( *( (fPt) ((* (ptr) pd392 ))))(f←v13972, pd392); } else { props←v27412 = 0; }; }; SOURCE(39282, 25) { word pd393; pd393 = (* (( (ptr) (* (( (ptr) gf←c91584)+285)/* var←c87168 */ ))+10) ); (void) ( *( (fPt) ((* (ptr) pd393 ))))(f←v13972, 41, pd393); }; SOURCE(39309, 146) if ((props←v27412 != 0)) { SOURCE(39329, 126) { register word next←v27540; next←v27540 = props←v27412; lab←L100057: ; if ((next←v27540 != 0)) { } else { goto lab←L100054; }; SOURCE(39394, 61) { word var←c87264; var←c87264 = XR←NewObject(8, (* (( (ptr) gf←c91584)+24) )); (* (ptr) var←c87264 ) = (* (ptr) next←v27540 ); (* (( (ptr) var←c87264)+1) ) = (* (( (ptr) (* (( (ptr) circleData←v27172)+33) ))+25) ); (* (( (ptr) (* (( (ptr) circleData←v27172)+33) ))+25) ) = var←c87264; }; next←v27540 = (* (( (ptr) next←v27540)+1) ); goto lab←L100057; lab←L100054: ; }; }; SOURCE(39469, 108) { word x394; word x396; if ((( x394 = version←v14000, *(float*)&x394 ) >= ( x396 = (* (ptr) &fc395 ), *(float*)&x396 ))) { SOURCE(39519, 29) { word pd397; pd397 = (* (( (ptr) (* (( (ptr) gf←c91584)+285)/* var←c87168 */ ))+9) ); (void) ( *( (fPt) ((* (ptr) pd397 ))))(f←v13972, (* (( (ptr) gf←c91584)+47) ), pd397); }; SOURCE(39550, 27) { word pd398; pd398 = (* (( (ptr) (* (( (ptr) gf←c91584)+285)/* var←c87168 */ ))+24) ); fwd←v27144 = (word) ( *( (fPt) ((* (ptr) pd398 ))))(f←v13972, pd398); }; }; }; }; }; }; SOURCE(39585, 23) (void) CircleSetScaling←P420(slice←v14100); SOURCE(39610, 24) (* (( (ptr) circleData←v27172)+12) ) = fwd←v27144; SOURCE(37537, 2097) return(slice←v14100); } static word CircleIsEmptyParts←P2040(sliceD←v14160) word sliceD←v14160; { register ptr gf←c91616 = (ptr) &globalframe; word var←c14204; word circleParts←v27668; /* CircleIsEmptyParts: */ SOURCE(39639, 156) SOURCE(39639, 156) var←c14204 = 0; SOURCE(39717, 47) circleParts←v27668 = XR←Narrow((* (( (ptr) sliceD←v14160)+1) ), (* (( (ptr) gf←c91616)+13) )); SOURCE(39766, 29) return((word) IsEmpty←P4320(circleParts←v27668)); } static word CircleIsCompleteParts←P2100(sliceD←v14264) word sliceD←v14264; { register ptr gf←c91648 = (ptr) &globalframe; word var←c14308; word circleParts←v27712; /* CircleIsCompleteParts: */ SOURCE(39802, 162) SOURCE(39802, 162) var←c14308 = 0; SOURCE(39883, 47) circleParts←v27712 = XR←Narrow((* (( (ptr) sliceD←v14264)+1) ), (* (( (ptr) gf←c91648)+13) )); SOURCE(39932, 32) return((word) IsComplete←P4260(circleParts←v27712)); } static word NearestCirclePoint←P2160(slice←v14368, point←v14396) word slice←v14368; W2 point←v14396; { register ptr gf←c91680 = (ptr) &globalframe; word index←v14440; word circleHitData←v27756 = 0; word success←v27784; word hitData←v27812 = 0; word sliceD←v27840; /* NearestCirclePoint: */ SOURCE(39971, 443) SOURCE(40117, 59) sliceD←v27840 = (word) CircleNewParts←P2220(slice←v14368, 0, 6); SOURCE(40178, 126) { W7 var←c87360; (void) CircleClosestPoint←P3000((word) &var←c87360, sliceD←v27840, point←v14396, (* (ptr) &fc399 )); success←v27784 = var←c87360.f6; hitData←v27812 = var←c87360.f5; }; SOURCE(40306, 20) if ((0 == success←v27784)) { SOURCE(40326, 5) (void) XR←RaiseUnnamedError(); }; SOURCE(40333, 31) circleHitData←v27756 = XR←Narrow(hitData←v27812, (* (( (ptr) gf←c91680)+21) )); SOURCE(40366, 27) { word idx400; index←v14440 = ( idx400 = (word) ((* (ptr) circleHitData←v27756 ) - 1), BCK(idx400, 5) ); }; SOURCE(39971, 443) return(index←v14440); } static word CircleNewParts←P2220(slice←v14520, hitData←v14548, mode←v14576) word slice←v14520; word hitData←v14548; word mode←v14576; { register ptr gf←c91712 = (ptr) &globalframe; word sliceD←v14632; word circleHitData←v27896; word circleParts←v27924; /* CircleNewParts: */ SOURCE(40425, 864) SOURCE(40425, 864) sliceD←v14632 = 0; SOURCE(40535, 46) circleHitData←v27896 = XR←Narrow(hitData←v14548, (* (( (ptr) gf←c91712)+21) )); SOURCE(40583, 69) circleParts←v27924 = XR←NewObject(24, (* (( (ptr) gf←c91712)+13) )); SOURCE(40654, 519) { word var←c87424; var←c87424 = mode←v14576; switch (var←c87424) { case 0: SOURCE(40684, 140) if (( (int)((* (ptr) circleHitData←v27896 ) - 1) != (int) (word) -1)) { SOURCE(40715, 53) { word idx401; (* (( (ptr) circleParts←v27924)+( idx401 = (word) ((* (ptr) circleHitData←v27896 ) - 1), BCK(idx401, 5) )) ) = 1; }; } else { SOURCE(40768, 56) if ((0 != (* (( (ptr) circleHitData←v27896)+3) ))) { SOURCE(40798, 26) (* (( (ptr) circleParts←v27924)+5) ) = 1; }; }; break; case 1: SOURCE(40840, 217) if (( (int)((* (ptr) circleHitData←v27896 ) - 1) != (int) (word) -1)) { SOURCE(40871, 53) { word idx402; (* (( (ptr) circleParts←v27924)+( idx402 = (word) ((* (ptr) circleHitData←v27896 ) - 1), BCK(idx402, 5) )) ) = 1; }; } else { SOURCE(40924, 133) if ((0 != (* (( (ptr) circleHitData←v27896)+3) ))) { SOURCE(40954, 105) { word index←v27968; SOURCE(40956, 66) index←v27968 = ((word) NearestCirclePoint←P2160(slice←v14520, (* (W2Pt) (( (ptr) circleHitData←v27896)+1) )) + 1); SOURCE(41024, 33) (* (( (ptr) circleParts←v27924)+BCK((index←v27968 - 1), 5)) ) = 1; }; }; }; break; case 2: SOURCE(41081, 31) XR←FillWords(&(* (W5Pt) (circleParts←v27924)), 5, 1); break; case 3: case 5: case 7: case 6: SOURCE(41148, 25) (void) MakeComplete←P4200(circleParts←v27924); break; case 8: break; default: SOURCE(41226, 5) (void) XR←RaiseUnnamedError(); break; }; }; SOURCE(41233, 56) { word pd403; pd403 = (* (( (ptr) (* (( (ptr) gf←c91712)+267)/* var←c82368 */ ))+8) ); sliceD←v14632 = (word) ( *( (fPt) ((* (ptr) pd403 ))))(slice←v14520, circleParts←v27924, pd403); }; SOURCE(40425, 864) return(sliceD←v14632); } static word CircleUnionParts←P2280(partsA←v14692, partsB←v14720) word partsA←v14692; word partsB←v14720; { register ptr gf←c91744 = (ptr) &globalframe; word aPlusB←v14764; word circlePartsA←v28032; word circlePartsB←v28060; word newParts←v28088 = 0; /* CircleUnionParts: */ SOURCE(41295, 815) SOURCE(41295, 815) aPlusB←v14764 = 0; SOURCE(41407, 48) circlePartsA←v28032 = XR←Narrow((* (( (ptr) partsA←v14692)+1) ), (* (( (ptr) gf←c91744)+13) )); SOURCE(41457, 48) circlePartsB←v28060 = XR←Narrow((* (( (ptr) partsB←v14720)+1) ), (* (( (ptr) gf←c91744)+13) )); SOURCE(41530, 41) if (((* (( (ptr) partsA←v14692)+1) ) == 0)) { SOURCE(41557, 14) return(partsB←v14720); }; SOURCE(41573, 41) if (((* (( (ptr) partsB←v14720)+1) ) == 0)) { SOURCE(41600, 14) return(partsA←v14692); }; SOURCE(41616, 44) if ((0 != (word) IsEmpty←P4320(circlePartsA←v28032))) { SOURCE(41646, 14) return(partsB←v14720); }; SOURCE(41662, 44) if ((0 != (word) IsEmpty←P4320(circlePartsB←v28060))) { SOURCE(41692, 14) return(partsA←v14692); }; SOURCE(41708, 47) if ((0 != (word) IsComplete←P4260(circlePartsA←v28032))) { SOURCE(41741, 14) return(partsA←v14692); }; SOURCE(41757, 47) if ((0 != (word) IsComplete←P4260(circlePartsB←v28060))) { SOURCE(41790, 14) return(partsB←v14720); }; SOURCE(41807, 54) newParts←v28088 = XR←NewObject(24, (* (( (ptr) gf←c91744)+13) )); SOURCE(41863, 111) { register word i←v28132 = 0; lab←L100061: ; SOURCE(41902, 72) if ((0 != (* (( (ptr) circlePartsA←v28032)+i←v28132) ))) { (* (( (ptr) newParts←v28088)+i←v28132) ) = (unsigned) 1; } else { (* (( (ptr) newParts←v28088)+i←v28132) ) = (unsigned) (0 != (* (( (ptr) circlePartsB←v28060)+i←v28132) )); }; if ((i←v28132 >= 4)) { goto lab←L100058; }; i←v28132 = (i←v28132 + 1); goto lab←L100061; lab←L100058: ; }; SOURCE(41985, 63) if ((0 != (* (( (ptr) circlePartsA←v28032)+5) ))) { (* (( (ptr) newParts←v28088)+5) ) = (unsigned) 1; } else { (* (( (ptr) newParts←v28088)+5) ) = (unsigned) (0 != (* (( (ptr) circlePartsB←v28060)+5) )); }; SOURCE(42050, 60) { word pd404; pd404 = (* (( (ptr) (* (( (ptr) gf←c91744)+267)/* var←c82368 */ ))+8) ); aPlusB←v14764 = (word) ( *( (fPt) ((* (ptr) pd404 ))))((* (ptr) partsA←v14692 ), newParts←v28088, pd404); }; SOURCE(41295, 815) return(aPlusB←v14764); } static word CircleDiffParts←P2340(partsA←v14824, partsB←v14852) word partsA←v14824; word partsB←v14852; { register ptr gf←c91776 = (ptr) &globalframe; word aMinusB←v14896; word circlePartsA←v28176; word circlePartsB←v28204; word newParts←v28232 = 0; /* CircleDiffParts: */ SOURCE(42116, 680) SOURCE(42116, 680) aMinusB←v14896 = 0; SOURCE(42228, 48) circlePartsA←v28176 = XR←Narrow((* (( (ptr) partsA←v14824)+1) ), (* (( (ptr) gf←c91776)+13) )); SOURCE(42278, 48) circlePartsB←v28204 = XR←Narrow((* (( (ptr) partsB←v14852)+1) ), (* (( (ptr) gf←c91776)+13) )); SOURCE(42351, 37) if ((partsA←v14824 == 0) || (partsB←v14852 == 0)) { SOURCE(42388, 5) (void) XR←RaiseUnnamedError(); }; SOURCE(42395, 63) if (((* (( (ptr) partsA←v14824)+1) ) == 0) || ((* (( (ptr) partsB←v14852)+1) ) == 0)) { SOURCE(42444, 14) return(partsA←v14824); }; SOURCE(42460, 54) newParts←v28232 = XR←NewObject(24, (* (( (ptr) gf←c91776)+13) )); SOURCE(42516, 127) { register word i←v28276 = 0; lab←L100065: ; SOURCE(42555, 88) if ((0 != (* (( (ptr) circlePartsB←v28204)+i←v28276) ))) { (* (( (ptr) newParts←v28232)+i←v28276) ) = 0; } else { (* (( (ptr) newParts←v28232)+i←v28276) ) = (* (( (ptr) circlePartsA←v28176)+i←v28276) ); }; if ((i←v28276 >= 4)) { goto lab←L100062; }; i←v28276 = (i←v28276 + 1); goto lab←L100065; lab←L100062: ; }; SOURCE(42654, 79) if ((0 != (* (( (ptr) circlePartsB←v28204)+5) ))) { (* (( (ptr) newParts←v28232)+5) ) = 0; } else { (* (( (ptr) newParts←v28232)+5) ) = (* (( (ptr) circlePartsA←v28176)+5) ); }; SOURCE(42735, 61) { word pd405; pd405 = (* (( (ptr) (* (( (ptr) gf←c91776)+267)/* var←c82368 */ ))+8) ); aMinusB←v14896 = (word) ( *( (fPt) ((* (ptr) pd405 ))))((* (ptr) partsA←v14824 ), newParts←v28232, pd405); }; SOURCE(42116, 680) return(aMinusB←v14896); } static void CircleMovingParts←P2400(formal←c0687, slice←v14956, selectedParts←v14984, editConstraints←v15012, bezierDrag←v15040) word formal←c0687; word slice←v14956; word selectedParts←v14984; word editConstraints←v15012; W5 bezierDrag←v15040; { W6 var←c91808; register ptr gf←c91840 = (ptr) &globalframe; word background←v15084; word overlay←v15112; word rubber←v15140; word drag←v15168; /* declaration of var←c87520 skipped */ word circleParts←v28348; word nullD←v28376; word newParts←v28404 = 0; word backgroundParts←v28432 = 0; /* CircleMovingParts: */ SOURCE(42802, 1549) { word tmpAddr406; tmpAddr406 = (word) (( (ptr) &var←c91808)+4)/* var←c87520 */ ; (* (ptr) tmpAddr406 ) = ( ((word) (fPt) SomeCPMoving←P8136) ); (* (( (ptr) tmpAddr406) + 1) ) = 1; }; SOURCE(42802, 1549) background←v15084 = 0; SOURCE(42802, 1549) overlay←v15112 = 0; SOURCE(42802, 1549) rubber←v15140 = 0; SOURCE(42802, 1549) drag←v15168 = 0; SOURCE(43192, 48) circleParts←v28348 = XR←Narrow(selectedParts←v14984, (* (( (ptr) gf←c91840)+13) )); SOURCE(43242, 45) nullD←v28376 = (* (( (ptr) slice←v14956)+11) ); SOURCE(43343, 83) if ((0 != (word) IsEmpty←P4320(circleParts←v28348))) { SOURCE(43374, 44) { word var←c87552; var←c87552 = nullD←v28376; drag←v15168 = nullD←v28376; rubber←v15140 = var←c87552; overlay←v15112 = var←c87552; background←v15084 = var←c87552; }; SOURCE(43420, 6) goto lab←L100066; }; SOURCE(43431, 135) if ((0 != (word) IsComplete←P4260(circleParts←v28348))) { SOURCE(43465, 37) { word var←c87584; var←c87584 = nullD←v28376; rubber←v15140 = nullD←v28376; overlay←v15112 = var←c87584; background←v15084 = var←c87584; }; SOURCE(43504, 54) { word pd407; pd407 = (* (( (ptr) (* (( (ptr) gf←c91840)+267)/* var←c82368 */ ))+8) ); drag←v15168 = (word) ( *( (fPt) ((* (ptr) pd407 ))))(slice←v14956, circleParts←v28348, pd407); }; SOURCE(43560, 6) goto lab←L100066; }; SOURCE(43572, 53) newParts←v28404 = XR←NewObject(24, (* (( (ptr) gf←c91840)+13) )); SOURCE(43627, 724) if ((0 != (* (ptr) circleParts←v28348 ))) { SOURCE(43660, 28) XR←FillWords(&(* (W5Pt) (newParts←v28404)), 5, 1); SOURCE(43690, 23) (* (( (ptr) newParts←v28404)+5) ) = 1; SOURCE(43715, 37) { word var←c87648; var←c87648 = nullD←v28376; rubber←v15140 = nullD←v28376; overlay←v15112 = var←c87648; background←v15084 = var←c87648; }; SOURCE(43754, 51) { word pd408; pd408 = (* (( (ptr) (* (( (ptr) gf←c91840)+267)/* var←c82368 */ ))+8) ); drag←v15168 = (word) ( *( (fPt) ((* (ptr) pd408 ))))(slice←v14956, newParts←v28404, pd408); }; } else { SOURCE(43814, 537) if ((0 != (word) SomeCPMoving←P8136(circleParts←v28348, (word) (( (bPt) &var←c91808)+16)/* var←c87520 */ ))) { SOURCE(43850, 22) overlay←v15112 = nullD←v28376; drag←v15168 = nullD←v28376; SOURCE(43874, 28) XR←FillWords(&(* (W5Pt) (newParts←v28404)), 5, 1); SOURCE(43904, 27) (* (ptr) newParts←v28404 ) = 0; SOURCE(43933, 23) (* (( (ptr) newParts←v28404)+5) ) = 1; SOURCE(43958, 53) { word pd409; pd409 = (* (( (ptr) (* (( (ptr) gf←c91840)+267)/* var←c82368 */ ))+8) ); rubber←v15140 = (word) ( *( (fPt) ((* (ptr) pd409 ))))(slice←v14956, newParts←v28404, pd409); }; SOURCE(44013, 60) backgroundParts←v28432 = XR←NewObject(24, (* (( (ptr) gf←c91840)+13) )); SOURCE(44075, 33) (* (ptr) backgroundParts←v28432 ) = 1; SOURCE(44110, 64) { word pd410; pd410 = (* (( (ptr) (* (( (ptr) gf←c91840)+267)/* var←c82368 */ ))+8) ); background←v15084 = (word) ( *( (fPt) ((* (ptr) pd410 ))))(slice←v14956, backgroundParts←v28432, pd410); }; } else { SOURCE(44206, 28) XR←FillWords(&(* (W5Pt) (newParts←v28404)), 5, 1); SOURCE(44236, 23) (* (( (ptr) newParts←v28404)+5) ) = 1; SOURCE(44261, 57) { word pd411; pd411 = (* (( (ptr) (* (( (ptr) gf←c91840)+267)/* var←c82368 */ ))+8) ); background←v15084 = (word) ( *( (fPt) ((* (ptr) pd411 ))))(slice←v14956, newParts←v28404, pd411); }; SOURCE(44320, 31) { word var←c87744; var←c87744 = nullD←v28376; drag←v15168 = nullD←v28376; rubber←v15140 = var←c87744; overlay←v15112 = var←c87744; }; }; }; /* removed tail goto */ lab←L100066: ; (* (ptr) formal←c0687 ) = background←v15084; (* (( (ptr) formal←c0687)+1) ) = overlay←v15112; (* (( (ptr) formal←c0687)+2) ) = rubber←v15140; (* (( (ptr) formal←c0687)+3) ) = drag←v15168; return; } static word SomeCPMoving←P8136(circleParts←v28508, formal←c91872) word circleParts←v28508; word formal←c91872; { word var←c28552; formal←c91872 = (formal←c91872 - 16); /* SomeCPMoving: */ SOURCE(43014, 173) SOURCE(43014, 173) var←c28552 = 0; SOURCE(43087, 73) { register word i←v28580 = 1; if (( (int)i←v28580 > (int)4)) { goto lab←L100067; }; lab←L100070: ; SOURCE(43115, 45) if ((0 != (* (( (ptr) circleParts←v28508)+BCK(i←v28580, 5)) ))) { SOURCE(43148, 12) return(1); }; if (( (int)i←v28580 >= (int)4)) { goto lab←L100067; }; i←v28580 = (i←v28580 + 1); goto lab←L100070; lab←L100067: ; }; SOURCE(43174, 13) return(0); } static word CircleAugmentParts←P2460(sliceD←v15228, selectClass←v15256) word sliceD←v15228; word selectClass←v15256; { word more←v15300; /* CircleAugmentParts: */ SOURCE(44360, 129) SOURCE(44360, 129) more←v15300 = 0; SOURCE(44476, 13) more←v15300 = sliceD←v15228; SOURCE(44360, 129) return(more←v15300); } static word CircleAlterParts←P2520(sliceD←v15360, action←v15388) word sliceD←v15360; word action←v15388; { register ptr gf←c91904 = (ptr) &globalframe; word newD←v15432; word circleParts←v28624; word newParts←v28652 = 0; word selectedCorner←v28680 = (word) -1; /* CircleAlterParts: */ SOURCE(44495, 952) SOURCE(44495, 952) newD←v15432 = 0; SOURCE(44594, 47) circleParts←v28624 = XR←Narrow((* (( (ptr) sliceD←v15360)+1) ), (* (( (ptr) gf←c91904)+13) )); SOURCE(44692, 70) newParts←v28652 = XR←NewObject(24, (* (( (ptr) gf←c91904)+13) )); SOURCE(44764, 93) { register word i←v28724 = 0; if (( (int)i←v28724 > (int)4)) { goto lab←L100071; }; lab←L100074: ; SOURCE(44806, 51) if ((0 != (* (( (ptr) circleParts←v28624)+BCK(i←v28724, 5)) ))) { SOURCE(44839, 18) selectedCorner←v28680 = i←v28724; SOURCE(44859, 4) goto lab←L100072; }; if (( (int)i←v28724 >= (int)4)) { goto lab←L100071; }; i←v28724 = (i←v28724 + 1); goto lab←L100074; lab←L100071: ; lab←L100072: ; }; SOURCE(44877, 464) { word var←c87808; var←c87808 = action←v15388; if ((var←c87808 == (* (( (ptr) gf←c91904)+48) ))) { SOURCE(44910, 126) if (( (int)selectedCorner←v28680 > (int) (word) -1)) { SOURCE(44940, 55) selectedCorner←v28680 = IOP2( % , (int)(selectedCorner←v28680 + 1), (int)5); SOURCE(44997, 39) (* (( (ptr) newParts←v28652)+BCK(selectedCorner←v28680, 5)) ) = 1; } else { SOURCE(45045, 5) (void) XR←RaiseUnnamedError(); }; goto endif0412; }; if ((var←c87808 == (* (( (ptr) gf←c91904)+49) ))) { SOURCE(45070, 142) if (( (int)selectedCorner←v28680 > (int) (word) -1)) { SOURCE(45100, 71) selectedCorner←v28680 = IOP2( % , (int)(selectedCorner←v28680 + 4), (int)5); SOURCE(45173, 39) (* (( (ptr) newParts←v28652)+BCK(selectedCorner←v28680, 5)) ) = 1; } else { SOURCE(45221, 5) (void) XR←RaiseUnnamedError(); }; goto endif0412; }; if ((var←c87808 == (* (( (ptr) gf←c91904)+50) ))) { SOURCE(45240, 53) { word pd413; pd413 = (* (( (ptr) (* (( (ptr) gf←c91904)+276)/* var←c83456 */ ))+29) ); return((word) ( *( (fPt) ((* (ptr) pd413 ))))((* (ptr) sliceD←v15360 ), 0, 6, pd413)); }; }; if ((var←c87808 == (* (( (ptr) gf←c91904)+51) )) || (var←c87808 == (* (( (ptr) gf←c91904)+52) ))) { SOURCE(45330, 11) return(0); }; SOURCE(45382, 5) (void) XR←RaiseUnnamedError(); goto endif0412; endif0412: ; }; SOURCE(45389, 58) { word pd414; pd414 = (* (( (ptr) (* (( (ptr) gf←c91904)+267)/* var←c82368 */ ))+8) ); newD←v15432 = (word) ( *( (fPt) ((* (ptr) pd414 ))))((* (ptr) sliceD←v15360 ), newParts←v28652, pd414); }; SOURCE(44495, 952) return(newD←v15432); } static word CirclePointsInDescriptor←P2580(sliceD←v15492) word sliceD←v15492; { register ptr gf←c91936 = (ptr) &globalframe; word pointGen←v15536; word parts←v28768; /* CirclePointsInDescriptor: */ SOURCE(45454, 302) SOURCE(45454, 302) pointGen←v15536 = 0; SOURCE(45550, 41) parts←v28768 = XR←Narrow((* (( (ptr) sliceD←v15492)+1) ), (* (( (ptr) gf←c91936)+13) )); SOURCE(45593, 56) { word var←c87872; var←c87872 = XR←NewObject(16, (* (( (ptr) gf←c91936)+18) )); (* (ptr) var←c87872 ) = sliceD←v15492; pointGen←v15536 = var←c87872; }; SOURCE(45651, 105) { register word index←v28812 = 0; lab←L100078: ; SOURCE(45694, 62) if ((0 != (* (( (ptr) parts←v28768)+index←v28812) ))) { SOURCE(45723, 33) (* (( (ptr) pointGen←v15536)+1) ) = ((* (( (ptr) pointGen←v15536)+1) ) + 1); }; if ((index←v28812 >= 4)) { goto lab←L100075; }; index←v28812 = (index←v28812 + 1); goto lab←L100078; lab←L100075: ; }; SOURCE(45454, 302) return(pointGen←v15536); } static void CircleWalkPointsInDescriptor←P2640(sliceD←v15596, walkProc←v15624) word sliceD←v15596; word walkProc←v15624; { register ptr gf←c91968 = (ptr) &globalframe; word parts←v28856; word circleData←v28884; word done←v28912 = 0; /* CircleWalkPointsInDescriptor: */ SOURCE(45771, 348) SOURCE(45861, 41) parts←v28856 = XR←Narrow((* (( (ptr) sliceD←v15596)+1) ), (* (( (ptr) gf←c91968)+13) )); SOURCE(45904, 50) circleData←v28884 = XR←Narrow((* (( (ptr) (* (ptr) sliceD←v15596 ))+1) ), (* (( (ptr) gf←c91968)+12) )); SOURCE(45976, 143) { register word index←v28956 = 0; lab←L100082: ; SOURCE(46019, 79) if ((0 != (* (( (ptr) parts←v28856)+index←v28956) ))) { SOURCE(46048, 50) { W2 var←c87904; (void) GetCirclePoint←P2880((word) &var←c87904, circleData←v28884, index←v28956); done←v28912 = (word) ( *( (fPt) ((* (ptr) walkProc←v15624 ))))(var←c87904, walkProc←v15624); }; }; SOURCE(46100, 19) if ((0 != done←v28912)) { SOURCE(46113, 6) return; }; if ((index←v28956 >= 4)) { goto lab←L100079; }; index←v28956 = (index←v28956 + 1); goto lab←L100082; lab←L100079: ; }; } static word CircleSegmentsInDescriptor←P2700(sliceD←v15684) word sliceD←v15684; { register ptr gf←c92000 = (ptr) &globalframe; word segGen←v15728; word parts←v29000; /* CircleSegmentsInDescriptor: */ SOURCE(46134, 312) SOURCE(46134, 312) segGen←v15728 = 0; SOURCE(46232, 41) parts←v29000 = XR←Narrow((* (( (ptr) sliceD←v15684)+1) ), (* (( (ptr) gf←c92000)+13) )); SOURCE(46275, 125) { word var←c87936; var←c87936 = XR←NewObject(32, (* (( (ptr) gf←c92000)+16) )); (* (( (ptr) var←c87936)+6) ) = sliceD←v15684; segGen←v15728 = var←c87936; }; SOURCE(46402, 44) if ((0 != (* (( (ptr) parts←v29000)+5) ))) { (* (( (ptr) segGen←v15728)+1) ) = 1; } else { (* (( (ptr) segGen←v15728)+1) ) = 0; }; SOURCE(46134, 312) return(segGen←v15728); } static word CircleWalkSegments←P2760(slice←v15788, walkProc←v15816) word slice←v15788; word walkProc←v15816; { register ptr gf←c92032 = (ptr) &globalframe; word sliceD←v15860; word circleData←v29044; word circleParts←v29072; /* CircleWalkSegments: */ SOURCE(46452, 444) SOURCE(46452, 444) sliceD←v15860 = 0; SOURCE(46550, 43) circleData←v29044 = XR←Narrow((* (( (ptr) slice←v15788)+1) ), (* (( (ptr) gf←c92032)+12) )); SOURCE(46595, 86) circleParts←v29072 = XR←NewObject(24, (* (( (ptr) gf←c92032)+13) )); SOURCE(46683, 68) (* (( (ptr) circleParts←v29072)+5) ) = (word) ( *( (fPt) ((* (ptr) walkProc←v15816 ))))((* (( (ptr) circleData←v29044)+33) ), (* (( (ptr) circleData←v29044)+1) ), walkProc←v15816); SOURCE(46753, 59) if ((0 != (* (( (ptr) circleParts←v29072)+5) ))) { SOURCE(46781, 31) XR←FillWords(&(* (W5Pt) (circleParts←v29072)), 5, 1); }; SOURCE(46840, 56) { word pd415; pd415 = (* (( (ptr) (* (( (ptr) gf←c92032)+267)/* var←c82368 */ ))+8) ); sliceD←v15860 = (word) ( *( (fPt) ((* (ptr) pd415 ))))(slice←v15788, circleParts←v29072, pd415); }; SOURCE(46452, 444) return(sliceD←v15860); } static void CircleNextPoint←P2820(formal←c0732, slice←v15920, pointGen←v15948) word formal←c0732; word slice←v15920; word pointGen←v15948; { register ptr gf←c92064 = (ptr) &globalframe; W3 pointAndDone←v15992; word sliceD←v29116; word circleData←v29144; /* CircleNextPoint: */ SOURCE(46902, 630) SOURCE(47006, 41) sliceD←v29116 = (* (ptr) pointGen←v15948 ); SOURCE(47049, 50) circleData←v29144 = XR←Narrow((* (( (ptr) (* (ptr) sliceD←v29116 ))+1) ), (* (( (ptr) gf←c92064)+12) )); SOURCE(47101, 431) if ((pointGen←v15948 == 0) || ((* (( (ptr) pointGen←v15948)+1) ) == 0)) { SOURCE(47145, 24) pointAndDone←v15992.f2 = 1; SOURCE(47171, 6) goto lab←L100083; } else { SOURCE(47186, 348) { word parts←v29188; register word index←v29216; SOURCE(47188, 41) parts←v29188 = XR←Narrow((* (( (ptr) sliceD←v29116)+1) ), (* (( (ptr) gf←c92064)+13) )); SOURCE(47243, 25) pointAndDone←v15992.f2 = 0; SOURCE(47270, 100) index←v29216 = (* (( (ptr) pointGen←v15948)+2) ); lab←L100087: ; if ((index←v29216 < 4)) { } else { goto lab←L100084; }; SOURCE(47341, 29) if ((0 != (* (( (ptr) parts←v29188)+BCK(index←v29216, 5)) ))) { SOURCE(47370, 4) goto lab←L100085; }; index←v29216 = (index←v29216 + 1); goto lab←L100087; lab←L100084: ; lab←L100085: ; SOURCE(47417, 54) (void) GetCirclePoint←P2880((word) &pointAndDone←v15992, circleData←v29144, index←v29216); SOURCE(47473, 24) (* (( (ptr) pointGen←v15948)+2) ) = (index←v29216 + 1); SOURCE(47499, 33) { word idx416; (* (( (ptr) pointGen←v15948)+1) ) = ( idx416 = (word) ((* (( (ptr) pointGen←v15948)+1) ) - 1), SGNCK(idx416) ); }; }; }; /* removed tail goto */ lab←L100083: ; (* (W3Pt) formal←c0732 ) = pointAndDone←v15992; return; } static void GetCirclePoint←P2880(formal←c0749, circleData←v16052, index←v16080) word formal←c0749; word circleData←v16052; word index←v16080; { register ptr gf←c92096 = (ptr) &globalframe; W2 point←v16124; word t←v29260; /* GetCirclePoint: */ SOURCE(47541, 463) SOURCE(47653, 40) t←v29260 = (* (( (ptr) circleData←v16052)+1) ); SOURCE(47695, 309) { word var←c88000; var←c88000 = index←v16080; switch (var←c88000) { case 0: SOURCE(47718, 32) { W2 var←c0739; { W2 var←c88032; var←c88032.f0 = (* (ptr) &fc85 ); var←c88032.f1 = (* (ptr) &fc85 ); { word pd417; pd417 = (* (( (ptr) (* (( (ptr) gf←c92096)+272)/* var←c82880 */ ))+39) ); (void) ( *( (fPt) ((* (ptr) pd417 ))))((word) &var←c0739, t←v29260, var←c88032, pd417); }; }; point←v16124 = var←c0739; }; break; case 1: SOURCE(47767, 33) { W2 var←c0741; { W2 var←c88064; var←c88064.f0 = (* (ptr) &fc88 ); var←c88064.f1 = (* (ptr) &fc85 ); { word pd418; pd418 = (* (( (ptr) (* (( (ptr) gf←c92096)+272)/* var←c82880 */ ))+39) ); (void) ( *( (fPt) ((* (ptr) pd418 ))))((word) &var←c0741, t←v29260, var←c88064, pd418); }; }; point←v16124 = var←c0741; }; break; case 2: SOURCE(47815, 32) { W2 var←c0743; { W2 var←c88096; var←c88096.f0 = (* (ptr) &fc85 ); var←c88096.f1 = (* (ptr) &fc87 ); { word pd419; pd419 = (* (( (ptr) (* (( (ptr) gf←c92096)+272)/* var←c82880 */ ))+39) ); (void) ( *( (fPt) ((* (ptr) pd419 ))))((word) &var←c0743, t←v29260, var←c88096, pd419); }; }; point←v16124 = var←c0743; }; break; case 3: SOURCE(47861, 32) { W2 var←c0745; { W2 var←c88128; var←c88128.f0 = (* (ptr) &fc87 ); var←c88128.f1 = (* (ptr) &fc85 ); { word pd420; pd420 = (* (( (ptr) (* (( (ptr) gf←c92096)+272)/* var←c82880 */ ))+39) ); (void) ( *( (fPt) ((* (ptr) pd420 ))))((word) &var←c0745, t←v29260, var←c88128, pd420); }; }; point←v16124 = var←c0745; }; break; case 4: SOURCE(47909, 33) { W2 var←c0747; { W2 var←c88160; var←c88160.f0 = (* (ptr) &fc85 ); var←c88160.f1 = (* (ptr) &fc88 ); { word pd421; pd421 = (* (( (ptr) (* (( (ptr) gf←c92096)+272)/* var←c82880 */ ))+39) ); (void) ( *( (fPt) ((* (ptr) pd421 ))))((word) &var←c0747, t←v29260, var←c88160, pd421); }; }; point←v16124 = var←c0747; }; break; default: SOURCE(47965, 39) { word var←c0748; var←c0748 = (* (( (ptr) gf←c92096)+55) ); (void) (XR←RaiseSignal((* (( (ptr) gf←c92096)+4)/* Problem←v5072 */ ), 0, (word) &var←c0748)); }; break; }; }; /* removed tail goto */ (* (W2Pt) formal←c0749 ) = point←v16124; return; } static void CircleNextSegment←P2940(formal←c0756, slice←v16184, segGen←v16212) word formal←c0756; word slice←v16184; word segGen←v16212; { register ptr gf←c92128 = (ptr) &globalframe; word seg←v16256; word transform←v16284; /* CircleNextSegment: */ SOURCE(48010, 386) SOURCE(48010, 386) seg←v16256 = 0; SOURCE(48010, 386) transform←v16284 = 0; SOURCE(48129, 267) if ((segGen←v16212 == 0) || ((* (( (ptr) segGen←v16212)+1) ) == 0)) { SOURCE(48167, 22) seg←v16256 = 0; transform←v16284 = 0; goto lab←L100089; } else { SOURCE(48189, 209) { word circleData←v29304; SOURCE(48191, 57) circleData←v29304 = XR←Narrow((* (( (ptr) (* (ptr) (* (( (ptr) segGen←v16212)+6) ) ))+1) ), (* (( (ptr) gf←c92128)+12) )) ; SOURCE(48250, 61) if (((* (( (ptr) segGen←v16212)+1) ) != 1)) { SOURCE(48272, 39) { word var←c0755; var←c0755 = (* (( (ptr) gf←c92128)+55) ); (void) (XR←RaiseSignal((* (( (ptr) gf←c92128)+4)/* Problem←v5072 */ ), 0, (word) &var←c0755)); }; }; SOURCE(48313, 20) seg←v16256 = (* (( (ptr) circleData←v29304)+33) ); SOURCE(48335, 32) transform←v16284 = (* (( (ptr) circleData←v29304)+1) ); SOURCE(48369, 27) { word idx422; (* (( (ptr) segGen←v16212)+1) ) = ( idx422 = (word) ((* (( (ptr) segGen←v16212)+1) ) - 1), SGNCK(idx422) ); }; }; }; /* removed tail goto */ lab←L100089: ; (* (ptr) formal←c0756 ) = seg←v16256; (* (( (ptr) formal←c0756)+1) ) = transform←v16284; return; } static void CircleClosestPoint←P3000(formal←c0781, sliceD←v16344, testPoint←v16372, tolerance←v16400) word formal←c0781; word sliceD←v16344; W2 testPoint←v16372; word tolerance←v16400; { register ptr gf←c92160 = (ptr) &globalframe; W2 bestPoint←v16444; word bestDist←v16472; W2 bestNormal←v16500; word hitData←v16528; word success←v16556; /* CircleClosestPoint: */ SOURCE(48405, 1433) SOURCE(48405, 1433) bestPoint←v16444.f0 = (* (ptr) &fc85 ); bestPoint←v16444.f1 = (* (ptr) &fc85 ); SOURCE(48405, 1433) bestDist←v16472 = (* (ptr) &fc85 ); SOURCE(48405, 1433) bestNormal←v16500.f0 = (* (ptr) &fc85 ); bestNormal←v16500.f1 = (* (ptr) &fc88 ); SOURCE(48405, 1433) hitData←v16528 = 0; SOURCE(48405, 1433) success←v16556 = 0; { word var←c88192; SOURCE(48628, 107) { word pd424; { word pd423; pd423 = (* (( (ptr) (* (( (ptr) gf←c92160)+276)/* var←c83456 */ ))+9) ); var←c88192 = (word) ( *( (fPt) ((* (ptr) pd423 ))))((* (ptr) sliceD←v16344 ), 0, pd423); }; pd424 = (* (( (ptr) (* (( (ptr) gf←c92160)+271)/* var←c82752 */ ))+22) ); if ((0 == (word) ( *( (fPt) ((* (ptr) pd424 ))))(testPoint←v16372, var←c88192, tolerance←v16400, pd424))) { SOURCE(48729, 6) goto lab←L100090; }; }; SOURCE(48738, 1109) { W10 points←v29348; word nextDist2←v29376; word bestDist2←v29404; word tolerance2←v29432; word foundIndex←v29460 = 0; word circleData←v29488; word circleHitData←v29516 = 0; word circleParts←v29544; W2 nextPoint←v29572; SOURCE(48808, 51) nextDist2←v29376 = (* (ptr) &fc399 ); bestDist2←v29404 = (* (ptr) &fc399 ); SOURCE(48861, 38) { word x425; word x426; *(float*)&tolerance2←v29432 = ( x425 = tolerance←v16400, *(float*)&x425 ) * ( x426 = tolerance←v16400, *(float*)&x426 ); }; SOURCE(48926, 50) circleData←v29488 = XR←Narrow((* (( (ptr) (* (ptr) sliceD←v16344 ))+1) ), (* (( (ptr) gf←c92160)+12) )); SOURCE(49008, 47) circleParts←v29544 = XR←Narrow((* (( (ptr) sliceD←v16344)+1) ), (* (( (ptr) gf←c92160)+13) )); SOURCE(49076, 41) (void) CirclePointsFromData←P3360((word) &points←v29348, circleData←v29488); SOURCE(49119, 322) { register word index←v29652 = 0; if (( (int)index←v29652 > (int)4)) { goto lab←L100091; }; lab←L100094: ; SOURCE(49165, 39) if ((0 == (* (( (ptr) circleParts←v29544)+BCK(index←v29652, 5)) ))) { SOURCE(49204, 4) goto lab←L100093; }; SOURCE(49210, 25) nextPoint←v29572 = (* (( (W2Pt) &points←v29348)+BCK(index←v29652, 5)) ); SOURCE(49237, 59) { word pd427; pd427 = (* (( (ptr) (* (( (ptr) gf←c92160)+273)/* var←c82944 */ ))+21) ); nextDist2←v29376 = (word) ( *( (fPt) ((* (ptr) pd427 ))))(testPoint←v16372, nextPoint←v29572, pd427); }; SOURCE(49298, 143) { word x428; word x429; if ((( x428 = nextDist2←v29376, *(float*)&x428 ) < ( x429 = bestDist2←v29404, *(float*)&x429 ))) { SOURCE(49330, 21) bestDist2←v29404 = nextDist2←v29376; SOURCE(49353, 18) foundIndex←v29460 = index←v29652; SOURCE(49373, 21) bestPoint←v16444 = nextPoint←v29572; SOURCE(49396, 45) { word x430; word x431; if ((( x430 = bestDist2←v29404, *(float*)&x430 ) < ( x431 = tolerance2←v29432, *(float*)&x431 ))) { SOURCE(49427, 14) success←v16556 = 1; }; }; }; }; lab←L100093: ; if (( (int)index←v29652 >= (int)4)) { goto lab←L100091; }; index←v29652 = (index←v29652 + 1); goto lab←L100094; lab←L100091: ; }; SOURCE(49455, 383) if ((0 != success←v16556)) { SOURCE(49473, 106) { word var←c88224; { word var←c88256; var←c88256 = XR←NewObject(16, (* (( (ptr) gf←c92160)+21) )); (* (ptr) var←c88256 ) = BCK((foundIndex←v29460 + 1), 6); (* (W2Pt) (( (ptr) var←c88256)+1) ) = bestPoint←v16444; var←c88224 = var←c88256; }; circleHitData←v29516 = var←c88224; hitData←v16528 = var←c88224; }; SOURCE(49581, 34) { word pd432; pd432 = (* (( (ptr) (* (( (ptr) gf←c92160)+274)/* var←c83168 */ ))+9) ); bestDist←v16472 = (word) ( *( (fPt) ((* (ptr) pd432 ))))(bestDist2←v29404, pd432); }; SOURCE(49617, 221) if (( (int)foundIndex←v29460 > (int)0)) { SOURCE(49642, 196) { word pd433; word x434; word x435; pd433 = (* (( (ptr) (* (( (ptr) gf←c92160)+273)/* var←c82944 */ ))+19) ); if ((( x434 = (word) ( *( (fPt) ((* (ptr) pd433 ))))((* (W2Pt) &points←v29348 ), testPoint←v16372, pd433), *(float*)&x434 ) > ( x435 = (* (( (ptr) circleData←v29488)+2) ), *(float*)&x435 ))) { SOURCE(49715, 58) { word pd436; pd436 = (* (( (ptr) (* (( (ptr) gf←c92160)+273)/* var←c82944 */ ))+11) ); (void) ( *( (fPt) ((* (ptr) pd436 ))))((word) &bestNormal←v16500, (* (( (W2Pt) &points←v29348)+BCK(foundIndex←v29460, 5) /*1*/ ) ), (* (W2Pt) &points←v29348 ), pd436); }; } else { SOURCE(49781, 57) { word pd437; pd437 = (* (( (ptr) (* (( (ptr) gf←c92160)+273)/* var←c82944 */ ))+11) ); (void) ( *( (fPt) ((* (ptr) pd437 ))))((word) &bestNormal←v16500, (* (W2Pt) &points←v29348 ), (* (( (W2Pt) &points←v29348)+BCK( /*1*/ foundIndex←v29460, 5)) ), pd437); }; }; }; }; }; }; }; /* removed tail goto */ lab←L100090: ; (* (W2Pt) formal←c0781 ) = bestPoint←v16444; (* (( (ptr) formal←c0781)+2) ) = bestDist←v16472; (* (W2Pt) (( (ptr) formal←c0781)+3) ) = bestNormal←v16500; (* (( (ptr) formal←c0781)+5) ) = hitData←v16528; (* (( (ptr) formal←c0781)+6) ) = success←v16556; return; } static void CircleClosestJointToHitData←P3060(formal←c0795, sliceD←v16628, mapPoint←v16656, testPoint←v16684, hitData←v16712) word formal←c0795; word sliceD←v16628; W2 mapPoint←v16656; W2 testPoint←v16684; word hitData←v16712; { register ptr gf←c92192 = (ptr) &globalframe; word jointD←v16768; W2 point←v16796; W2 normal←v16824; word success←v29696 = 0; word newHitData←v29724 = 0; word circleHitData←v29752 = 0; word circleParts←v29780; /* CircleClosestJointToHitData: */ SOURCE(49856, 660) SOURCE(49856, 660) jointD←v16768 = 0; SOURCE(49856, 660) normal←v16824.f0 = (* (ptr) &fc85 ); normal←v16824.f1 = (* (ptr) &fc88 ); SOURCE(50113, 86) circleParts←v29780 = XR←NewObject(24, (* (( (ptr) gf←c92192)+13) )); SOURCE(50201, 106) { W7 var←c88320; (void) CircleClosestPoint←P3000((word) &var←c88320, sliceD←v16628, testPoint←v16684, (* (ptr) &fc399 )); success←v29696 = var←c88320.f6; newHitData←v29724 = var←c88320.f5; normal←v16824 = (* (W2Pt) (( (ptr) &var←c88320)+3) ); point←v16796 = (* (W2Pt) &var←c88320 ); }; SOURCE(50309, 34) circleHitData←v29752 = XR←Narrow(newHitData←v29724, (* (( (ptr) gf←c92192)+21) )); SOURCE(50345, 47) { word idx438; (* (( (ptr) circleParts←v29780)+( idx438 = (word) ((* (ptr) circleHitData←v29752 ) - 1), BCK(idx438, 5) )) ) = 1; }; SOURCE(50394, 43) (* (( (ptr) circleParts←v29780)+5) ) = (* (( (ptr) circleHitData←v29752)+3) ); SOURCE(50439, 77) { word pd439; pd439 = (* (( (ptr) (* (( (ptr) gf←c92192)+267)/* var←c82368 */ ))+8) ); jointD←v16768 = (word) ( *( (fPt) ((* (ptr) pd439 ))))((* (ptr) sliceD←v16628 ), circleParts←v29780, pd439); }; /* removed tail goto */ (* (ptr) formal←c0795 ) = jointD←v16768; (* (W2Pt) (( (ptr) formal←c0795)+1) ) = point←v16796; (* (W2Pt) (( (ptr) formal←c0795)+3) ) = normal←v16824; return; } static void CircleClosestSegment←P3120(formal←c0817, sliceD←v16884, testPoint←v16912, tolerance←v16940) word formal←c0817; word sliceD←v16884; W2 testPoint←v16912; word tolerance←v16940; { register ptr gf←c92224 = (ptr) &globalframe; W2 bestPoint←v16984; word bestDist←v17012; W2 bestNormal←v17040; word hitData←v17068; word success←v17096; /* CircleClosestSegment: */ SOURCE(50522, 1143) SOURCE(50522, 1143) bestPoint←v16984.f0 = (* (ptr) &fc85 ); bestPoint←v16984.f1 = (* (ptr) &fc85 ); SOURCE(50522, 1143) bestDist←v17012 = (* (ptr) &fc85 ); SOURCE(50522, 1143) bestNormal←v17040.f0 = (* (ptr) &fc85 ); bestNormal←v17040.f1 = (* (ptr) &fc88 ); SOURCE(50522, 1143) hitData←v17068 = 0; SOURCE(50522, 1143) success←v17096 = 0; { word var←c88352; SOURCE(50746, 107) { word pd441; { word pd440; pd440 = (* (( (ptr) (* (( (ptr) gf←c92224)+276)/* var←c83456 */ ))+9) ); var←c88352 = (word) ( *( (fPt) ((* (ptr) pd440 ))))((* (ptr) sliceD←v16884 ), 0, pd440); }; pd441 = (* (( (ptr) (* (( (ptr) gf←c92224)+271)/* var←c82752 */ ))+22) ); if ((0 == (word) ( *( (fPt) ((* (ptr) pd441 ))))(testPoint←v16912, var←c88352, tolerance←v16940, pd441))) { SOURCE(50847, 6) goto lab←L100096; }; }; SOURCE(50856, 814) { word circleHitData←v29836 = 0; word circleParts←v29864; word circleData←v29892; W2 pointOnCircle←v29920; W2 localTestpoint←v29948; word dist←v29976; SOURCE(50892, 47) circleParts←v29864 = XR←Narrow((* (( (ptr) sliceD←v16884)+1) ), (* (( (ptr) gf←c92224)+13) )); SOURCE(50941, 50) circleData←v29892 = XR←Narrow((* (( (ptr) (* (ptr) sliceD←v16884 ))+1) ), (* (( (ptr) gf←c92224)+12) )); SOURCE(50993, 33) pointOnCircle←v29920.f0 = (* (ptr) &fc85 ); pointOnCircle←v29920.f1 = (* (ptr) &fc85 ); SOURCE(51064, 70) if ((0 == (* (( (ptr) circleParts←v29864)+5) ))) { SOURCE(51096, 38) bestPoint←v16984.f0 = (* (ptr) &fc85 ); bestPoint←v16984.f1 = (* (ptr) &fc85 ); bestDist←v17012 = (* (ptr) &fc85 ); bestNormal←v17040.f0 = (* (ptr) &fc85 ); bestNormal←v17040.f1 = (* (ptr) &fc88 ); hitData←v17068 = 0; success←v17096 = 0; goto lab←L100096; }; SOURCE(51136, 78) { word pd442; pd442 = (* (( (ptr) (* (( (ptr) gf←c92224)+272)/* var←c82880 */ ))+39) ); (void) ( *( (fPt) ((* (ptr) pd442 ))))((word) &localTestpoint←v29948, (* (( (ptr) circleData←v29892)+6) ), testPoint←v16912, pd442) ; }; SOURCE(51216, 42) { word pd443; pd443 = (* (( (ptr) (* (( (ptr) gf←c92224)+273)/* var←c82944 */ ))+18) ); dist←v29976 = (word) ( *( (fPt) ((* (ptr) pd443 ))))(localTestpoint←v29948, pd443); }; SOURCE(51260, 76) { word x444; word x445; if ((( x444 = dist←v29976, *(float*)&x444 ) > ( x445 = (* (ptr) &fc85 ), *(float*)&x445 ))) { SOURCE(51279, 57) { word pd446; word x447; word x448; float tf449; pd446 = (* (( (ptr) (* (( (ptr) gf←c92224)+273)/* var←c82944 */ ))+12) ); (void) ( *( (fPt) ((* (ptr) pd446 ))))((word) &pointOnCircle←v29920, localTestpoint←v29948, ( tf449 = ( x447 = (* (ptr) &fc87 ), *(float*)&x447 ) / ( x448 = dist←v29976, *(float*)&x448 ), *(word*)&tf449 ), pd446); }; }; }; SOURCE(51338, 79) { word pd450; pd450 = (* (( (ptr) (* (( (ptr) gf←c92224)+272)/* var←c82880 */ ))+39) ); (void) ( *( (fPt) ((* (ptr) pd450 ))))((word) &bestPoint←v16984, (* (( (ptr) circleData←v29892)+1) ), pointOnCircle←v29920, pd450) ; }; SOURCE(51419, 51) { word pd451; pd451 = (* (( (ptr) (* (( (ptr) gf←c92224)+273)/* var←c82944 */ ))+19) ); bestDist←v17012 = (word) ( *( (fPt) ((* (ptr) pd451 ))))(testPoint←v16912, bestPoint←v16984, pd451); }; SOURCE(51472, 193) { word x452; word x453; if ((( x452 = bestDist←v17012, *(float*)&x452 ) < ( x453 = tolerance←v16940, *(float*)&x453 ))) { SOURCE(51501, 98) { word var←c88480; { word var←c88512; var←c88512 = XR←NewObject(16, (* (( (ptr) gf←c92224)+21) )); (* (W2Pt) (( (ptr) var←c88512)+1) ) = bestPoint←v16984; (* (( (ptr) var←c88512)+3) ) = 1; var←c88480 = var←c88512; }; circleHitData←v29836 = var←c88480; hitData←v17068 = var←c88480; }; SOURCE(51601, 14) success←v17096 = 1; SOURCE(51617, 48) { word pd454; pd454 = (* (( (ptr) (* (( (ptr) gf←c92224)+273)/* var←c82944 */ ))+11) ); (void) ( *( (fPt) ((* (ptr) pd454 ))))((word) &bestNormal←v17040, testPoint←v16912, bestPoint←v16984, pd454); }; }; }; }; }; /* removed tail goto */ lab←L100096: ; (* (W2Pt) formal←c0817 ) = bestPoint←v16984; (* (( (ptr) formal←c0817)+2) ) = bestDist←v17012; (* (W2Pt) (( (ptr) formal←c0817)+3) ) = bestNormal←v17040; (* (( (ptr) formal←c0817)+5) ) = hitData←v17068; (* (( (ptr) formal←c0817)+6) ) = success←v17096; return; } static void CircleFilledPathsUnderPoint←P3180(formal←c0828, slice←v17168, point←v17196, tolerance←v17224) word formal←c0828; word slice←v17168; W2 point←v17196; word tolerance←v17224; { register ptr gf←c92256 = (ptr) &globalframe; word hitData←v17268; word moreHitDatas←v17296; word circleData←v30020; W2 pointCircle←v30048; word success←v30076 = 0; /* CircleFilledPathsUnderPoint: */ SOURCE(51679, 505) SOURCE(51679, 505) hitData←v17268 = 0; SOURCE(51679, 505) moreHitDatas←v17296 = 0; SOURCE(51840, 43) circleData←v30020 = XR←Narrow((* (( (ptr) slice←v17168)+1) ), (* (( (ptr) gf←c92256)+12) )); SOURCE(51885, 78) { word pd455; pd455 = (* (( (ptr) (* (( (ptr) gf←c92256)+272)/* var←c82880 */ ))+39) ); (void) ( *( (fPt) ((* (ptr) pd455 ))))((word) &pointCircle←v30048, (* (( (ptr) circleData←v30020)+6) ), point←v17196, pd455) ; }; SOURCE(51989, 98) { word pd456; if (((* (( (ptr) circleData←v30020)+11) ) != 0)) { pd456 = (* (( (ptr) (* (( (ptr) gf←c92256)+268)/* var←c82496 */ ))+20) ); success←v30076 = (unsigned) (0 != (word) ( *( (fPt) ((* (ptr) pd456 ))))(pointCircle←v30048, (* (ptr) circleData←v30020 ), pd456) ); } else { success←v30076 = (unsigned) 0; }; }; SOURCE(52089, 95) if ((0 != success←v30076)) { SOURCE(52107, 77) { word var←c88544; var←c88544 = XR←NewObject(16, (* (( (ptr) gf←c92256)+21) )); (* (ptr) var←c88544 ) = 1; (* (W2Pt) (( (ptr) var←c88544)+1) ) = point←v17196; hitData←v17268 = var←c88544; }; }; /* removed tail goto */ (* (ptr) formal←c0828 ) = hitData←v17268; (* (( (ptr) formal←c0828)+1) ) = moreHitDatas←v17296; return; } static void CircleLineIntersection←P3240(formal←c0844, sliceD←v17464, line←v17492) word formal←c0844; word sliceD←v17464; word line←v17492; { register ptr gf←c92288 = (ptr) &globalframe; word points←v17536; word pointCount←v17564; word circleData←v30120; word circleParts←v30148; word localLine←v30204; W4 localPoints←v30232; /* CircleLineIntersection: */ SOURCE(52193, 566) SOURCE(52193, 566) points←v17536 = 0; SOURCE(52193, 566) pointCount←v17564 = 0; SOURCE(52317, 50) circleData←v30120 = XR←Narrow((* (( (ptr) (* (ptr) sliceD←v17464 ))+1) ), (* (( (ptr) gf←c92288)+12) )); SOURCE(52369, 47) circleParts←v30148 = XR←Narrow((* (( (ptr) sliceD←v17464)+1) ), (* (( (ptr) gf←c92288)+13) )); SOURCE(52441, 65) { word pd457; pd457 = (* (( (ptr) (* (( (ptr) gf←c92288)+286)/* var←c88576 */ ))+15) ); localLine←v30204 = (word) ( *( (fPt) ((* (ptr) pd457 ))))(line←v17492, (* (( (ptr) circleData←v30120)+6) ), pd457); }; SOURCE(52544, 83) { W6 var←c88608; { word pd458; pd458 = (* (( (ptr) (* (( (ptr) gf←c92288)+268)/* var←c82496 */ ))+10) ); (void) ( *( (fPt) ((* (ptr) pd458 ))))((word) &var←c88608, (* (ptr) circleData←v30120 ), localLine←v30204, pd458); }; pointCount←v17564 = var←c88608.f4; localPoints←v30232 = (* (W4Pt) &var←c88608 ); }; SOURCE(52629, 130) { register word i←v30312 = 1; register word noName←c88640; noName←c88640 = pointCount←v17564; if ((i←v30312 > noName←c88640)) { goto lab←L100099; }; lab←L100102: ; SOURCE(52662, 97) { W2 var←c88672; word var←c88704; { word pd459; pd459 = (* (( (ptr) (* (( (ptr) gf←c92288)+272)/* var←c82880 */ ))+39) ); (void) ( *( (fPt) ((* (ptr) pd459 ))))((word) &var←c88672, (* (( (ptr) circleData←v30120)+1) ), (* (( (W2Pt) &localPoints←v30232)+BCK( (i←v30312 - 1), 2)) ), pd459); }; var←c88704 = XR←NewObject(12, (* (( (ptr) gf←c92288)+10) )); (* (W2Pt) var←c88704 ) = var←c88672; (* (( (ptr) var←c88704)+2) ) = points←v17536; points←v17536 = var←c88704; }; if ((i←v30312 >= noName←c88640)) { goto lab←L100099; }; i←v30312 = (i←v30312 + 1); goto lab←L100102; lab←L100099: ; }; /* removed tail goto */ (* (ptr) formal←c0844 ) = points←v17536; (* (( (ptr) formal←c0844)+1) ) = pointCount←v17564; return; } static word CircleHitDataAsSimpleCurve←P3300(slice←v17708, hitData←v17736) word slice←v17708; word hitData←v17736; { register ptr gf←c92320 = (ptr) &globalframe; word simpleCurve←v17792; word circleHitData←v30356; word circleData←v30384; /* CircleHitDataAsSimpleCurve: */ SOURCE(52774, 326) SOURCE(52774, 326) simpleCurve←v17792 = 0; SOURCE(52875, 46) circleHitData←v30356 = XR←Narrow(hitData←v17736, (* (( (ptr) gf←c92320)+21) )); SOURCE(52923, 43) circleData←v30384 = XR←Narrow((* (( (ptr) slice←v17708)+1) ), (* (( (ptr) gf←c92320)+12) )); SOURCE(52968, 45) if ((0 == (* (( (ptr) circleHitData←v30356)+3) ))) { SOURCE(53002, 11) return(0); }; SOURCE(53015, 46) if ((0 == (* (( (ptr) circleData←v30384)+4) ))) { SOURCE(53050, 11) return(0); }; SOURCE(53063, 37) simpleCurve←v17792 = (* (( (ptr) circleData←v30384)+5) ); SOURCE(52774, 326) return(simpleCurve←v17792); } static void CirclePointsFromData←P3360(formal←c0868, circleData←v17864) word formal←c0868; word circleData←v17864; { register ptr gf←c92352 = (ptr) &globalframe; W10 points←v17908; word t←v30428; /* CirclePointsFromData: */ SOURCE(53106, 438) SOURCE(53202, 40) t←v30428 = (* (( (ptr) circleData←v17864)+1) ); SOURCE(53244, 58) { W2 var←c88736; { W2 var←c0855; { W2 var←c88768; var←c88768.f0 = (* (ptr) &fc85 ); var←c88768.f1 = (* (ptr) &fc85 ); { word pd460; pd460 = (* (( (ptr) (* (( (ptr) gf←c92352)+272)/* var←c82880 */ ))+39) ); (void) ( *( (fPt) ((* (ptr) pd460 ))))((word) &var←c0855, t←v30428, var←c88768, pd460); }; }; var←c88736 = var←c0855; }; (* (W2Pt) &points←v17908 ) = var←c88736; }; SOURCE(53304, 59) { W2 var←c88800; { W2 var←c0858; { W2 var←c88832; var←c88832.f0 = (* (ptr) &fc88 ); var←c88832.f1 = (* (ptr) &fc85 ); { word pd461; pd461 = (* (( (ptr) (* (( (ptr) gf←c92352)+272)/* var←c82880 */ ))+39) ); (void) ( *( (fPt) ((* (ptr) pd461 ))))((word) &var←c0858, t←v30428, var←c88832, pd461); }; }; var←c88800 = var←c0858; }; (* (W2Pt) (( (ptr) &points←v17908)+2) ) = var←c88800; }; SOURCE(53365, 58) { W2 var←c88864; { W2 var←c0861; { W2 var←c88896; var←c88896.f0 = (* (ptr) &fc85 ); var←c88896.f1 = (* (ptr) &fc87 ); { word pd462; pd462 = (* (( (ptr) (* (( (ptr) gf←c92352)+272)/* var←c82880 */ ))+39) ); (void) ( *( (fPt) ((* (ptr) pd462 ))))((word) &var←c0861, t←v30428, var←c88896, pd462); }; }; var←c88864 = var←c0861; }; (* (W2Pt) (( (ptr) &points←v17908)+4) ) = var←c88864; }; SOURCE(53425, 58) { W2 var←c88928; { W2 var←c0864; { W2 var←c88960; var←c88960.f0 = (* (ptr) &fc87 ); var←c88960.f1 = (* (ptr) &fc85 ); { word pd463; pd463 = (* (( (ptr) (* (( (ptr) gf←c92352)+272)/* var←c82880 */ ))+39) ); (void) ( *( (fPt) ((* (ptr) pd463 ))))((word) &var←c0864, t←v30428, var←c88960, pd463); }; }; var←c88928 = var←c0864; }; (* (W2Pt) (( (ptr) &points←v17908)+6) ) = var←c88928; }; SOURCE(53485, 59) { W2 var←c88992; { W2 var←c0867; { W2 var←c89024; var←c89024.f0 = (* (ptr) &fc85 ); var←c89024.f1 = (* (ptr) &fc88 ); { word pd464; pd464 = (* (( (ptr) (* (( (ptr) gf←c92352)+272)/* var←c82880 */ ))+39) ); (void) ( *( (fPt) ((* (ptr) pd464 ))))((word) &var←c0867, t←v30428, var←c89024, pd464); }; }; var←c88992 = var←c0867; }; (* (W2Pt) (( (ptr) &points←v17908)+8) ) = var←c88992; }; /* removed tail goto */ (* (W10Pt) formal←c0868 ) = points←v17908; return; } static void CircleSetDefaults←P3420(slice←v18004, parts←v18032, defaults←v18060, history←v18088) word slice←v18004; word parts←v18032; word defaults←v18060; word history←v18088; { register ptr gf←c92384 = (ptr) &globalframe; word circleData←v30472; /* CircleSetDefaults: */ SOURCE(53550, 272) SOURCE(53658, 43) circleData←v30472 = XR←Narrow((* (( (ptr) slice←v18004)+1) ), (* (( (ptr) gf←c92384)+12) )); SOURCE(53703, 47) { word pd465; pd465 = (* (( (ptr) (* (( (ptr) gf←c92384)+269)/* var←c82624 */ ))+16) ); (void) ( *( (fPt) ((* (ptr) pd465 ))))((* (( (ptr) circleData←v30472)+33) ), defaults←v18060, pd465); }; SOURCE(53752, 41) (* (( (ptr) circleData←v30472)+11) ) = (* (( (ptr) defaults←v18060)+8) ); SOURCE(53795, 27) { word pd466; pd466 = (* (( (ptr) (* (( (ptr) gf←c92384)+267)/* var←c82368 */ ))+68) ); (void) ( *( (fPt) ((* (ptr) pd466 ))))(slice←v18004, pd466); }; } static word CircleSetStrokeWidth←P3480(slice←v18148, parts←v18176, strokeWidth←v18204, history←v18232) word slice←v18148; word parts←v18176; word strokeWidth←v18204; word history←v18232; { register ptr gf←c92416 = (ptr) &globalframe; word box←v18276; word circleData←v30516; /* CircleSetStrokeWidth: */ SOURCE(53828, 366) SOURCE(53828, 366) box←v18276 = 0; SOURCE(53959, 43) circleData←v30516 = XR←Narrow((* (( (ptr) slice←v18148)+1) ), (* (( (ptr) gf←c92416)+12) )); SOURCE(54004, 118) { word x467; word x468; if ((( x467 = (* (( (ptr) (* (( (ptr) circleData←v30516)+33) ))+2) ), *(float*)&x467 ) != ( x468 = strokeWidth←v18204, *(float*)&x468 ))) { SOURCE(54053, 40) (* (( (ptr) (* (( (ptr) circleData←v30516)+33) ))+2) ) = strokeWidth←v18204; SOURCE(54095, 27) { word pd469; pd469 = (* (( (ptr) (* (( (ptr) gf←c92416)+267)/* var←c82368 */ ))+68) ); (void) ( *( (fPt) ((* (ptr) pd469 ))))(slice←v18148, pd469); }; }; }; SOURCE(54127, 67) { word var←c89056; { word pd470; pd470 = (* (( (ptr) (* (( (ptr) gf←c92416)+276)/* var←c83456 */ ))+7) ); var←c89056 = (word) ( *( (fPt) ((* (ptr) pd470 ))))(slice←v18148, parts←v18176, pd470); }; { word pd471; pd471 = (* (( (ptr) (* (( (ptr) gf←c92416)+271)/* var←c82752 */ ))+7) ); box←v18276 = (word) ( *( (fPt) ((* (ptr) pd471 ))))(var←c89056, pd471); }; }; SOURCE(53828, 366) return(box←v18276); } static void CircleGetStrokeWidth←P3540(formal←c0886, slice←v18336, parts←v18364) word formal←c0886; word slice←v18336; word parts←v18364; { register ptr gf←c92448 = (ptr) &globalframe; word strokeWidth←v18408; word isUnique←v18436; word circleData←v30560; /* CircleGetStrokeWidth: */ SOURCE(54274, 201) SOURCE(54274, 201) isUnique←v18436 = 1; SOURCE(54390, 43) circleData←v30560 = XR←Narrow((* (( (ptr) slice←v18336)+1) ), (* (( (ptr) gf←c92448)+12) )); SOURCE(54435, 40) strokeWidth←v18408 = (* (( (ptr) (* (( (ptr) circleData←v30560)+33) ))+2) ); /* removed tail goto */ (* (ptr) formal←c0886 ) = strokeWidth←v18408; (* (( (ptr) formal←c0886)+1) ) = isUnique←v18436; return; } static void CircleSetStrokeEnd←P3600(slice←v18496, parts←v18524, strokeEnd←v18552, history←v18580) word slice←v18496; word parts←v18524; word strokeEnd←v18552; word history←v18580; { register ptr gf←c92480 = (ptr) &globalframe; word circleData←v30604; /* CircleSetStrokeEnd: */ SOURCE(54481, 189) SOURCE(54589, 43) circleData←v30604 = XR←Narrow((* (( (ptr) slice←v18496)+1) ), (* (( (ptr) gf←c92480)+12) )); SOURCE(54634, 36) (* (( (ptr) (* (( (ptr) circleData←v30604)+33) ))+3) ) = strokeEnd←v18552; } static void CircleGetStrokeEnd←P3660(formal←c0898, slice←v18640, parts←v18668) word formal←c0898; word slice←v18640; word parts←v18668; { register ptr gf←c92512 = (ptr) &globalframe; word strokeEnd←v18712; word isUnique←v18740; word circleData←v30648; /* CircleGetStrokeEnd: */ SOURCE(54676, 200) SOURCE(54676, 200) isUnique←v18740 = 1; SOURCE(54793, 43) circleData←v30648 = XR←Narrow((* (( (ptr) slice←v18640)+1) ), (* (( (ptr) gf←c92512)+12) )); SOURCE(54838, 38) strokeEnd←v18712 = (* (( (ptr) (* (( (ptr) circleData←v30648)+33) ))+3) ); isUnique←v18740 = 1; /* removed tail goto */ (* (ptr) formal←c0898 ) = strokeEnd←v18712; (* (( (ptr) formal←c0898)+1) ) = isUnique←v18740; return; } static void CircleSetStrokeColor←P3720(slice←v18800, parts←v18828, color←v18856, setHow←v18884, history←v18912) word slice←v18800; word parts←v18828; word color←v18856; word setHow←v18884; word history←v18912; { register ptr gf←c92544 = (ptr) &globalframe; word circleData←v30692; /* CircleSetStrokeColor: */ SOURCE(54882, 333) SOURCE(54998, 43) circleData←v30692 = XR←Narrow((* (( (ptr) slice←v18800)+1) ), (* (( (ptr) gf←c92544)+12) )); SOURCE(55043, 172) { word var←c89120; var←c89120 = setHow←v18884; if ((var←c89120 == (* (( (ptr) gf←c92544)+54) ))) { SOURCE(55070, 28) (* (( (ptr) (* (( (ptr) circleData←v30692)+33) ))+8) ) = color←v18856; } else { if ((var←c89120 == (* (( (ptr) gf←c92544)+57) ))) { SOURCE(55114, 103) { word newColor←v30736; SOURCE(55116, 66) { word pd472; pd472 = (* (( (ptr) (* (( (ptr) gf←c92544)+287)/* var←c89152 */ ))+36) ); newColor←v30736 = (word) ( *( (fPt) ((* (ptr) pd472 ))))((* (( (ptr) (* (( (ptr) circleData←v30692)+33) ))+8) ), color←v18856, pd472) ; }; SOURCE(55184, 31) (* (( (ptr) (* (( (ptr) circleData←v30692)+33) ))+8) ) = newColor←v30736; }; } else { SOURCE(55231, 5) (void) XR←RaiseUnnamedError(); }; }; }; } static void CircleGetStrokeColor←P3780(formal←c0912, slice←v18972, parts←v19000) word formal←c0912; word slice←v18972; word parts←v19000; { register ptr gf←c92576 = (ptr) &globalframe; word color←v19044; word isUnique←v19072; word circleData←v30780; /* CircleGetStrokeColor: */ SOURCE(55242, 184) SOURCE(55242, 184) color←v19044 = 0; SOURCE(55242, 184) isUnique←v19072 = 1; SOURCE(55353, 43) circleData←v30780 = XR←Narrow((* (( (ptr) slice←v18972)+1) ), (* (( (ptr) gf←c92576)+12) )); SOURCE(55398, 28) color←v19044 = (* (( (ptr) (* (( (ptr) circleData←v30780)+33) ))+8) ); /* removed tail goto */ (* (ptr) formal←c0912 ) = color←v19044; (* (( (ptr) formal←c0912)+1) ) = isUnique←v19072; return; } static void CircleSetFillColor←P3840(slice←v19132, parts←v19160, color←v19188, setHow←v19216, history←v19244) word slice←v19132; word parts←v19160; word color←v19188; word setHow←v19216; word history←v19244; { register ptr gf←c92608 = (ptr) &globalframe; word circleData←v30824; /* CircleSetFillColor: */ SOURCE(55432, 331) SOURCE(55546, 43) circleData←v30824 = XR←Narrow((* (( (ptr) slice←v19132)+1) ), (* (( (ptr) gf←c92608)+12) )); SOURCE(55591, 172) { word var←c89184; var←c89184 = setHow←v19216; if ((var←c89184 == (* (( (ptr) gf←c92608)+54) ))) { SOURCE(55618, 28) (* (( (ptr) circleData←v30824)+11) ) = color←v19188; } else { if ((var←c89184 == (* (( (ptr) gf←c92608)+57) ))) { SOURCE(55662, 103) { word newColor←v30868; SOURCE(55664, 66) { word pd473; pd473 = (* (( (ptr) (* (( (ptr) gf←c92608)+287)/* var←c89152 */ ))+36) ); newColor←v30868 = (word) ( *( (fPt) ((* (ptr) pd473 ))))((* (( (ptr) circleData←v30824)+11) ), color←v19188, pd473); }; SOURCE(55732, 31) (* (( (ptr) circleData←v30824)+11) ) = newColor←v30868; }; } else { SOURCE(55779, 5) (void) XR←RaiseUnnamedError(); }; }; }; } static void CircleGetFillColor←P3900(formal←c0926, slice←v19304, parts←v19332) word formal←c0926; word slice←v19304; word parts←v19332; { register ptr gf←c92640 = (ptr) &globalframe; word color←v19376; word isUnique←v19404; word circleData←v30912; /* CircleGetFillColor: */ SOURCE(55790, 182) SOURCE(55790, 182) color←v19376 = 0; SOURCE(55790, 182) isUnique←v19404 = 1; SOURCE(55899, 43) circleData←v30912 = XR←Narrow((* (( (ptr) slice←v19304)+1) ), (* (( (ptr) gf←c92640)+12) )); SOURCE(55944, 28) color←v19376 = (* (( (ptr) circleData←v30912)+11) ); /* removed tail goto */ (* (ptr) formal←c0926 ) = color←v19376; (* (( (ptr) formal←c0926)+1) ) = isUnique←v19404; return; } static void CircleSetDashed←P3960(slice←v19464, parts←v19492, dashed←v19520, pattern←v19548, offset←v19576, length←v19604, history←v19632) word slice←v19464; word parts←v19492; word dashed←v19520; word pattern←v19548; word offset←v19576; word length←v19604; word history←v19632; { register ptr gf←c92672 = (ptr) &globalframe; word circleParts←v30956; word circleData←v30984; /* CircleSetDashed: */ SOURCE(55978, 428) SOURCE(56155, 40) circleParts←v30956 = XR←Narrow(parts←v19492, (* (( (ptr) gf←c92672)+13) )); SOURCE(56197, 43) circleData←v30984 = XR←Narrow((* (( (ptr) slice←v19464)+1) ), (* (( (ptr) gf←c92672)+12) )); SOURCE(56242, 164) if ((circleParts←v30956 == 0) || (0 != (* (( (ptr) circleParts←v30956)+5) ))) { SOURCE(56289, 119) { word seg←v31028; SOURCE(56291, 29) seg←v31028 = (* (( (ptr) circleData←v30984)+33) ); SOURCE(56322, 19) (* (( (ptr) seg←v31028)+4) ) = dashed←v19520; SOURCE(56343, 21) (* (( (ptr) seg←v31028)+5) ) = pattern←v19548; SOURCE(56366, 19) (* (( (ptr) seg←v31028)+6) ) = offset←v19576; SOURCE(56387, 19) (* (( (ptr) seg←v31028)+7) ) = length←v19604; }; }; } static void CircleGetDashed←P4020(formal←c0947, slice←v19692, parts←v19720) word formal←c0947; word slice←v19692; word parts←v19720; { register ptr gf←c92704 = (ptr) &globalframe; word dashed←v19764; word pattern←v19792; word offset←v19820; word length←v19848; word isUnique←v19876; word circleParts←v31072; word circleData←v31100; /* CircleGetDashed: */ SOURCE(56415, 412) SOURCE(56415, 412) dashed←v19764 = 0; SOURCE(56415, 412) pattern←v19792 = 0; SOURCE(56415, 412) isUnique←v19876 = 1; SOURCE(56576, 40) circleParts←v31072 = XR←Narrow(parts←v19720, (* (( (ptr) gf←c92704)+13) )); SOURCE(56618, 43) circleData←v31100 = XR←Narrow((* (( (ptr) slice←v19692)+1) ), (* (( (ptr) gf←c92704)+12) )); SOURCE(56663, 164) if ((circleParts←v31072 == 0) || (0 != (* (( (ptr) circleParts←v31072)+5) ))) { SOURCE(56710, 119) { word seg←v31144; SOURCE(56712, 29) seg←v31144 = (* (( (ptr) circleData←v31100)+33) ); SOURCE(56743, 19) dashed←v19764 = (* (( (ptr) seg←v31144)+4) ); SOURCE(56764, 21) pattern←v19792 = (* (( (ptr) seg←v31144)+5) ); SOURCE(56787, 19) offset←v19820 = (* (( (ptr) seg←v31144)+6) ); SOURCE(56808, 19) length←v19848 = (* (( (ptr) seg←v31144)+7) ); }; }; /* removed tail goto */ (* (ptr) formal←c0947 ) = dashed←v19764; (* (( (ptr) formal←c0947)+1) ) = pattern←v19792; (* (( (ptr) formal←c0947)+2) ) = offset←v19820; (* (( (ptr) formal←c0947)+3) ) = length←v19848; (* (( (ptr) formal←c0947)+4) ) = isUnique←v19876; return; } static word CircleSetOrientation←P4080(slice←v19936, parts←v19964, orientation←v19992, history←v20020) word slice←v19936; word parts←v19964; word orientation←v19992; word history←v20020; { register ptr gf←c92736 = (ptr) &globalframe; word success←v20064; word circleData←v31188; /* CircleSetOrientation: */ SOURCE(56836, 353) SOURCE(56836, 353) success←v20064 = 1; SOURCE(56981, 43) circleData←v31188 = XR←Narrow((* (( (ptr) slice←v19936)+1) ), (* (( (ptr) gf←c92736)+12) )); SOURCE(57026, 163) { word var←c89216; var←c89216 = orientation←v19992; switch (var←c89216) { case 0: SOURCE(57056, 25) (* (( (ptr) circleData←v31188)+12) ) = 1; break; case 1: SOURCE(57107, 26) (* (( (ptr) circleData←v31188)+12) ) = 0; break; case 2: SOURCE(57146, 43) (* (( (ptr) circleData←v31188)+12) ) = (unsigned) (0 == (* (( (ptr) circleData←v31188)+12) )); break; default: SOURCE(57202, 5) (void) XR←RaiseUnnamedError(); break; }; }; SOURCE(56836, 353) return(success←v20064); } static void CircleGetOrientation←P4140(formal←c0961, slice←v20124, parts←v20152) word formal←c0961; word slice←v20124; word parts←v20152; { register ptr gf←c92768 = (ptr) &globalframe; word orientation←v20196; word isUnique←v20224; word circleData←v31232; /* CircleGetOrientation: */ SOURCE(57213, 214) SOURCE(57213, 214) isUnique←v20224 = 1; SOURCE(57336, 43) circleData←v31232 = XR←Narrow((* (( (ptr) slice←v20124)+1) ), (* (( (ptr) gf←c92768)+12) )); SOURCE(57381, 46) if ((0 != (* (( (ptr) circleData←v31232)+12) ))) { orientation←v20196 = 0; } else { orientation←v20196 = 1; }; isUnique←v20224 = 1; /* removed tail goto */ (* (ptr) formal←c0961 ) = orientation←v20196; (* (( (ptr) formal←c0961)+1) ) = isUnique←v20224; return; } static void MakeComplete←P4200(circleParts←v20284) word circleParts←v20284; { /* MakeComplete: */ SOURCE(57433, 110) SOURCE(57484, 31) XR←FillWords(&(* (W5Pt) (circleParts←v20284)), 5, 1); SOURCE(57517, 26) (* (( (ptr) circleParts←v20284)+5) ) = 1; } static word IsComplete←P4260(circleParts←v20344) word circleParts←v20344; { register ptr gf←c92800 = (ptr) &globalframe; word var←c20388; /* IsComplete: */ SOURCE(57549, 153) SOURCE(57549, 153) var←c20388 = 0; SOURCE(57620, 82) { word tc474; if ( ( (circleParts←v20344 != 0) ? XR←EqualWords(circleParts←v20344, (( (ptr) gf←c92800)+256)/* var←c82208 */ , 5) : 0 ) ) { tc474 = (word) (unsigned) (0 != (* (( (ptr) circleParts←v20344)+5) )); } else { tc474 = (word) (unsigned) 0; }; return(tc474); }; } static word IsEmpty←P4320(circleParts←v20448) word circleParts←v20448; { register ptr gf←c92832 = (ptr) &globalframe; word var←c20492; /* IsEmpty: */ SOURCE(57708, 159) SOURCE(57708, 159) var←c20492 = 0; SOURCE(57776, 91) { word tc475; if ((circleParts←v20448 == 0)) { tc475 = (word) (unsigned) 1; } else { if (XR←EqualWords(circleParts←v20448, (( (ptr) gf←c92832)+261)/* var←c82272 */ , 5)) { tc475 = (word) (unsigned) ((* (( (ptr) circleParts←v20448)+5) ) == 0); } else { tc475 = (word) (unsigned) 0; }; }; return(tc475); }; } static word NoOpBoundBox←P4380(slice←v42032, parts←v42060) word slice←v42032; word parts←v42060; { register ptr gf←c92864 = (ptr) &globalframe; word box←v42104; /* NoOpBoundBox: */ SOURCE(57873, 117) SOURCE(57873, 117) box←v42104 = 0; SOURCE(57929, 61) { word var←c0970; var←c0970 = (* (( (ptr) gf←c92864)+58) ); (void) (XR←RaiseSignal((* (( (ptr) gf←c92864)+4)/* Problem←v5072 */ ), 0, (word) &var←c0970)); }; SOURCE(57873, 117) return(box←v42104); } static word NoOpTransformedBoundBox←P4440(slice←v42164, selectedParts←v42192, movingParts←v42220, transform←v42248) word slice←v42164; word selectedParts←v42192; word movingParts←v42220; word transform←v42248; { register ptr gf←c92896 = (ptr) &globalframe; word box←v42292; /* NoOpTransformedBoundBox: */ SOURCE(57995, 139) SOURCE(57995, 139) box←v42292 = 0; SOURCE(58073, 61) { word var←c0976; var←c0976 = (* (( (ptr) gf←c92896)+58) ); (void) (XR←RaiseSignal((* (( (ptr) gf←c92896)+4)/* Problem←v5072 */ ), 0, (word) &var←c0976)); }; SOURCE(57995, 139) return(box←v42292); } static word NoOpTightBox←P4500(slice←v42352, parts←v42380) word slice←v42352; word parts←v42380; { word box←v42424; /* NoOpTightBox: */ SOURCE(58139, 65) SOURCE(58139, 65) box←v42424 = 0; SOURCE(58195, 9) box←v42424 = 0; SOURCE(58139, 65) return(box←v42424); } static word NoOpCopy←P4560(slice←v42484, parts←v42512) word slice←v42484; word parts←v42512; { register ptr gf←c92928 = (ptr) &globalframe; word copy←v42556; /* NoOpCopy: */ SOURCE(58209, 109) SOURCE(58209, 109) copy←v42556 = 0; SOURCE(58257, 61) { word var←c0983; var←c0983 = (* (( (ptr) gf←c92928)+58) ); (void) (XR←RaiseSignal((* (( (ptr) gf←c92928)+4)/* Problem←v5072 */ ), 0, (word) &var←c0983)); }; SOURCE(58209, 109) return(copy←v42556); } static void NoOpRestore←P4620(from←v42616, to←v42644) word from←v42616; word to←v42644; { register ptr gf←c92960 = (ptr) &globalframe; /* NoOpRestore: */ SOURCE(58323, 115) SOURCE(58377, 61) { word var←c0986; var←c0986 = (* (( (ptr) gf←c92960)+58) ); (void) (XR←RaiseSignal((* (( (ptr) gf←c92960)+4)/* Problem←v5072 */ ), 0, (word) &var←c0986)); }; } static void NoOpBuildPath←P4680(slice←v42704, transformParts←v42732, transform←v42760, moveTo←v42788, lineTo←v42816, curveTo←v42844, conicTo←v42872, arcTo←v42900, editConstraints←v42928) word slice←v42704; word transformParts←v42732; word transform←v42760; word moveTo←v42788; word lineTo←v42816; word curveTo←v42844; word conicTo←v42872; word arcTo←v42900; word editConstraints←v42928; { /* NoOpBuildPath: */ } static void NoOpDrawBorder←P4740(slice←v42988, drawParts←v43016, transformParts←v43044, transform←v43072, dc←v43100, camera←v43128, quick←v43156, editConstraints←v43184) word slice←v42988; word drawParts←v43016; word transformParts←v43044; word transform←v43072; word dc←v43100; word camera←v43128; word quick←v43156; word editConstraints←v43184; { /* NoOpDrawBorder: */ } static void NoOpDrawParts←P4800(slice←v43244, parts←v43272, dc←v43300, camera←v43328, quick←v43356) word slice←v43244; word parts←v43272; word dc←v43300; word camera←v43328; word quick←v43356; { register ptr gf←c92992 = (ptr) &globalframe; /* NoOpDrawParts: */ SOURCE(58568, 119) SOURCE(58626, 61) { word var←c01009; var←c01009 = (* (( (ptr) gf←c92992)+58) ); (void) (XR←RaiseSignal((* (( (ptr) gf←c92992)+4)/* Problem←v5072 */ ), 0, (word) &var←c01009)); }; } static void NoOpDrawTransform←P4860(slice←v43416, parts←v43444, dc←v43472, camera←v43500, transform←v43528, editConstraints←v43556) word slice←v43416; word parts←v43444; word dc←v43472; word camera←v43500; word transform←v43528; word editConstraints←v43556; { register ptr gf←c93024 = (ptr) &globalframe; /* NoOpDrawTransform: */ SOURCE(58692, 127) SOURCE(58758, 61) { word var←c01016; var←c01016 = (* (( (ptr) gf←c93024)+58) ); (void) (XR←RaiseSignal((* (( (ptr) gf←c93024)+4)/* Problem←v5072 */ ), 0, (word) &var←c01016)); }; } static void NoOpDrawSelectionFeedback←P4920(slice←v43616, selectedParts←v43644, hotParts←v43672, dc←v43700, camera←v43728, dragInProgress←v43756, caretIsMoving←v43784, hideHot←v43812, quick←v43840) word slice←v43616; word selectedParts←v43644; word hotParts←v43672; word dc←v43700; word camera←v43728; word dragInProgress←v43756; word caretIsMoving←v43784; word hideHot←v43812; word quick←v43840; { register ptr gf←c93056 = (ptr) &globalframe; /* NoOpDrawSelectionFeedback: */ SOURCE(58824, 143) SOURCE(58906, 61) { word var←c01026; var←c01026 = (* (( (ptr) gf←c93056)+58) ); (void) (XR←RaiseSignal((* (( (ptr) gf←c93056)+4)/* Problem←v5072 */ ), 0, (word) &var←c01026)); }; } static void NoOpDrawAttractorFeedback←P4980(slice←v43900, attractorParts←v43928, selectedParts←v43956, dragInProgress←v43984, dc←v44012, camera←v44040, editConstraints←v44068) word slice←v43900; word attractorParts←v43928; word selectedParts←v43956; word dragInProgress←v43984; word dc←v44012; word camera←v44040; word editConstraints←v44068; { register ptr gf←c93088 = (ptr) &globalframe; /* NoOpDrawAttractorFeedback: */ SOURCE(58973, 917) SOURCE(59055, 835) if ((0 == dragInProgress←v43984) || (selectedParts←v43956 == 0)) { SOURCE(59106, 795) { word pointGen←v31276 = 0; word pointPairGen←v31304 = 0; word wholeSliceD←v31332; SOURCE(59168, 72) { word pd476; pd476 = (* (( (ptr) (* (( (ptr) gf←c93088)+276)/* var←c83456 */ ))+29) ); wholeSliceD←v31332 = (word) ( *( (fPt) ((* (ptr) pd476 ))))(slice←v43900, 0, 7, pd476); }; SOURCE(59242, 30) { word pd477; pd477 = (* (( (ptr) (* (( (ptr) gf←c93088)+270)/* var←c82656 */ ))+69) ); (void) ( *( (fPt) ((* (ptr) pd477 ))))(dc←v44012, 2, pd477); }; SOURCE(59274, 30) { word pd478; pd478 = (* (( (ptr) (* (( (ptr) gf←c93088)+270)/* var←c82656 */ ))+68) ); (void) ( *( (fPt) ((* (ptr) pd478 ))))(dc←v44012, (* (ptr) &fc87 ), pd478); }; SOURCE(59306, 33) { word pd479; pd479 = (* (( (ptr) (* (( (ptr) gf←c93088)+270)/* var←c82656 */ ))+52) ); (void) ( *( (fPt) ((* (ptr) pd479 ))))(dc←v44012, (* (ptr) (* (( (ptr) (* (( (ptr) gf←c93088)+270)/* var←c82656 */ ))+54) ) ), pd479); }; SOURCE(59341, 61) { word pd480; pd480 = (* (( (ptr) (* (( (ptr) gf←c93088)+276)/* var←c83456 */ ))+38) ); pointPairGen←v31304 = (word) ( *( (fPt) ((* (ptr) pd480 ))))(wholeSliceD←v31332, pd480); }; SOURCE(59404, 228) { W5 pointPairAndDone←v31376; { word pd481; pd481 = (* (( (ptr) (* (( (ptr) gf←c93088)+276)/* var←c83456 */ ))+42) ); (void) ( *( (fPt) ((* (ptr) pd481 ))))((word) &pointPairAndDone←v31376, slice←v43900, pointPairGen←v31304, pd481); }; lab←L100113: ; if ((0 == pointPairAndDone←v31376.f4)) { } else { goto lab←L100110; }; SOURCE(59569, 63) { word pd482; pd482 = (* (( (ptr) (* (( (ptr) gf←c93088)+270)/* var←c82656 */ ))+73) ); (void) ( *( (fPt) ((* (ptr) pd482 ))))(dc←v44012, (* (W2Pt) &pointPairAndDone←v31376 ), (* (W2Pt) (( (ptr) &pointPairAndDone←v31376)+2) ), pd482); }; { word pd483; pd483 = (* (( (ptr) (* (( (ptr) gf←c93088)+276)/* var←c83456 */ ))+42) ); (void) ( *( (fPt) ((* (ptr) pd483 ))))((word) &pointPairAndDone←v31376, slice←v43900, pointPairGen←v31304, pd483); }; goto lab←L100113; lab←L100110: ; }; SOURCE(59643, 53) { word pd484; pd484 = (* (( (ptr) (* (( (ptr) gf←c93088)+276)/* var←c83456 */ ))+36) ); pointGen←v31276 = (word) ( *( (fPt) ((* (ptr) pd484 ))))(wholeSliceD←v31332, pd484); }; SOURCE(59698, 192) { W3 pointAndDone←v31420; { word pd485; pd485 = (* (( (ptr) (* (( (ptr) gf←c93088)+276)/* var←c83456 */ ))+41) ); (void) ( *( (fPt) ((* (ptr) pd485 ))))((word) &pointAndDone←v31420, slice←v43900, pointGen←v31276, pd485); }; lab←L100117: ; if ((0 == pointAndDone←v31420.f2)) { } else { goto lab←L100114; }; SOURCE(59835, 55) { word pd486; pd486 = (* (( (ptr) (* (( (ptr) gf←c93088)+279)/* var←c84512 */ ))+19) ); (void) ( *( (fPt) ((* (ptr) pd486 ))))(dc←v44012, (* (W2Pt) &pointAndDone←v31420 ), (* (( (ptr) camera←v44040)+4) ), pd486) ; }; { word pd487; pd487 = (* (( (ptr) (* (( (ptr) gf←c93088)+276)/* var←c83456 */ ))+41) ); (void) ( *( (fPt) ((* (ptr) pd487 ))))((word) &pointAndDone←v31420, slice←v43900, pointGen←v31276, pd487); }; goto lab←L100117; lab←L100114: ; }; }; }; } static word NoOpAttractorFeedbackBoundBox←P5040(slice←v44128, attractorParts←v44156, selectedParts←v44184, dragInProgress←v44212, camera←v44240, editConstraints←v44268) word slice←v44128; word attractorParts←v44156; word selectedParts←v44184; word dragInProgress←v44212; word camera←v44240; word editConstraints←v44268; { register ptr gf←c93120 = (ptr) &globalframe; word box←v44312; /* NoOpAttractorFeedbackBoundBox: */ SOURCE(59908, 237) SOURCE(59908, 237) box←v44312 = 0; SOURCE(59998, 65) { word var←c89280; { word pd488; pd488 = (* (( (ptr) (* (( (ptr) gf←c93120)+276)/* var←c83456 */ ))+9) ); var←c89280 = (word) ( *( (fPt) ((* (ptr) pd488 ))))(slice←v44128, 0, pd488); }; { word pd489; pd489 = (* (( (ptr) (* (( (ptr) gf←c93120)+271)/* var←c82752 */ ))+7) ); box←v44312 = (word) ( *( (fPt) ((* (ptr) pd489 ))))(var←c89280, pd489); }; }; SOURCE(60065, 80) { word pd490; word x492; word x493; word x494; float tf495; pd490 = (* (( (ptr) (* (( (ptr) gf←c93120)+271)/* var←c82752 */ ))+17) ); (void) ( *( (fPt) ((* (ptr) pd490 ))))(box←v44312, ( tf495 = (( x492 = (* (ptr) &fc491 ), *(float*)&x492 ) * ( x493 = (* (( (ptr) camera←v44240)+4) ), *(float*)&x493 )) + ( x494 = (* (ptr) &fc87 ), *(float*)&x494 ), *(word*)&tf495 ), pd490); }; SOURCE(59908, 237) return(box←v44312); } static void NoOpSaveSelections←P5100(slice←v44372, parts←v44400, selectClass←v44428) word slice←v44372; word parts←v44400; word selectClass←v44428; { /* NoOpSaveSelections: */ } static word NoOpRemakeSelections←P5160(slice←v44488, selectClass←v44516) word slice←v44488; word selectClass←v44516; { word parts←v44560; /* NoOpRemakeSelections: */ SOURCE(60223, 70) SOURCE(60223, 70) parts←v44560 = 0; SOURCE(60223, 70) return(parts←v44560); } static word NoOpSetOrientation←P5220(slice←v44620, parts←v44648, orientation←v44676, history←v44704) word slice←v44620; word parts←v44648; word orientation←v44676; word history←v44704; { word success←v44748; /* NoOpSetOrientation: */ SOURCE(60299, 81) SOURCE(60367, 13) return(0); } static void NoOpGetOrientation←P5280(formal←c01066, slice←v44808, parts←v44836) word formal←c01066; word slice←v44808; word parts←v44836; { word orientation←v44880; word isUnique←v44908; /* NoOpGetOrientation: */ SOURCE(60386, 79) SOURCE(60386, 79) isUnique←v44908 = 1; SOURCE(60454, 11) orientation←v44880 = 1; isUnique←v44908 = 1; /* removed tail goto */ (* (ptr) formal←c01066 ) = orientation←v44880; (* (( (ptr) formal←c01066)+1) ) = isUnique←v44908; return; } static void NoOpTransform←P5340(slice←v44968, parts←v44996, transform←v45024, editConstraints←v45052, history←v45080) word slice←v44968; word parts←v44996; word transform←v45024; word editConstraints←v45052; word history←v45080; { register ptr gf←c93152 = (ptr) &globalframe; /* NoOpTransform: */ SOURCE(60470, 119) SOURCE(60528, 61) { word var←c01072; var←c01072 = (* (( (ptr) gf←c93152)+58) ); (void) (XR←RaiseSignal((* (( (ptr) gf←c93152)+4)/* Problem←v5072 */ ), 0, (word) &var←c01072)); }; } static word NoOpDescribe←P5400(sliceD←v45140) word sliceD←v45140; { register ptr gf←c93184 = (ptr) &globalframe; word rope←v45184; /* NoOpDescribe: */ SOURCE(60594, 118) SOURCE(60594, 118) rope←v45184 = 0; SOURCE(60650, 62) { word var←c01075; var←c01075 = (* (( (ptr) gf←c93184)+58) ); (void) (XR←RaiseSignal((* (( (ptr) gf←c93184)+4)/* Problem←v5072 */ ), 0, (word) &var←c01075)); }; SOURCE(60594, 118) return(rope←v45184); } static word NoOpDescribeHit←P5460(slice←v45244, hitData←v45272) word slice←v45244; word hitData←v45272; { register ptr gf←c93216 = (ptr) &globalframe; word rope←v45316; /* NoOpDescribeHit: */ SOURCE(60717, 124) SOURCE(60717, 124) rope←v45316 = 0; SOURCE(60779, 62) { word var←c01079; var←c01079 = (* (( (ptr) gf←c93216)+58) ); (void) (XR←RaiseSignal((* (( (ptr) gf←c93216)+4)/* Problem←v5072 */ ), 0, (word) &var←c01079)); }; SOURCE(60717, 124) return(rope←v45316); } static void NoOpFileout←P5520(slice←v45376, f←v45404) word slice←v45376; word f←v45404; { register ptr gf←c93248 = (ptr) &globalframe; /* NoOpFileout: */ SOURCE(60846, 116) SOURCE(60900, 62) { word var←c01082; var←c01082 = (* (( (ptr) gf←c93248)+58) ); (void) (XR←RaiseSignal((* (( (ptr) gf←c93248)+4)/* Problem←v5072 */ ), 0, (word) &var←c01082)); }; } static word NoOpFilein←P5580(f←v45464, version←v45492, router←v45520, camera←v45548) word f←v45464; word version←v45492; word router←v45520; word camera←v45548; { register ptr gf←c93280 = (ptr) &globalframe; word slice←v45592; /* NoOpFilein: */ SOURCE(60967, 114) SOURCE(60967, 114) slice←v45592 = 0; SOURCE(61019, 62) { word var←c01088; var←c01088 = (* (( (ptr) gf←c93280)+58) ); (void) (XR←RaiseSignal((* (( (ptr) gf←c93280)+4)/* Problem←v5072 */ ), 0, (word) &var←c01088)); }; SOURCE(60967, 114) return(slice←v45592); } static word GenericTransformedBoundBox←P5640(slice←v45652, selectedParts←v45680, movingParts←v45708, transform←v45736) word slice←v45652; word selectedParts←v45680; word movingParts←v45708; word transform←v45736; { register ptr gf←c93312 = (ptr) &globalframe; word box←v45780; word var←c89312; /* GenericTransformedBoundBox: */ SOURCE(61086, 600) SOURCE(61086, 600) box←v45780 = 0; SOURCE(61167, 519) { word pd497; { word pd496; pd496 = (* (( (ptr) (* (( (ptr) gf←c93312)+267)/* var←c82368 */ ))+8) ); var←c89312 = (word) ( *( (fPt) ((* (ptr) pd496 ))))(slice←v45652, selectedParts←v45680, pd496); }; pd497 = (* (( (ptr) (* (( (ptr) gf←c93312)+276)/* var←c83456 */ ))+28) ); if ((0 != (word) ( *( (fPt) ((* (ptr) pd497 ))))(var←c89312, pd497))) { SOURCE(61255, 40) { word pd498; pd498 = (* (( (ptr) (* (( (ptr) gf←c93312)+276)/* var←c83456 */ ))+7) ); box←v45780 = (word) ( *( (fPt) ((* (ptr) pd498 ))))(slice←v45652, 0, pd498); }; SOURCE(61297, 51) { word pd499; pd499 = (* (( (ptr) (* (( (ptr) gf←c93312)+271)/* var←c82752 */ ))+9) ); box←v45780 = (word) ( *( (fPt) ((* (ptr) pd499 ))))(box←v45780, transform←v45736, pd499); }; } else { SOURCE(61381, 307) { word copies←v31464; SOURCE(61383, 8) { word pd500; pd500 = (* (( (ptr) (* (( (ptr) gf←c93312)+276)/* var←c83456 */ ))+10) ); copies←v31464 = (word) ( *( (fPt) ((* (ptr) pd500 ))))(slice←v45652, 0, pd500); }; SOURCE(61436, 79) if (((* (( (ptr) copies←v31464)+1) ) != 0)) { SOURCE(61460, 55) { word var←c01096; var←c01096 = (* (( (ptr) gf←c93312)+59) ); (void) (XR←RaiseSignal((* (( (ptr) gf←c93312)+4)/* Problem←v5072 */ ), 0, (word) &var←c01096)); }; }; SOURCE(61517, 71) { word pd501; pd501 = (* (( (ptr) (* (( (ptr) gf←c93312)+276)/* var←c83456 */ ))+22) ); (void) ( *( (fPt) ((* (ptr) pd501 ))))((* (ptr) copies←v31464 ), selectedParts←v45680, transform←v45736, 0, 0, pd501); }; SOURCE(61606, 80) { word var←c89344; { word pd502; pd502 = (* (( (ptr) (* (( (ptr) gf←c93312)+276)/* var←c83456 */ ))+7) ); var←c89344 = (word) ( *( (fPt) ((* (ptr) pd502 ))))((* (ptr) copies←v31464 ), movingParts←v45708, pd502); }; { word pd503; pd503 = (* (( (ptr) (* (( (ptr) gf←c93312)+271)/* var←c82752 */ ))+7) ); box←v45780 = (word) ( *( (fPt) ((* (ptr) pd503 ))))(var←c89344, pd503); }; }; }; }; }; SOURCE(61086, 600) return(box←v45780); } static void Init←P5700() { register ptr gf←c93344 = (ptr) &globalframe; /* Init: */ SOURCE(61694, 63) SOURCE(61712, 45) { word pd504; pd504 = (* (( (ptr) (* (( (ptr) gf←c93344)+280)/* var←c85056 */ ))+4) ); (* (( (ptr) gf←c93344)+6)/* cache←v8068 */ ) = (word) ( *( (fPt) ((* (ptr) pd504 ))))(100, 2147483647, pd504); }; } /* file: GGSliceImplC, module: GGSliceImplC, compiled at: July 11, 1993 8:09:44 pm PDT */ extern void XR←install←GGSliceImplC() { XR←FillWords(&dummy156, 2, 0); NoName←Q9060(); } extern void XR←run←GGSliceImplC() { XR←Start(&globalframe); }