/* Generated with C2C (Cedar To C)*/ /* Copyright (C) 1993 by Xerox Corporation. All rights reserved. */ /* time: July 11, 1993 8:10:27 pm PDT */ /* C2C version: April 20, 1993 (sun4) */ /* ref-counting: off */ /* file: GGSliceImplD, module: GGSliceImplD */ /* switches: bcfhklnouw */ #include <cedar/InstallationSupport.h> #include <cedar/CedarExtra.h> static char versionStamp[] = "@(#)mob←version [1638783677,2288722857] GGSliceImplD"; typedef unsigned word, *ptr; typedef unsigned char byte, *bPt; typedef unsigned short half, *hPt; typedef word (*fPt)(); typedef struct {word f0, f1, f2, f3, f4, f5, f6;} W7; typedef struct {word f0, f1;} W2; typedef struct {word f0, f1, f2, f3, f4, f5, f6, f7;} W8; typedef struct {word f0, f1, f2, f3, f4, f5;} W6; typedef struct {W8 f; W6 r;} W14; typedef struct {word f0, f1, f2;} W3; typedef struct {word f0, f1, f2, f3;} W4; typedef W4 *W4Pt; typedef W3 *W3Pt; typedef W2 *W2Pt; typedef struct {W8 f; W8 r;} W16; typedef W16 *W16Pt; typedef W6 *W6Pt; typedef struct {W16 f; W3 r;} W19; typedef struct {word f0, f1, f2, f3, f4;} W5; typedef struct {W8 f; W5 r;} W13; typedef struct {W8 f; W3 r;} W11; typedef struct {W8 f; W2 r;} W10; typedef struct {W8 f; W7 r;} W15; typedef struct {W16 f; W5 r;} W21; #define SOURCE(p, l) /* source p, l */ static float fc57 = 1.0; #define SGNCK(i) ((int) (word) (i) < 0 ? XR←RaiseArithmeticFault(): i ) #define BCK(idx, lim) ( ((unsigned) idx) >= ((unsigned) lim) ? (XR←RaiseBoundsFault()) : (idx) ) static float fc123 = 0.0; #define IOP2(op, x, y) ( (word) ((x) op (y)) ) static float fc249 = 2000.0; static float fc317 = 3.0; #define FABS(f, t) ( ((t=(f)) >= (float) 0.0) ? (t) : (- (t)) ) static float fc344 = 0.001; static float fc355 = 0.01; static float fc827 = 1E16; static void NoName←Q8592(); static void GGSliceImplD←P0(); static void KillBoundBox←P60(); static void KillBoundBoxOnly←P120(); static void KillTightBoxOnly←P180(); static void TrajShapeChangeNotify←P240(); static word BuildTrajSliceClass←P300(); static void TrajUnlink←P360(); static word TrajGetBoundBox←P420(); static word EnlargeBySegmentBox←P3612(); static word TrajGetTightBox←P480(); static word EnlargeBySegmentTightBox←P3720(); static word TrajCopy←P540(); static word CopyTraj←P600(); static void CopyEachSegment←P3876(); static word CopySegmentAndBuild←P3996(); static void CopyEachJoint←P3936(); static word CopyJointAndBuild←P4056(); static void TrajRestore←P660(); static void BuildConstrainedPathSeg←P720(); static void TrajBuildPath←P780(); static void TransformParts←P4404(); static void TransformEntire←P4464(); static void TransformNone←P4524(); static void TrajDrawBorder←P840(); static void DoTrajDrawBorder←P4872(); static void TrajDrawParts←P900(); static void TrajDrawTransform←P960(); static void TrajDrawSelectionFeedback←P1020(); static void DoDrawFeedback←P5076(); static void TrajDrawAttractorFeedback←P1080(); static word TrajAttractorFeedbackBoundBox←P1140(); static void FindImagerObject←P1200(); static word EqualPattern←P5424(); static word CompareProps←P5484(); static word ClosePoints←P1260(); static word CreateProps←P1320(); static void CachedDrawBorder←P1380(); static void TrajDrawObject←P1440(); static void DrawBorderAux←P1500(); static void TrajDrawBorderSingleStroke←P1560(); static void BuildPathNoTransform←P5880(); static void BuildPathTransform←P5940(); static word PatternProc←P6000(); static void DrawRubberControlPoints←P1620(); static void DrawSingleStrokeTraj←P1680(); static void BuildPath←P6396(); static word PatternProc←P6456(); static void DrawTraj←P1740(); static void DoDrawTraj←P6564(); static void DrawSingleStrokeTrajSeq←P1800(); static void BuildPath←P6672(); static word PatternProc←P6732(); static void DrawCpsAndJoints←P1860(); static void EnlargeByCpsAndJoints←P1920(); static void TrajSaveSelections←P1980(); static word TrajRemakeSelections←P2040(); static word DrawConstrained←P2100(); static void SegMaskStroke←P2160(); static void MaskPath←P7224(); static word PatternProc←P7284(); static void MaskStroke←P2220(); static void MaskPath←P7344(); static word PatternProc←P7404(); static void MaskStrokeTransform←P2280(); static void MaskPath←P7464(); static word PatternProc←P7524(); static word AllStrokePropsAndColorsEqual←P2340(); static word SegmentSelected←P2400(); static void TrajTransform←P2460(); static void TransformSequenceOpen←P2520(); static void TransformSequenceClosed←P2580(); static void TransformConstrained←P2640(); static word TrajIsEmptyParts←P2700(); static word TrajIsCompleteParts←P2760(); static word TrajNewParts←P2820(); static word NearestJointToHitSpot←P2880(); static word TrajUnionParts←P2940(); static word TrajDiffParts←P3000(); static void TrajMovingParts←P3060(); static word TrajAugmentParts←P3120(); static word TrajAlterParts←P3180(); static word PreviousJoint←P3240(); static void TrajSetSelectedFields←P3300(); static void Init←P3360(); static struct {unsigned f; char r[16];} string1 = {851984, "\257\300\247\365\203\234\300\047\265\225\046\106\354\000\000"}; static struct {unsigned f; char r[8];} string2 = {262148, "\004\200@\034\000\000\000"}; static struct {unsigned f; char r[16];} string3 = {851984, "\257\300\247\365\203\234\300\047\265\225\046\100\354\000\000"}; static struct {unsigned f; char r[4];} string4 = {65537, "\001\000\000"}; static struct {unsigned f; char r[4];} string5 = {131076, "\216\251\000"}; static struct {unsigned f; char r[16];} string6 = {917520, "\216\257\300\363\223\326\161\300\017\164\046\072\104\350\000"}; static struct {unsigned f; char r[16];} string7 = {851984, "\257\300\247\365\203\234\300\047\265\225\046\107\050\000\000"}; static struct {unsigned f; char r[4];} string8 = {131074, "\004\007\000"}; static struct {unsigned f; char r[48];} string9 = {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];} string10 = {131074, "\004\003\000"}; static struct {unsigned f; char r[16];} string11 = {851984, "\257\300\050\310\006\072\300\004\273\314\121\100\214\000\000"}; static struct {unsigned f; char r[16];} string12 = {851984, "\257\300\254\073\314\103\300\064\024\167\046\100\200\000\000"}; static struct {unsigned f; char r[28];} string13 = {1638425, "\006\011\000\001\004\001\024\001\040\001\100\124\001\100\130\001\100\134\001\100\140\001\100\144\001\000\000"}; static struct {unsigned f; char r[16];} string14 = {851984, "\257\300\254\073\314\103\300\064\024\167\046\100\164\000\000"}; static struct {unsigned f; char r[4];} string15 = {131074, "\003\006\000"}; static struct {unsigned f; char r[16];} string16 = {851984, "\257\300\012\121\313\233\300\012\365\115\261\100\214\000\000"}; static struct {unsigned f; char r[16];} string17 = {851984, "\257\300\050\310\006\072\300\004\273\314\121\100\164\000\000"}; static struct {unsigned f; char r[16];} string18 = {851984, "\257\300\141\255\332\275\300\210\153\043\251\100\200\000\000"}; static struct {unsigned f; char r[12];} string19 = {524296, "\011\000\004\000\040\000\004\001\000\000\000"}; static struct {unsigned f; char r[16];} string20 = {851984, "\257\300\074\177\166\242\300\203\113\217\044\104\254\000\000"}; static struct {unsigned f; char r[4];} string21 = {131074, "\003\005\000"}; static struct {unsigned f; char r[16];} string22 = {851984, "\257\300\141\255\332\275\300\210\153\043\251\101\304\000\000"}; static struct {unsigned f; char r[16];} string23 = {786448, "GGTrajObject\000\000\000"}; static struct {unsigned f; char r[8];} string24 = {393224, "Bezier\000"}; static struct {unsigned f; char r[12];} string25 = {524300, "Gargoyle\000\000\000"}; static struct {unsigned f; char r[12];} string26 = {524300, "CopyTraj\000\000\000"}; static struct {unsigned f; char r[8];} string27 = {262152, "Traj\000\000\000"}; static struct {unsigned f; char r[28];} string28 = {1638428, "NearestJointToHitSpot NYI\000\000"}; static struct {unsigned f; char r[8];} string29 = {458760, "Forward"}; static struct {unsigned f; char r[12];} string30 = {524300, "Backward\000\000\000"}; static struct {unsigned f; char r[8];} string31 = {262152, "Grow\000\000\000"}; static struct {unsigned f; char r[16];} string32 = {851984, "ShrinkForward\000\000"}; static struct {unsigned f; char r[16];} string33 = {917520, "ShrinkBackward\000"}; static struct {unsigned f; char r[16];} string34 = {851984, "\257\300\141\255\332\275\300\210\153\043\251\100\164\000\000"}; static struct {unsigned f; char r[16];} string35 = {851981, "\006\004\024\001\030\001\034\001\100\150\004\107\377\000\000"}; static struct {unsigned f; char r[16];} string36 = {851984, "\257\300\006<7[\300;CV\364@h\000\000"}; static struct {unsigned f; char r[16];} string37 = {851984, "\257\300\322\334\347\304\300\124\107\000\027\100\150\000\000"}; static struct {unsigned f; char r[16];} string38 = {851984, "\257\300\161\264\233\303\300\026\075\022\161\100\150\000\000"}; static struct {unsigned f; char r[16];} string39 = {851984, "\257\300\265\217\206\011\300\172\271\371\033\100\150\000\000"}; static struct {unsigned f; char r[16];} string40 = {851984, "\257\300\231\005\151\136\300\275\231\323\274\100\150\000\000"}; static struct {unsigned f; char r[16];} string41 = {851984, "\257\300\034\077\173\126\300\270\206\201\035\100\150\000\000"}; static struct {unsigned f; char r[16];} string42 = {851984, "\257\300\317\075\344\275\300\105\331\241\110\100\150\000\000"}; static struct {unsigned f; char r[16];} string43 = {851984, "\257\300\043\211\212\366\300\343\003\307\242\100\150\000\000"}; static struct {unsigned f; char r[16];} string44 = {851984, "\257\300\261\002\056\176\300\055\321\222\125\100\150\000\000"}; static struct {unsigned f; char r[16];} string45 = {851984, "\257\300\235\036\354\311\300\234\133\201\260\100\150\000\000"}; static struct {unsigned f; char r[4];} string46 = {1195856748, "ice"}; static struct {unsigned f; char r[16];} string47 = {851984, "\257\300U$)\337\300Xo9\243@t\000\000"}; static struct {unsigned f; char r[16];} string48 = {851984, "\257\300\050\310\006\072\300\004\273\314\121\100\150\000\000"}; static struct {unsigned f; char r[16];} string49 = {851984, "\257\300\104\154\010\164\300\126\073\363\036\100\150\000\000"}; static struct {unsigned f; char r[16];} string50 = {851984, "\257\300\370\132\042\205\300\045\133\011\125\100\150\000\000"}; static struct {unsigned f; char r[16];} string51 = {851984, "\257\300\074\177\166\242\300\203\113\217\044\100\150\000\000"}; static struct {unsigned f; char r[16];} string52 = {851984, "\257\300\121\117\377\026\300\315\013\026\004\100\150\000\000"}; static struct {unsigned f; char r[16];} string53 = {851984, "\257\300\245\247\302\156\300\052\156\325\023\100\150\000\000"}; static struct {unsigned f; char r[16];} string54 = {851984, "\257\300\252\120\163\253\300\126\171\142\023\100\150\000\000"}; static struct {unsigned f; char r[16];} string55 = {851984, "\257\300\004\142\347\110\300\363\053\254\345\100\150\000\000"}; static struct { word f0[37]; word f37; word f38; word f39; word f40; word f41; word f42; word f43; word f44; word f45; word f46; word f47; word f48; word f49; word f50; word f51; word f52; word f53; word f54; word f55; word f56; word f57; word f58; word f59; word f60; word f61; word f62; word f63; word f64; word f65; word f66; word f67; word f68; word f69; word f70; word f71; word f72; word f73; word f74; word f75; word f76; word f77; word f78; word f79; word f80; word f81; word f82; word f83; word f84; word f85; word f86; word f87; word f88; word f89; word f90; word f91; word f92; word f93; word f94; word f95; word f96; word f97; word f98; word f99; word f100; word f101; word f102; word f103; word f104; word f105; word f106; word f107; word f108; word f109; word f110; word f111; word f112; word f113; word f114; word f115; word f116; word f117; word f118; word f119; word f120; word f121; word f122; word f123; word f124; word f125; word f126; word f127; word f128; word f129; word f130; word f131; word f132; word f133; word f134; word f135; word f136; word f137; word f138; word f139; word f140; word f141; word f142; word f143; word f144; word f145; word f146; word f147; word f148; word f149; word f150[25]; } globalframe = { {0}, (word) Init←P3360, 0, (word) TrajSetSelectedFields←P3300, 0, (word) PreviousJoint←P3240, 0, (word) TrajAlterParts←P3180, 0, (word) TrajAugmentParts←P3120, 0, (word) TrajMovingParts←P3060, 0, (word) TrajDiffParts←P3000, 0, (word) TrajUnionParts←P2940, 0, (word) NearestJointToHitSpot←P2880, 0, (word) TrajNewParts←P2820, 0, (word) TrajIsCompleteParts←P2760, 0, (word) TrajIsEmptyParts←P2700, 0, (word) TransformConstrained←P2640, 0, (word) TransformSequenceClosed←P2580, 0, (word) TransformSequenceOpen←P2520, 0, (word) TrajTransform←P2460, 0, (word) SegmentSelected←P2400, 0, (word) AllStrokePropsAndColorsEqual←P2340, 0, (word) MaskStrokeTransform←P2280, 0, (word) MaskStroke←P2220, 0, (word) SegMaskStroke←P2160, 0, (word) DrawConstrained←P2100, 0, (word) TrajRemakeSelections←P2040, 0, (word) TrajSaveSelections←P1980, 0, (word) EnlargeByCpsAndJoints←P1920, 0, (word) DrawCpsAndJoints←P1860, 0, (word) DrawSingleStrokeTrajSeq←P1800, 0, (word) DrawTraj←P1740, 0, (word) DrawSingleStrokeTraj←P1680, 0, (word) DrawRubberControlPoints←P1620, 0, (word) TrajDrawBorderSingleStroke←P1560, 0, (word) DrawBorderAux←P1500, 0, (word) TrajDrawObject←P1440, 0, (word) CachedDrawBorder←P1380, 0, (word) CreateProps←P1320, 0, (word) ClosePoints←P1260, 0, (word) FindImagerObject←P1200, 0, (word) TrajAttractorFeedbackBoundBox←P1140, 0, (word) TrajDrawAttractorFeedback←P1080, 0, (word) TrajDrawSelectionFeedback←P1020, 0, (word) TrajDrawTransform←P960, 0, (word) TrajDrawParts←P900, 0, (word) TrajDrawBorder←P840, 0, (word) TrajBuildPath←P780, 0, (word) BuildConstrainedPathSeg←P720, 0, (word) TrajRestore←P660, 0, (word) CopyTraj←P600, 0, (word) TrajCopy←P540, 0, (word) TrajGetTightBox←P480, 0, (word) TrajGetBoundBox←P420, 0, (word) TrajUnlink←P360, 0, (word) BuildTrajSliceClass←P300, 0, (word) TrajShapeChangeNotify←P240, 0, (word) KillTightBoxOnly←P180, 0, (word) KillBoundBoxOnly←P120, 0, (word) KillBoundBox←P60, 0, (word) GGSliceImplD←P0, {0} }; static void NoName←Q8592() { register ptr gf←c01161 = (ptr) &globalframe; word var←c94628; (* (( (ptr) gf←c01161)+10) ) = (word) XR←GetTypeIndex((word) &string1, 0, (word) &string2); (* (( (ptr) gf←c01161)+11) ) = (word) XR←GetTypeIndex((word) &string3, 0, (word) &string4); (* (( (ptr) gf←c01161)+12) ) = (word) XR←GetTypeIndex((word) &string5, 0, (word) &string4); (* (( (ptr) gf←c01161)+13) ) = (word) XR←GetTypeIndex((word) &string6, 0, (word) &string4); (* (( (ptr) gf←c01161)+15) ) = (word) XR←GetTypeIndex((word) &string7, 0, (word) &string8); (* (( (ptr) gf←c01161)+16) ) = (word) XR←GetTypeIndex((word) &string9, 0, (word) &string10); (* (( (ptr) gf←c01161)+18) ) = (word) XR←GetTypeIndexS((word) (&string11)); (* (( (ptr) gf←c01161)+19) ) = (word) XR←GetTypeIndex((word) &string12, 0, (word) &string13); (* (( (ptr) gf←c01161)+20) ) = (word) XR←GetTypeIndex((word) &string14, 0, (word) &string15); (* (( (ptr) gf←c01161)+21) ) = (word) XR←GetTypeIndexS((word) (&string16)); (* (( (ptr) gf←c01161)+22) ) = (word) XR←GetTypeIndexS((word) (&string17)); (* (( (ptr) gf←c01161)+23) ) = (word) XR←GetTypeIndex((word) &string18, 0, (word) &string19); (* (( (ptr) gf←c01161)+24) ) = (word) XR←GetTypeIndex((word) &string20, 0, (word) &string21); (* (( (ptr) gf←c01161)+25) ) = (word) XR←GetTypeIndex((word) &string22, 0, (word) &string4); (* (ptr) (( (bPt) gf←c01161)+104) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c01161)+12) ), (word) &string23); (* (ptr) (( (bPt) gf←c01161)+108) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c01161)+12) ), (word) &string24); (* (ptr) (( (bPt) gf←c01161)+112) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c01161)+12) ), (word) &string25); (* (ptr) (( (bPt) gf←c01161)+116) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c01161)+12) ), (word) &string26); (* (ptr) (( (bPt) gf←c01161)+120) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c01161)+12) ), (word) &string27); (* (ptr) (( (bPt) gf←c01161)+124) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c01161)+13) ), (word) &string28); (* (ptr) (( (bPt) gf←c01161)+128) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c01161)+12) ), (word) &string29); (* (ptr) (( (bPt) gf←c01161)+132) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c01161)+12) ), (word) &string30); (* (ptr) (( (bPt) gf←c01161)+136) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c01161)+12) ), (word) &string31); (* (ptr) (( (bPt) gf←c01161)+140) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c01161)+12) ), (word) &string32); (* (ptr) (( (bPt) gf←c01161)+144) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c01161)+12) ), (word) &string33); (void) XR←DeclareGlobalFrame((word) "GGSliceImplD", &globalframe, (word) XR←GetTypeIndex((word) &string34, 0, (word) &string35) , (word) (( (bPt) gf←c01161)+596)/* var←c83812 */ ); var←c94628 = (word) XR←ImportInterface((word) "CodeTimer", (word) XR←GetTypeIndexS((word) (&string36)), 21); (* (( (ptr) gf←c01161)+160)/* var←c84484 */ ) = var←c94628; (void) XR←ImportProcS(var←c94628, 526850); (void) XR←ImportProcS(var←c94628, 526338); var←c94628 = (word) XR←ImportInterface((word) "Feedback", (word) XR←GetTypeIndexS((word) (&string37)), 25); (* (( (ptr) gf←c01161)+155)/* var←c83908 */ ) = var←c94628; var←c94628 = (word) XR←ImportInterface((word) "FunctionCache", (word) XR←GetTypeIndexS((word) (&string38)), 14); (* (( (ptr) gf←c01161)+169)/* var←c87812 */ ) = var←c94628; (void) XR←ImportProcS(var←c94628, 67633154); (void) XR←ImportProcS(var←c94628, 1311237); (void) XR←ImportProcS(var←c94628, 135005443); var←c94628 = (word) XR←ImportInterface((word) "GGBoundBox", (word) XR←GetTypeIndexS((word) (&string39)), 24); (* (( (ptr) gf←c01161)+158)/* var←c84068 */ ) = var←c94628; (void) XR←ImportProcS(var←c94628, 789250); (void) XR←ImportProcS(var←c94628, 268699393); (void) XR←ImportProcS(var←c94628, 527618); (void) XR←ImportProcS(var←c94628, 526850); (void) XR←ImportProcS(var←c94628, 67109376); var←c94628 = (word) XR←ImportInterface((word) "GGCoreOps", (word) XR←GetTypeIndexS((word) (&string40)), 37); (* (( (ptr) gf←c01161)+170)/* var←c88164 */ ) = var←c94628; (void) XR←ImportProcS(var←c94628, 67641090); var←c94628 = (word) XR←ImportInterface((word) "GGMUserProfile", (word) XR←GetTypeIndexS((word) (&string41)), 3); (* (( (ptr) gf←c01161)+171)/* var←c88388 */ ) = var←c94628; (void) XR←ImportProcS(var←c94628, 67109120); var←c94628 = (word) XR←ImportInterface((word) "GGProps", (word) XR←GetTypeIndexS((word) (&string42)), 11); (* (( (ptr) gf←c01161)+162)/* var←c84548 */ ) = var←c94628; (void) XR←ImportProcS(var←c94628, 1050116); var←c94628 = (word) XR←ImportInterface((word) "GGSegment", (word) XR←GetTypeIndexS((word) (&string43)), 47); (* (( (ptr) gf←c01161)+164)/* var←c84836 */ ) = var←c94628; (void) XR←ImportProcS(var←c94628, 1054723); (void) XR←ImportProcS(var←c94628, 529922); (void) XR←ImportProcS(var←c94628, 67637250); (void) XR←ImportProcS(var←c94628, 2104328); (void) XR←ImportProcS(var←c94628, 67374337); var←c94628 = (word) XR←ImportInterface((word) "GGSequence", (word) XR←GetTypeIndexS((word) (&string44)), 58); (* (( (ptr) gf←c01161)+159)/* var←c84100 */ ) = var←c94628; (void) XR←ImportProcS(var←c94628, 67381761); (void) XR←ImportProcS(var←c94628, 67642882); (void) XR←ImportProcS(var←c94628, 67383553); (void) XR←ImportProcS(var←c94628, 67378945); (void) XR←ImportProcS(var←c94628, 268705281); (void) XR←ImportProcS(var←c94628, 67643394); (void) XR←ImportProcS(var←c94628, 264961); (void) XR←ImportProcS(var←c94628, 264705); (void) XR←ImportProcS(var←c94628, 270537476); (void) XR←ImportProcS(var←c94628, 67637506); (void) XR←ImportProcS(var←c94628, 67637250); (void) XR←ImportProcS(var←c94628, 67634434); (void) XR←ImportProcS(var←c94628, 67895555); (void) XR←ImportProcS(var←c94628, 67371777); (void) XR←ImportProcS(var←c94628, 67371521); (void) XR←ImportProcS(var←c94628, 67634690); (void) XR←ImportProcS(var←c94628, 67897091); (void) XR←ImportProcS(var←c94628, 67634178); (void) XR←ImportProcS(var←c94628, 67376385); (void) XR←ImportProcS(var←c94628, 68163332); (void) XR←ImportProcS(var←c94628, 67640322); (void) XR←ImportProcS(var←c94628, 134490881); (void) XR←ImportProcS(var←c94628, 67380225); (void) XR←ImportProcS(var←c94628, 67385601); (void) XR←ImportProcS(var←c94628, 67384321); (void) XR←ImportProcS(var←c94628, 67376641); (void) XR←ImportProcS(var←c94628, 67379713); (void) XR←ImportProcS(var←c94628, 134488321); (void) XR←ImportProcS(var←c94628, 67905283); (void) XR←ImportProcS(var←c94628, 67642626); var←c94628 = (word) XR←ImportInterface((word) "GGShapes", (word) XR←GetTypeIndexS((word) (&string45)), 20); (* (( (ptr) gf←c01161)+168)/* var←c87012 */ ) = var←c94628; (void) XR←ImportProcS(var←c94628, 1052163); (void) XR←ImportProcS(var←c94628, 1314820); (void) XR←ImportProcS(var←c94628, 1052419); var←c94628 = (word) XR←ImportInterface((word) &string46, (word) XR←GetTypeIndexS((word) (&string47)), 128); (* (( (ptr) gf←c01161)+157)/* var←c84004 */ ) = var←c94628; (void) XR←ImportProcS(var←c94628, 67634178); (void) XR←ImportProcS(var←c94628, 279041); (void) XR←ImportProcS(var←c94628, 278785); (void) XR←ImportProcS(var←c94628, 279297); (void) XR←ImportProcS(var←c94628, 277249); (void) XR←ImportProcS(var←c94628, 68189956); var←c94628 = (word) XR←ImportInterface((word) "GGTraj", (word) XR←GetTypeIndexS((word) (&string48)), 55); (* (( (ptr) gf←c01161)+161)/* var←c84516 */ ) = var←c94628; (void) XR←ImportProcS(var←c94628, 67640066); (void) XR←ImportProcS(var←c94628, 402927873); (void) XR←ImportProcS(var←c94628, 67645186); (void) XR←ImportProcS(var←c94628, 797699); (void) XR←ImportProcS(var←c94628, 535810); (void) XR←ImportProcS(var←c94628, 67643394); (void) XR←ImportProcS(var←c94628, 67642626); (void) XR←ImportProcS(var←c94628, 671625218); (void) XR←ImportProcS(var←c94628, 134749186); (void) XR←ImportProcS(var←c94628, 67379457); (void) XR←ImportProcS(var←c94628, 67643138); (void) XR←ImportProcS(var←c94628, 67639554); (void) XR←ImportProcS(var←c94628, 67642882); (void) XR←ImportProcS(var←c94628, 70517002); (void) XR←ImportProcS(var←c94628, 67379969); (void) XR←ImportProcS(var←c94628, 67636482); var←c94628 = (word) XR←ImportInterface((word) "GGTransform", (word) XR←GetTypeIndexS((word) (&string49)), 7); (* (( (ptr) gf←c01161)+173)/* var←c91716 */ ) = var←c94628; (void) XR←ImportProcS(var←c94628, 135004418); var←c94628 = (word) XR←ImportInterface((word) "GGUtility", (word) XR←GetTypeIndexS((word) (&string50)), 42); (* (( (ptr) gf←c01161)+172)/* var←c91556 */ ) = var←c94628; (void) XR←ImportProcS(var←c94628, 67641858); var←c94628 = (word) XR←ImportInterface((word) "Imager", (word) XR←GetTypeIndexS((word) (&string51)), 84); (* (( (ptr) gf←c01161)+167)/* var←c86788 */ ) = var←c94628; (void) XR←ImportProcS(var←c94628, 803587); (void) XR←ImportProcS(var←c94628, 1591046); (void) XR←ImportProcS(var←c94628, 1331972); (void) XR←ImportProcS(var←c94628, 526850); (void) XR←ImportProcS(var←c94628, 536578); (void) XR←ImportProcS(var←c94628, 540930); (void) XR←ImportProcS(var←c94628, 540674); (void) XR←ImportProcS(var←c94628, 541186); (void) XR←ImportProcS(var←c94628, 526338); var←c94628 = (word) XR←ImportInterface((word) "ImagerTransformation", (word) XR←GetTypeIndexS((word) (&string52)), 55); (* (( (ptr) gf←c01161)+156)/* var←c83940 */ ) = var←c94628; (void) XR←ImportProcS(var←c94628, 68681734); (void) XR←ImportProcS(var←c94628, 67908355); (void) XR←ImportProcS(var←c94628, 67899906); (void) XR←ImportProcS(var←c94628, 67634689); (void) XR←ImportProcS(var←c94628, 135013122); (void) XR←ImportProcS(var←c94628, 67371777); var←c94628 = (word) XR←ImportInterface((word) "RealFns", (word) XR←GetTypeIndexS((word) (&string53)), 36); (* (( (ptr) gf←c01161)+166)/* var←c85540 */ ) = var←c94628; (void) XR←ImportProcS(var←c94628, 67372289); var←c94628 = (word) XR←ImportInterface((word) "Rosary", (word) XR←GetTypeIndexS((word) (&string54)), 18); (* (( (ptr) gf←c01161)+163)/* var←c84740 */ ) = var←c94628; (void) XR←ImportProcS(var←c94628, 67633410); (void) XR←ImportProcS(var←c94628, 68159746); (void) XR←ImportProcS(var←c94628, 67373057); var←c94628 = (word) XR←ImportInterface((word) "Vectors2d", (word) XR←GetTypeIndexS((word) (&string55)), 21); (* (( (ptr) gf←c01161)+165)/* var←c85028 */ ) = var←c94628; (void) XR←ImportProcS(var←c94628, 135267842); (void) XR←ImportProcS(var←c94628, 135268098); (void) XR←ImportProcS(var←c94628, 67637249); (void) XR←ImportProcS(var←c94628, 68161794); (void) XR←ImportProcS(var←c94628, 135004418); (void) XR←ImportProcS(var←c94628, 68158722); (void) XR←ImportProcS(var←c94628, 67636737); (void) XR←ImportProcS(var←c94628, 135006210); (void) XR←ImportProcS(var←c94628, 134744321); (void) XR←ImportProcS(var←c94628, 68161282); (void) XR←ImportProcS(var←c94628, 135270914); var←c94628 = (word) XR←ExportInterface((word) &string46, (word) XR←GetTypeIndexS((word) (&string47)), 128); (* (( (ptr) gf←c01161)+174)/* var←c94660 */ ) = var←c94628; (void) XR←ExportProcS(var←c94628, (word) (( (bPt) gf←c01161)+556)/* var←c83652 */ , 67123712, (word) "BuildTrajSliceClass") ; (void) XR←ExportProcS(var←c94628, (word) (( (bPt) gf←c01161)+564)/* var←c83684 */ , 278017, (word) "TrajShapeChangeNotify") ; (void) XR←ExportProcS(var←c94628, (word) (( (bPt) gf←c01161)+588)/* var←c83780 */ , 278529, (word) "KillBoundBox"); (void) XR←ExportProcS(var←c94628, (word) (( (bPt) gf←c01161)+580)/* var←c83748 */ , 278785, (word) "KillBoundBoxOnly"); (void) XR←ExportProcS(var←c94628, (word) (( (bPt) gf←c01161)+572)/* var←c83716 */ , 279041, (word) "KillTightBoxOnly"); } static void GGSliceImplD←P0(formal←c087, formal←c086) word formal←c087; word formal←c086; { register ptr gf←c94692 = (ptr) &globalframe; /* GGSliceImplD: */ SOURCE(344, 67013) SOURCE(3530, 24) (* (( (ptr) gf←c94692)+4)/* Problem←v5492 */ ) = (* (ptr) (* (( (ptr) (* (( (ptr) gf←c94692)+155)/* var←c83908 */ ))+28) ) ); SOURCE(18997, 58) { word pd56; pd56 = (* (( (ptr) (* (( (ptr) gf←c94692)+156)/* var←c83940 */ ))+7) ); (* (( (ptr) gf←c94692)+5)/* identity←v5912 */ ) = (word) ( *( (fPt) ((* (ptr) pd56 ))))((* (ptr) (&fc57) ), pd56); }; SOURCE(67351, 6) (void) Init←P3360(); } static void KillBoundBox←P60(slice←v7444) word slice←v7444; { /* KillBoundBox: */ SOURCE(3591, 174) SOURCE(3636, 129) { register word nextSlice←v16548; nextSlice←v16548 = slice←v7444; lab←L100003: ; if ((nextSlice←v16548 != 0)) { } else { goto lab←L100000; }; SOURCE(3706, 26) (* (( (ptr) nextSlice←v16548)+16) ) = 0; SOURCE(3734, 31) (* (( (ptr) nextSlice←v16548)+14) ) = 0; nextSlice←v16548 = (* (( (ptr) nextSlice←v16548)+2) ); goto lab←L100003; lab←L100000: ; }; } static void KillBoundBoxOnly←P120(slice←v7504) word slice←v7504; { /* KillBoundBoxOnly: */ SOURCE(3779, 145) SOURCE(3828, 96) { register word nextSlice←v16592; nextSlice←v16592 = slice←v7504; lab←L100007: ; if ((nextSlice←v16592 != 0)) { } else { goto lab←L100004; }; SOURCE(3898, 26) (* (( (ptr) nextSlice←v16592)+16) ) = 0; nextSlice←v16592 = (* (( (ptr) nextSlice←v16592)+2) ); goto lab←L100007; lab←L100004: ; }; } static void KillTightBoxOnly←P180(slice←v7564) word slice←v7564; { /* KillTightBoxOnly: */ SOURCE(3938, 150) SOURCE(3987, 101) { register word nextSlice←v16636; nextSlice←v16636 = slice←v7564; lab←L100011: ; if ((nextSlice←v16636 != 0)) { } else { goto lab←L100008; }; SOURCE(4057, 31) (* (( (ptr) nextSlice←v16636)+14) ) = 0; nextSlice←v16636 = (* (( (ptr) nextSlice←v16636)+2) ); goto lab←L100011; lab←L100008: ; }; } static void TrajShapeChangeNotify←P240(slice←v7624) word slice←v7624; { register ptr gf←c94724 = (ptr) &globalframe; word trajData←v16680; /* TrajShapeChangeNotify: */ SOURCE(4103, 139) SOURCE(4157, 39) trajData←v16680 = XR←Narrow((* (( (ptr) slice←v7624)+1) ), (* (( (ptr) gf←c94724)+10) )); SOURCE(4198, 19) (void) KillBoundBox←P60(slice←v7624); SOURCE(4219, 23) (* (( (ptr) trajData←v16680)+14) ) = 0; } static word BuildTrajSliceClass←P300() { register ptr gf←c94756 = (ptr) &globalframe; word class←v7684; /* BuildTrajSliceClass: */ SOURCE(4249, 992) SOURCE(4249, 992) class←v7684 = 0; SOURCE(4317, 884) { word var←c83972; var←c83972 = XR←NewObject(252, (* (( (ptr) gf←c94756)+11) )); (* (ptr) var←c83972 ) = (* (( (ptr) gf←c94756)+30) ); (* (( (ptr) var←c83972)+1) ) = (word) (( (bPt) gf←c94756)+540)/* var←c83588 */ ; (* (( (ptr) var←c83972)+2) ) = (* (( (ptr) (* (( (ptr) gf←c94756)+157)/* var←c84004 */ ))+131) ); (* (( (ptr) var←c83972)+3) ) = (word) (( (bPt) gf←c94756)+532)/* var←c83556 */ ; (* (( (ptr) var←c83972)+4) ) = (word) (( (bPt) gf←c94756)+524)/* var←c83524 */ ; (* (( (ptr) var←c83972)+5) ) = (word) (( (bPt) gf←c94756)+548)/* var←c83620 */ ; (* (( (ptr) var←c83972)+6) ) = (word) (( (bPt) gf←c94756)+508)/* var←c83460 */ ; (* (( (ptr) var←c83972)+7) ) = (word) (( (bPt) gf←c94756)+492)/* var←c83396 */ ; (* (( (ptr) var←c83972)+8) ) = (word) (( (bPt) gf←c94756)+484)/* var←c83364 */ ; (* (( (ptr) var←c83972)+9) ) = (word) (( (bPt) gf←c94756)+476)/* var←c83332 */ ; (* (( (ptr) var←c83972)+10) ) = (word) (( (bPt) gf←c94756)+468)/* var←c83300 */ ; (* (( (ptr) var←c83972)+11) ) = (word) (( (bPt) gf←c94756)+460)/* var←c83268 */ ; (* (( (ptr) var←c83972)+12) ) = (word) (( (bPt) gf←c94756)+452)/* var←c83236 */ ; (* (( (ptr) var←c83972)+13) ) = (word) (( (bPt) gf←c94756)+444)/* var←c83204 */ ; (* (( (ptr) var←c83972)+14) ) = (word) (( (bPt) gf←c94756)+332)/* var←c82756 */ ; (* (( (ptr) var←c83972)+15) ) = (word) (( (bPt) gf←c94756)+324)/* var←c82724 */ ; (* (( (ptr) var←c83972)+16) ) = (word) (( (bPt) gf←c94756)+268)/* var←c82500 */ ; (* (( (ptr) var←c83972)+21) ) = (word) (( (bPt) gf←c94756)+236)/* var←c82372 */ ; (* (( (ptr) var←c83972)+22) ) = (word) (( (bPt) gf←c94756)+228)/* var←c82340 */ ; (* (( (ptr) var←c83972)+23) ) = (word) (( (bPt) gf←c94756)+220)/* var←c82308 */ ; (* (( (ptr) var←c83972)+24) ) = (word) (( (bPt) gf←c94756)+204)/* var←c82244 */ ; (* (( (ptr) var←c83972)+25) ) = (word) (( (bPt) gf←c94756)+196)/* var←c82212 */ ; (* (( (ptr) var←c83972)+26) ) = (word) (( (bPt) gf←c94756)+188)/* var←c82180 */ ; (* (( (ptr) var←c83972)+27) ) = (word) (( (bPt) gf←c94756)+180)/* var←c82148 */ ; (* (( (ptr) var←c83972)+28) ) = (word) (( (bPt) gf←c94756)+172)/* var←c82116 */ ; (* (( (ptr) var←c83972)+29) ) = (word) (( (bPt) gf←c94756)+156)/* var←c82052 */ ; class←v7684 = var←c83972; }; SOURCE(5203, 38) { word pd58; pd58 = (* (( (ptr) (* (( (ptr) gf←c94756)+157)/* var←c84004 */ ))+63) ); (void) ( *( (fPt) ((* (ptr) pd58 ))))(class←v7684, pd58); }; SOURCE(4249, 992) return(class←v7684); } static void TrajUnlink←P360(slice←v7744) word slice←v7744; { register ptr gf←c94788 = (ptr) &globalframe; word trajData←v16724; /* TrajUnlink: */ SOURCE(5292, 146) SOURCE(5328, 39) trajData←v16724 = XR←Narrow((* (( (ptr) slice←v7744)+1) ), (* (( (ptr) gf←c94788)+10) )); SOURCE(5369, 26) { word pd59; pd59 = (* (( (ptr) (* (( (ptr) gf←c94788)+157)/* var←c84004 */ ))+71) ); (void) ( *( (fPt) ((* (ptr) pd59 ))))(slice←v7744, pd59); }; SOURCE(5397, 41) (* (( (ptr) trajData←v16724)+3) ) = 0; (* (( (ptr) trajData←v16724)+2) ) = 0; } static word TrajGetBoundBox←P420(slice←v7804, parts←v7832) word slice←v7804; word parts←v7832; { W7 var←c94820; register ptr gf←c94852 = (ptr) &globalframe; /* declaration of box←v7876 skipped */ /* declaration of var←c84036 skipped */ /* TrajGetBoundBox: */ SOURCE(5444, 748) { word tmpAddr60; tmpAddr60 = (word) (( (ptr) &var←c94820)+5)/* var←c84036 */ ; (* (ptr) tmpAddr60 ) = ( ((word) (fPt) EnlargeBySegmentBox←P3612) ); (* (( (ptr) tmpAddr60) + 1) ) = 1; }; SOURCE(5444, 748) var←c94820.f4/* box←v7876 */ = 0; SOURCE(5528, 664) if ( ( (0 != (* (( (ptr) slice←v7804)+16) )) ? (parts←v7832 == 0) : 0 ) ) { SOURCE(5565, 41) return((* (( (ptr) slice←v7804)+15) )); } else { SOURCE(5606, 591) { word trajData←v16796; word trajParts←v16824; SOURCE(5728, 39) trajData←v16796 = XR←Narrow((* (( (ptr) slice←v7804)+1) ), (* (( (ptr) gf←c94852)+10) )); SOURCE(5769, 36) trajParts←v16824 = XR←Narrow(parts←v7832, (* (( (ptr) gf←c94852)+15) )); SOURCE(5807, 31) { word pd61; pd61 = (* (( (ptr) (* (( (ptr) gf←c94852)+158)/* var←c84068 */ ))+6) ); var←c94820.f4/* box←v7876 */ = (word) ( *( (fPt) ((* (ptr) pd61 ))))(pd61); }; SOURCE(5840, 169) if ((parts←v7832 == 0)) { SOURCE(5858, 71) { word var←c84132; word pd62; pd62 = (* (( (ptr) (* (( (ptr) gf←c94852)+159)/* var←c84100 */ ))+41) ); var←c84132 = (word) ( *( (fPt) ((* (ptr) pd62 ))))(trajData←v16796, (word) (( (bPt) &var←c94820)+20)/* var←c84036 */ , pd62) ; }; } else { SOURCE(5929, 80) { word var←c84164; word pd63; pd63 = (* (( (ptr) (* (( (ptr) gf←c94852)+159)/* var←c84100 */ ))+43) ); var←c84164 = (word) ( *( (fPt) ((* (ptr) pd63 ))))(trajData←v16796, trajParts←v16824, (word) (( (bPt) &var←c94820)+20)/* var←c84036 */ , pd63) ; }; }; SOURCE(6012, 180) if ((parts←v7832 == 0)) { SOURCE(6079, 38) { word pd64; pd64 = (* (( (ptr) (* (( (ptr) gf←c94852)+157)/* var←c84004 */ ))+69) ); (void) ( *( (fPt) ((* (ptr) pd64 ))))((* ((( (ptr) slice←v7804)+2)) ), pd64); }; SOURCE(6149, 20) (* (( (ptr) slice←v7804)+15) ) = var←c94820.f4/* box←v7876 */ ; SOURCE(6171, 21) (* (( (ptr) slice←v7804)+16) ) = 1; }; }; }; SOURCE(5444, 748) return(var←c94820.f4/* box←v7876 */ ); } static word EnlargeBySegmentBox←P3612(traj←v54100, seg←v54128, index←v54156, formal←c94916) word traj←v54100; word seg←v54128; word index←v54156; word formal←c94916; { register ptr gf←c94884 = (ptr) &globalframe; word done←v54200; formal←c94916 = (formal←c94916 - 20); /* EnlargeBySegmentBox: */ SOURCE(5608, 50) SOURCE(5608, 50) done←v54200 = 0; SOURCE(5660, 63) { word var←c84196; { word pd65; pd65 = (* (( (ptr) (* (ptr) seg←v54128 ))+1) ); var←c84196 = (word) ( *( (fPt) ((* (ptr) pd65 ))))(seg←v54128, pd65); }; { word pd66; pd66 = (* (( (ptr) (* (( (ptr) gf←c94884)+158)/* var←c84068 */ ))+14) ); (void) ( *( (fPt) ((* (ptr) pd66 ))))((* (( (ptr) formal←c94916)+4) ), var←c84196, pd66); }; }; SOURCE(5608, 50) return(done←v54200); } static word TrajGetTightBox←P480(slice←v7936, parts←v7964) word slice←v7936; word parts←v7964; { W7 var←c94948; register ptr gf←c94980 = (ptr) &globalframe; /* declaration of box←v8008 skipped */ /* declaration of var←c84228 skipped */ word trajData←v16868; /* TrajGetTightBox: */ SOURCE(6204, 815) { word tmpAddr67; tmpAddr67 = (word) (( (ptr) &var←c94948)+5)/* var←c84228 */ ; (* (ptr) tmpAddr67 ) = ( ((word) (fPt) EnlargeBySegmentTightBox←P3720) ); (* (( (ptr) tmpAddr67) + 1) ) = 1; }; SOURCE(6204, 815) var←c94948.f4/* box←v8008 */ = 0; SOURCE(6288, 39) trajData←v16868 = XR←Narrow((* (( (ptr) slice←v7936)+1) ), (* (( (ptr) gf←c94980)+10) )); SOURCE(6329, 690) if ( ( (0 != (* (( (ptr) slice←v7936)+14) )) ? (parts←v7964 == 0) : 0 ) ) { SOURCE(6371, 41) return((* (( (ptr) slice←v7936)+13) )); } else { SOURCE(6412, 612) { word trajData←v16940; word trajParts←v16968; SOURCE(6539, 39) trajData←v16940 = XR←Narrow((* (( (ptr) slice←v7936)+1) ), (* (( (ptr) gf←c94980)+10) )); SOURCE(6580, 36) trajParts←v16968 = XR←Narrow(parts←v7964, (* (( (ptr) gf←c94980)+15) )); SOURCE(6619, 31) { word pd68; pd68 = (* (( (ptr) (* (( (ptr) gf←c94980)+158)/* var←c84068 */ ))+6) ); var←c94948.f4/* box←v8008 */ = (word) ( *( (fPt) ((* (ptr) pd68 ))))(pd68); }; SOURCE(6652, 179) if ((parts←v7964 == 0)) { SOURCE(6670, 76) { word var←c84260; word pd69; pd69 = (* (( (ptr) (* (( (ptr) gf←c94980)+159)/* var←c84100 */ ))+41) ); var←c84260 = (word) ( *( (fPt) ((* (ptr) pd69 ))))(trajData←v16940, (word) (( (bPt) &var←c94948)+20)/* var←c84228 */ , pd69) ; }; } else { SOURCE(6746, 85) { word var←c84292; word pd70; pd70 = (* (( (ptr) (* (( (ptr) gf←c94980)+159)/* var←c84100 */ ))+43) ); var←c84292 = (word) ( *( (fPt) ((* (ptr) pd70 ))))(trajData←v16940, trajParts←v16968, (word) (( (bPt) &var←c94948)+20)/* var←c84228 */ , pd70) ; }; }; SOURCE(6834, 185) if ((parts←v7964 == 0)) { SOURCE(6901, 38) { word pd71; pd71 = (* (( (ptr) (* (( (ptr) gf←c94980)+157)/* var←c84004 */ ))+70) ); (void) ( *( (fPt) ((* (ptr) pd71 ))))((* ((( (ptr) slice←v7936)+2)) ), pd71); }; SOURCE(6971, 20) (* (( (ptr) slice←v7936)+13) ) = var←c94948.f4/* box←v8008 */ ; SOURCE(6993, 26) (* (( (ptr) slice←v7936)+14) ) = 1; }; }; }; SOURCE(6204, 815) return(var←c94948.f4/* box←v8008 */ ); } static word EnlargeBySegmentTightBox←P3720(traj←v55216, seg←v55244, index←v55272, formal←c95044) word traj←v55216; word seg←v55244; word index←v55272; word formal←c95044; { register ptr gf←c95012 = (ptr) &globalframe; word done←v55316; formal←c95044 = (formal←c95044 - 20); /* EnlargeBySegmentTightBox: */ SOURCE(6414, 55) SOURCE(6414, 55) done←v55316 = 0; SOURCE(6471, 63) { word var←c84324; { word pd72; pd72 = (* (( (ptr) (* (ptr) seg←v55244 ))+2) ); var←c84324 = (word) ( *( (fPt) ((* (ptr) pd72 ))))(seg←v55244, pd72); }; { word pd73; pd73 = (* (( (ptr) (* (( (ptr) gf←c95012)+158)/* var←c84068 */ ))+14) ); (void) ( *( (fPt) ((* (ptr) pd73 ))))((* (( (ptr) formal←c95044)+4) ), var←c84324, pd73); }; }; SOURCE(6414, 55) return(done←v55316); } static word TrajCopy←P540(slice←v8068, parts←v8096) word slice←v8068; word parts←v8096; { register ptr gf←c95076 = (ptr) &globalframe; word copy←v8140; word trajParts←v17012 = 0; word runs←v17040 = 0; /* TrajCopy: */ SOURCE(7031, 725) SOURCE(7031, 725) copy←v8140 = 0; { W2 var←c0134; SOURCE(7178, 47) if ((parts←v8096 == 0)) { SOURCE(7196, 29) { word var←c84388; word var←c84420; var←c84388 = XR←NewObject(8, (* (( (ptr) gf←c95076)+16) )); var←c84420 = var←c84388; (* (ptr) var←c84420 ) = (word) CopyTraj←P600(slice←v8068); return(var←c84388); }; }; SOURCE(7259, 25) trajParts←v17012 = XR←Narrow(parts←v8096, (* (( (ptr) gf←c95076)+15) )); SOURCE(7286, 40) { word pd74; pd74 = (* (( (ptr) (* (( (ptr) gf←c95076)+160)/* var←c84484 */ ))+12) ); (void) ( *( (fPt) ((* (ptr) pd74 ))))((* (( (ptr) gf←c95076)+29) ), (* (( (ptr) gf←c95076)+28) ), pd74); }; SOURCE(7328, 50) { word pd75; pd75 = (* (( (ptr) (* (( (ptr) gf←c95076)+159)/* var←c84100 */ ))+37) ); (void) ( *( (fPt) ((* (ptr) pd75 ))))((word) &var←c0134, trajParts←v17012, pd75); }; runs←v17040 = var←c0134.f0; SOURCE(7380, 326) { register word nextSeq←v17084; { word pd76; pd76 = (* (( (ptr) (* (( (ptr) gf←c95076)+159)/* var←c84100 */ ))+38) ); nextSeq←v17084 = (word) ( *( (fPt) ((* (ptr) pd76 ))))(runs←v17040, pd76); }; lab←L100015: ; if ((nextSeq←v17084 != 0)) { } else { goto lab←L100012; }; { word newSlice←v17128; SOURCE(7487, 56) { word pd77; pd77 = (* (( (ptr) (* (( (ptr) gf←c95076)+161)/* var←c84516 */ ))+17) ); newSlice←v17128 = (word) ( *( (fPt) ((* (ptr) pd77 ))))(slice←v8068, nextSeq←v17084, pd77); }; SOURCE(7545, 78) (* (( (ptr) XR←Narrow((* (( (ptr) newSlice←v17128)+1) ), (* (( (ptr) gf←c95076)+10) )))+9) ) = (* (( (ptr) XR←Narrow((* ( ( (ptr) slice←v8068)+1) ), (* (( (ptr) gf←c95076)+10) )))+9) ); SOURCE(7625, 52) { word pd78; pd78 = (* (( (ptr) (* (( (ptr) gf←c95076)+162)/* var←c84548 */ ))+10) ); (void) ( *( (fPt) ((* (ptr) pd78 ))))(slice←v8068, newSlice←v17128, 0, 0, pd78); }; SOURCE(7679, 27) { word var←c84580; var←c84580 = XR←NewObject(8, (* (( (ptr) gf←c95076)+16) )); (* (ptr) var←c84580 ) = newSlice←v17128; (* (( (ptr) var←c84580)+1) ) = copy←v8140; copy←v8140 = var←c84580; }; }; { word pd79; pd79 = (* (( (ptr) (* (( (ptr) gf←c95076)+159)/* var←c84100 */ ))+38) ); nextSeq←v17084 = (word) ( *( (fPt) ((* (ptr) pd79 ))))(runs←v17040, pd79); }; goto lab←L100015; lab←L100012: ; }; SOURCE(7717, 39) { word pd80; pd80 = (* (( (ptr) (* (( (ptr) gf←c95076)+160)/* var←c84484 */ ))+14) ); (void) ( *( (fPt) ((* (ptr) pd80 ))))((* (( (ptr) gf←c95076)+29) ), (* (( (ptr) gf←c95076)+28) ), pd80); }; }; SOURCE(7031, 725) return(copy←v8140); } static word CopyTraj←P600(original←v8284) word original←v8284; { W14 var←c95108; register ptr gf←c95140 = (ptr) &globalframe; word copy←v8328; /* declaration of var←c84612 skipped */ /* declaration of var←c84644 skipped */ word trajData←v17172; word originalSegments←v17200; /* declaration of desiredSegments←v17228 skipped */ word extractedSegments←v17256 = 0; word originalJoints←v17284; /* declaration of desiredJoints←v17312 skipped */ word extractedJoints←v17340 = 0; /* CopyTraj: */ SOURCE(7762, 1598) { word tmpAddr81; tmpAddr81 = (word) (( (ptr) &var←c95108)+4)/* var←c84612 */ ; (* (ptr) tmpAddr81 ) = ( ((word) (fPt) CopyEachJoint←P3936) ); (* (( (ptr) tmpAddr81) + 1) ) = 1; }; { word tmpAddr82; tmpAddr82 = (word) (( (ptr) &var←c95108)+6)/* var←c84644 */ ; (* (ptr) tmpAddr82 ) = ( ((word) (fPt) CopyEachSegment←P3876) ); (* (( (ptr) tmpAddr82) + 1) ) = 1; }; SOURCE(7762, 1598) copy←v8328 = 0; SOURCE(7819, 42) trajData←v17172 = XR←Narrow((* (( (ptr) original←v8284)+1) ), (* (( (ptr) gf←c95140)+10) )); SOURCE(7863, 51) originalSegments←v17200 = (* (( (ptr) trajData←v17172)+2) ); SOURCE(7916, 74) (* (( (ptr) &var←c95108)+8) ) = originalSegments←v17200; (* (( (ptr) &var←c95108)+9) ) = 0; (* (( (ptr) &var←c95108)+10) ) = (* (( (ptr) trajData←v17172)+1) ); SOURCE(8026, 47) originalJoints←v17284 = (* (( (ptr) trajData←v17172)+3) ); SOURCE(8075, 81) (* (( (ptr) &var←c95108)+11) ) = originalJoints←v17284; (* (( (ptr) &var←c95108)+12) ) = 0; { word pd83; word idx84; pd83 = (* (( (ptr) (* (( (ptr) gf←c95140)+161)/* var←c84516 */ ))+39) ); (* (( (ptr) &var←c95108)+13) ) = ( idx84 = (word) ((word) ( *( (fPt) ((* (ptr) pd83 ))))(original←v8284, pd83) + 1), SGNCK(idx84) ); }; SOURCE(8852, 40) { word pd85; pd85 = (* (( (ptr) (* (( (ptr) gf←c95140)+160)/* var←c84484 */ ))+12) ); (void) ( *( (fPt) ((* (ptr) pd85 ))))((* (( (ptr) gf←c95140)+29) ), (* (( (ptr) gf←c95140)+28) ), pd85); }; SOURCE(8894, 52) { word pd86; pd86 = (* (( (ptr) (* (( (ptr) gf←c95140)+163)/* var←c84740 */ ))+12) ); extractedSegments←v17256 = (word) ( *( (fPt) ((* (ptr) pd86 ))))((word) ((( (bPt) &var←c95108)+24)/* var←c84644 */ ), pd86) ; }; SOURCE(8948, 48) { word pd87; pd87 = (* (( (ptr) (* (( (ptr) gf←c95140)+163)/* var←c84740 */ ))+12) ); extractedJoints←v17340 = (word) ( *( (fPt) ((* (ptr) pd87 ))))((word) ((( (bPt) &var←c95108)+16)/* var←c84612 */ ), pd87) ; }; SOURCE(8998, 189) { word pd88; pd88 = (* (( (ptr) (* (( (ptr) gf←c95140)+161)/* var←c84516 */ ))+5) ); copy←v8328 = (word) ( *( (fPt) ((* (ptr) pd88 ))))((* (ptr) trajData←v17172 ), (* (( (ptr) trajData←v17172)+1) ), extractedSegments←v17256, extractedJoints←v17340, 0, (* ( ( (ptr) trajData←v17172)+5) ) , (* (( (ptr) trajData←v17172)+6) ), (* (( (ptr) trajData←v17172)+7) ), (* (( (ptr) trajData←v17172)+8) ), (* (W4Pt) (( (ptr) gf←c95140)+151) /* var←c83876 */ ), pd88); }; SOURCE(9189, 77) (* (( (ptr) XR←Narrow((* (( (ptr) copy←v8328)+1) ), (* (( (ptr) gf←c95140)+10) )))+9) ) = (* (( (ptr) XR←Narrow((* (( (ptr) original←v8284)+1) ), (* (( (ptr) gf←c95140)+10) )))+9) ); SOURCE(9268, 51) { word pd89; pd89 = (* (( (ptr) (* (( (ptr) gf←c95140)+162)/* var←c84548 */ ))+10) ); (void) ( *( (fPt) ((* (ptr) pd89 ))))(original←v8284, copy←v8328, 0, 0, pd89); }; SOURCE(9321, 39) { word pd90; pd90 = (* (( (ptr) (* (( (ptr) gf←c95140)+160)/* var←c84484 */ ))+14) ); (void) ( *( (fPt) ((* (ptr) pd90 ))))((* (( (ptr) gf←c95140)+29) ), (* (( (ptr) gf←c95140)+28) ), pd90); }; SOURCE(7762, 1598) return(copy←v8328); } static void CopyEachSegment←P3876(formal←c01308, formal←c95236) word formal←c01308; word formal←c95236; { W7 var←c95172; /* declaration of q←v17472 skipped */ register ptr gf←c95204 = (ptr) &globalframe; /* declaration of var←c84772 skipped */ formal←c95236 = (formal←c95236 - 24); var←c95172.f4/* q←v17472 */ = formal←c01308; var←c95172.f0 = formal←c95236; /* CopyEachSegment: */ SOURCE(8190, 302) { word tmpAddr91; tmpAddr91 = (word) (( (ptr) &var←c95172)+5)/* var←c84772 */ ; (* (ptr) tmpAddr91 ) = ( ((word) (fPt) CopySegmentAndBuild←P3996) ); (* (( (ptr) tmpAddr91) + 1) ) = 1; }; SOURCE(8439, 53) { word var←c84804; word pd92; pd92 = (* (( (ptr) (* (( (ptr) gf←c95204)+163)/* var←c84740 */ ))+13) ); var←c84804 = (word) ( *( (fPt) ((* (ptr) pd92 ))))((* (W3Pt) (( (ptr) formal←c95236)+8) ), (word) (( (bPt) &var←c95172)+20) /* var←c84772 */ , pd92); }; } static word CopySegmentAndBuild←P3996(item←v17812, formal←c95300) word item←v17812; word formal←c95300; { register ptr gf←c95268 = (ptr) &globalframe; word quit←v17856; word copy←v17884 = 0; word oldSeg←v17912 = 0; formal←c95300 = (formal←c95300 - 20); /* CopySegmentAndBuild: */ SOURCE(8261, 173) SOURCE(8261, 173) quit←v17856 = 0; SOURCE(8363, 21) oldSeg←v17912 = XR←Narrow(item←v17812, (* (( (ptr) gf←c95268)+19) )); SOURCE(8386, 36) { word pd93; pd93 = (* (( (ptr) (* (( (ptr) gf←c95268)+164)/* var←c84836 */ ))+17) ); copy←v17884 = (word) ( *( (fPt) ((* (ptr) pd93 ))))(oldSeg←v17912, pd93); }; SOURCE(8424, 10) { word pd94; pd94 = (* (( (ptr) formal←c95300)+4) ); (void) ( *( (fPt) ((* (ptr) pd94 ))))(copy←v17884, 1, pd94); }; SOURCE(8261, 173) return(quit←v17856); } static void CopyEachJoint←P3936(formal←c01309, formal←c95396) word formal←c01309; word formal←c95396; { W7 var←c95332; /* declaration of q←v17620 skipped */ register ptr gf←c95364 = (ptr) &globalframe; /* declaration of var←c84868 skipped */ formal←c95396 = (formal←c95396 - 16); var←c95332.f4/* q←v17620 */ = formal←c01309; var←c95332.f0 = formal←c95396; /* CopyEachJoint: */ SOURCE(8497, 350) { word tmpAddr95; tmpAddr95 = (word) (( (ptr) &var←c95332)+5)/* var←c84868 */ ; (* (ptr) tmpAddr95 ) = ( ((word) (fPt) CopyJointAndBuild←P4056) ); (* (( (ptr) tmpAddr95) + 1) ) = 1; }; SOURCE(8798, 49) { word var←c84900; word pd96; pd96 = (* (( (ptr) (* (( (ptr) gf←c95364)+163)/* var←c84740 */ ))+13) ); var←c84900 = (word) ( *( (fPt) ((* (ptr) pd96 ))))((* (W3Pt) (( (ptr) formal←c95396)+11) ), (word) (( (bPt) &var←c95332)+20) /* var←c84868 */ , pd96); }; } static word CopyJointAndBuild←P4056(item←v18032, formal←c95460) word item←v18032; word formal←c95460; { register ptr gf←c95428 = (ptr) &globalframe; word quit←v18076; word copy←v18104 = 0; word oldJoint←v18132 = 0; formal←c95460 = (formal←c95460 - 20); /* CopyJointAndBuild: */ SOURCE(8566, 227) SOURCE(8566, 227) quit←v18076 = 0; SOURCE(8666, 23) oldJoint←v18132 = XR←Narrow(item←v18032, (* (( (ptr) gf←c95428)+20) )); SOURCE(8691, 90) { word var←c84932; var←c84932 = XR←NewObject(28, (* (( (ptr) gf←c95428)+20) )); (* (W2Pt) var←c84932 ) = (* (W2Pt) oldJoint←v18132 ); (* (W4Pt) (( (ptr) var←c84932)+2) ) = (* (W4Pt) (( (ptr) oldJoint←v18132)+2) ); copy←v18104 = var←c84932; }; SOURCE(8783, 10) { word pd97; pd97 = (* (( (ptr) formal←c95460)+4) ); (void) ( *( (fPt) ((* (ptr) pd97 ))))(copy←v18104, 1, pd97); }; SOURCE(8566, 227) return(quit←v18076); } static void TrajRestore←P660(from←v8388, to←v8416) word from←v8388; word to←v8416; { register ptr gf←c95492 = (ptr) &globalframe; /* TrajRestore: */ SOURCE(9366, 783) SOURCE(9413, 27) if ((to←v8416 == 0) || (from←v8388 == 0)) { SOURCE(9440, 5) (void) XR←RaiseUnnamedError(); }; SOURCE(9447, 28) if (((* (ptr) to←v8416 ) != (* (ptr) from←v8388 ))) { SOURCE(9475, 5) (void) XR←RaiseUnnamedError(); }; SOURCE(9482, 28) if (((* (ptr) (* (ptr) to←v8416 ) ) != (* (( (ptr) gf←c95492)+30) ))) { SOURCE(9510, 5) (void) XR←RaiseUnnamedError(); }; SOURCE(9517, 635) { word fromData←v18176; word toData←v18204; SOURCE(9523, 38) fromData←v18176 = XR←Narrow((* (( (ptr) from←v8388)+1) ), (* (( (ptr) gf←c95492)+10) )); SOURCE(9563, 34) toData←v18204 = XR←Narrow((* (( (ptr) to←v8416)+1) ), (* (( (ptr) gf←c95492)+10) )); SOURCE(9600, 19) (* (W16Pt) toData←v18204 ) = (* (W16Pt) fromData←v18176 ); SOURCE(9622, 39) (* (W4Pt) (( (ptr) to←v8416)+3) ) = (* (W4Pt) (( (ptr) from←v8388)+3) ); SOURCE(9681, 28) (* (( (ptr) to←v8416)+7) ) = 0; SOURCE(9735, 25) (* (( (ptr) to←v8416)+8) ) = 0; SOURCE(9786, 28) (* (( (ptr) to←v8416)+9) ) = 0; SOURCE(9840, 27) (* (( (ptr) to←v8416)+10) ) = 0; SOURCE(9893, 29) (* (W6Pt) (* (( (ptr) to←v8416)+13) ) ) = (* (W6Pt) (* (( (ptr) from←v8388)+13) ) ); SOURCE(9924, 37) (* (( (ptr) to←v8416)+14) ) = (* (( (ptr) from←v8388)+14) ); SOURCE(9963, 29) (* (W6Pt) (* (( (ptr) to←v8416)+15) ) ) = (* (W6Pt) (* (( (ptr) from←v8388)+15) ) ); SOURCE(9994, 27) (* (( (ptr) to←v8416)+16) ) = (* (( (ptr) from←v8388)+16) ); SOURCE(10023, 29) (* (( (ptr) to←v8416)+17) ) = (* (( (ptr) from←v8388)+17) ); SOURCE(10054, 33) (* (( (ptr) to←v8416)+18) ) = (* (( (ptr) from←v8388)+18) ); SOURCE(10089, 27) (* (( (ptr) to←v8416)+19) ) = (* (( (ptr) from←v8388)+19) ); SOURCE(10118, 31) (* (( (ptr) to←v8416)+20) ) = (* (( (ptr) from←v8388)+20) ); }; } static void BuildConstrainedPathSeg←P720(slice←v8476, transformParts←v8504, segNum←v8532, seg←v8560, transform←v8588, entire←v8616, lo←v8644, hi←v8672, controlPoints←v8700, editConstraints←v8728, lineTo←v8756, curveTo←v8784, conicTo←v8812, arcTo←v8840) word slice←v8476; word transformParts←v8504; word segNum←v8532; word seg←v8560; word transform←v8588; word entire←v8616; word lo←v8644; word hi←v8672; word controlPoints←v8700; word editConstraints←v8728; word lineTo←v8756; word curveTo←v8784; word conicTo←v8812; word arcTo←v8840; { register ptr gf←c95524 = (ptr) &globalframe; /* BuildConstrainedPathSeg: */ SOURCE(10160, 5687) SOURCE(10476, 5371) if ((0 != entire←v8616)) { SOURCE(10491, 114) { word pd98; pd98 = (* (( (ptr) (* (ptr) seg←v8560 ))+7) ); (void) ( *( (fPt) ((* (ptr) pd98 ))))(seg←v8560, transform←v8588, entire←v8616, lo←v8644, hi←v8672, controlPoints←v8700 , lineTo←v8756, curveTo←v8784, conicTo←v8812, arcTo←v8840, pd98); }; } else { SOURCE(10605, 5244) { W2 dirVec←v18248; word distance←v18276; word partialTransform←v18304 = 0; word ctrlLoTrans←v18332 = 0; word ctrlHiTrans←v18360 = 0; W2 newJoint←v18388; W2 ctrlPoint←v18416; word ctrlPoints←v18444; word trajTransformParts←v18472; SOURCE(10734, 57) ctrlPoints←v18444 = XR←NewObject(8, (* (( (ptr) gf←c95524)+21) )); (* (ptr) ctrlPoints←v18444 ) = 2; SOURCE(10831, 54) trajTransformParts←v18472 = XR←Narrow(transformParts←v8504, (* (( (ptr) gf←c95524)+15) )); SOURCE(10887, 69) { word limit99; word xs100; word limit101; word limit102; word xs103; word x104; if ((controlPoints←v8700 == 0)) { xs100 = (word) ( limit99 = (* (ptr) ctrlPoints←v18444 ), BCK(0, limit99) ); (* (bPt) ((( (bPt) ctrlPoints←v18444)+4) + ((word) xs100 >> 3)) ) &= ~((unsigned) 1 << 8 - ((word) (xs100 & 7)+1)); } else { xs103 = (word) ( limit102 = (* (ptr) ctrlPoints←v18444 ), BCK(0, limit102) ); x104 = (word) ((( (bPt) ctrlPoints←v18444)+4) + ((word) xs103 >> 3)); xs103 = 8 - ((word) (xs103 & 7)+1); (* (bPt) x104 ) = ((* (bPt) x104 ) & ( ~ ((unsigned) 1 << xs103))) | ((( (unsigned) XR←ExtractField(controlPoints←v8700, 32 + (word) ( limit101 = (* (ptr) controlPoints←v8700 ), BCK(0, limit101) ), 1) & 1)) << xs103); }; }; SOURCE(10958, 69) { word limit105; word xs106; word limit107; word limit108; word xs109; word x110; if ((controlPoints←v8700 == 0)) { xs106 = (word) ( limit105 = (* (ptr) ctrlPoints←v18444 ), BCK(1, limit105) ); (* (bPt) ((( (bPt) ctrlPoints←v18444)+4) + ((word) xs106 >> 3)) ) &= ~((unsigned) 1 << 8 - ((word) (xs106 & 7)+1)); } else { xs109 = (word) ( limit108 = (* (ptr) ctrlPoints←v18444 ), BCK(1, limit108) ); x110 = (word) ((( (bPt) ctrlPoints←v18444)+4) + ((word) xs109 >> 3)); xs109 = 8 - ((word) (xs109 & 7)+1); (* (bPt) x110 ) = ((* (bPt) x110 ) & ( ~ ((unsigned) 1 << xs109))) | ((( (unsigned) XR←ExtractField(controlPoints←v8700, 32 + (word) ( limit107 = (* (ptr) controlPoints←v8700 ), BCK(1, limit107) ), 1) & 1)) << xs109); }; }; SOURCE(11029, 62) { word limit111; if (XR←ExtractField(ctrlPoints←v18444, 32 + (word) ( limit111 = (* (ptr) ctrlPoints←v18444 ), BCK(0, limit111) ), 1)) { ctrlLoTrans←v18332 = transform←v8588; } else { ctrlLoTrans←v18332 = (* (( (ptr) gf←c95524)+6)/* idTransform←v7144 */ ); }; }; SOURCE(11093, 62) { word limit112; if (XR←ExtractField(ctrlPoints←v18444, 32 + (word) ( limit112 = (* (ptr) ctrlPoints←v18444 ), BCK(1, limit112) ), 1)) { ctrlHiTrans←v18360 = transform←v8588; } else { ctrlHiTrans←v18360 = (* (( (ptr) gf←c95524)+6)/* idTransform←v7144 */ ); }; }; SOURCE(11158, 692) { word tc113; word limit114; if ((0 != lo←v8644)) { tc113 = (word) ! XR←ExtractField(ctrlPoints←v18444, 32 + (word) ( limit114 = (* (ptr) ctrlPoints←v18444 ), BCK(0, limit114) ), 1); } else { tc113 = (word) 0; }; if (tc113) { SOURCE(11216, 45) { word pd115; pd115 = (* (( (ptr) (* (ptr) seg←v8560 ))+16) ); (void) ( *( (fPt) ((* (ptr) pd115 ))))((word) &ctrlPoint←v18416, seg←v8560, 0, pd115); }; SOURCE(11263, 20) { word limit116; word xs117; xs117 = (word) ( limit116 = (* (ptr) ctrlPoints←v18444 ), BCK(0, limit116) ); (* (bPt) ((( (bPt) ctrlPoints←v18444)+4) + ((word) xs117 >> 3)) ) |= ((unsigned) 1 << 8 - ((word) (xs117 & 7)+1)); }; SOURCE(11285, 60) { word pd118; pd118 = (* (( (ptr) (* (( (ptr) gf←c95524)+156)/* var←c83940 */ ))+39) ); (void) ( *( (fPt) ((* (ptr) pd118 ))))((word) &newJoint←v18388, transform←v8588, (* (W2Pt) (( (ptr) seg←v8560)+9) ), pd118) ; }; SOURCE(11347, 98) { W2 var←c84996; { word pd119; pd119 = (* (( (ptr) (* (( (ptr) gf←c95524)+165)/* var←c85028 */ ))+22) ); (void) ( *( (fPt) ((* (ptr) pd119 ))))((word) &var←c84996, ctrlPoint←v18416, newJoint←v18388, pd119); }; { word pd120; pd120 = (* (( (ptr) (* (( (ptr) gf←c95524)+156)/* var←c83940 */ ))+10) ); partialTransform←v18304 = (word) ( *( (fPt) ((* (ptr) pd120 ))))(var←c84996, pd120); }; }; SOURCE(11447, 54) { word pd121; pd121 = (* (( (ptr) (* (( (ptr) gf←c95524)+165)/* var←c85028 */ ))+22) ); (void) ( *( (fPt) ((* (ptr) pd121 ))))((word) &dirVec←v18248, (* (W2Pt) (( (ptr) seg←v8560)+9) ), ctrlPoint←v18416, pd121) ; }; SOURCE(11503, 347) if ((editConstraints←v8728 == 1)) { { W2 var←c85060; SOURCE(11539, 50) { word pd122; pd122 = (* (( (ptr) (* (( (ptr) gf←c95524)+165)/* var←c85028 */ ))+19) ); distance←v18276 = (word) ( *( (fPt) ((* (ptr) pd122 ))))(newJoint←v18388, ctrlPoint←v18416, pd122); }; SOURCE(11591, 57) var←c85060.f0 = (* (ptr) &fc123 ); var←c85060.f1 = (* (ptr) &fc123 ); if ( ! XR←EqualWords(&dirVec←v18248, &var←c85060, 2)) { SOURCE(11612, 36) { word pd124; pd124 = (* (( (ptr) (* (( (ptr) gf←c95524)+165)/* var←c85028 */ ))+13) ); (void) ( *( (fPt) ((* (ptr) pd124 ))))((word) &dirVec←v18248, dirVec←v18248, pd124); }; }; SOURCE(11667, 100) { W2 var←c85092; { word pd125; pd125 = (* (( (ptr) (* (( (ptr) gf←c95524)+165)/* var←c85028 */ ))+12) ); (void) ( *( (fPt) ((* (ptr) pd125 ))))((word) &var←c85092, dirVec←v18248, distance←v18276, pd125); }; { word pd126; pd126 = (* (( (ptr) (* (( (ptr) gf←c95524)+156)/* var←c83940 */ ))+22) ); ctrlLoTrans←v18332 = (word) ( *( (fPt) ((* (ptr) pd126 ))))(partialTransform←v18304, var←c85092, pd126); }; }; }; } else { SOURCE(11776, 74) { word pd127; pd127 = (* (( (ptr) (* (( (ptr) gf←c95524)+156)/* var←c83940 */ ))+22) ); ctrlLoTrans←v18332 = (word) ( *( (fPt) ((* (ptr) pd127 ))))(partialTransform←v18304, dirVec←v18248, pd127); }; }; }; }; SOURCE(11856, 693) { word tc128; word limit129; if ((0 != hi←v8672)) { tc128 = (word) ! XR←ExtractField(ctrlPoints←v18444, 32 + (word) ( limit129 = (* (ptr) ctrlPoints←v18444 ), BCK(1, limit129) ), 1); } else { tc128 = (word) 0; }; if (tc128) { SOURCE(11915, 45) { word pd130; pd130 = (* (( (ptr) (* (ptr) seg←v8560 ))+16) ); (void) ( *( (fPt) ((* (ptr) pd130 ))))((word) &ctrlPoint←v18416, seg←v8560, 1, pd130); }; SOURCE(11962, 20) { word limit131; word xs132; xs132 = (word) ( limit131 = (* (ptr) ctrlPoints←v18444 ), BCK(1, limit131) ); (* (bPt) ((( (bPt) ctrlPoints←v18444)+4) + ((word) xs132 >> 3)) ) |= ((unsigned) 1 << 8 - ((word) (xs132 & 7)+1)); }; SOURCE(11984, 60) { word pd133; pd133 = (* (( (ptr) (* (( (ptr) gf←c95524)+156)/* var←c83940 */ ))+39) ); (void) ( *( (fPt) ((* (ptr) pd133 ))))((word) &newJoint←v18388, transform←v8588, (* (W2Pt) (( (ptr) seg←v8560)+11) ), pd133) ; }; SOURCE(12046, 98) { W2 var←c85124; { word pd134; pd134 = (* (( (ptr) (* (( (ptr) gf←c95524)+165)/* var←c85028 */ ))+22) ); (void) ( *( (fPt) ((* (ptr) pd134 ))))((word) &var←c85124, ctrlPoint←v18416, newJoint←v18388, pd134); }; { word pd135; pd135 = (* (( (ptr) (* (( (ptr) gf←c95524)+156)/* var←c83940 */ ))+10) ); partialTransform←v18304 = (word) ( *( (fPt) ((* (ptr) pd135 ))))(var←c85124, pd135); }; }; SOURCE(12146, 54) { word pd136; pd136 = (* (( (ptr) (* (( (ptr) gf←c95524)+165)/* var←c85028 */ ))+22) ); (void) ( *( (fPt) ((* (ptr) pd136 ))))((word) &dirVec←v18248, (* (W2Pt) (( (ptr) seg←v8560)+11) ), ctrlPoint←v18416, pd136) ; }; SOURCE(12202, 347) if ((editConstraints←v8728 == 1)) { { W2 var←c85156; SOURCE(12238, 50) { word pd137; pd137 = (* (( (ptr) (* (( (ptr) gf←c95524)+165)/* var←c85028 */ ))+19) ); distance←v18276 = (word) ( *( (fPt) ((* (ptr) pd137 ))))(newJoint←v18388, ctrlPoint←v18416, pd137); }; SOURCE(12290, 57) var←c85156.f0 = (* (ptr) &fc123 ); var←c85156.f1 = (* (ptr) &fc123 ); if ( ! XR←EqualWords(&dirVec←v18248, &var←c85156, 2)) { SOURCE(12311, 36) { word pd138; pd138 = (* (( (ptr) (* (( (ptr) gf←c95524)+165)/* var←c85028 */ ))+13) ); (void) ( *( (fPt) ((* (ptr) pd138 ))))((word) &dirVec←v18248, dirVec←v18248, pd138); }; }; SOURCE(12366, 100) { W2 var←c85188; { word pd139; pd139 = (* (( (ptr) (* (( (ptr) gf←c95524)+165)/* var←c85028 */ ))+12) ); (void) ( *( (fPt) ((* (ptr) pd139 ))))((word) &var←c85188, dirVec←v18248, distance←v18276, pd139); }; { word pd140; pd140 = (* (( (ptr) (* (( (ptr) gf←c95524)+156)/* var←c83940 */ ))+22) ); ctrlHiTrans←v18360 = (word) ( *( (fPt) ((* (ptr) pd140 ))))(partialTransform←v18304, var←c85188, pd140); }; }; }; } else { SOURCE(12475, 74) { word pd141; pd141 = (* (( (ptr) (* (( (ptr) gf←c95524)+156)/* var←c83940 */ ))+22) ); ctrlHiTrans←v18360 = (word) ( *( (fPt) ((* (ptr) pd141 ))))(partialTransform←v18304, dirVec←v18248, pd141); }; }; }; }; SOURCE(12556, 1549) { word tc142; word limit143; if ( ! XR←ExtractField(ctrlPoints←v18444, 32 + (word) ( limit143 = (* (ptr) ctrlPoints←v18444 ), BCK(0, limit143) ), 1)) { tc142 = (word) (0 == lo←v8644); } else { tc142 = (word) 0; }; if (tc142) { SOURCE(12593, 1553) { word prevSegNum←v18516; word var←c85252; SOURCE(12595, 58) { word pd144; pd144 = (* (( (ptr) (* (( (ptr) gf←c95524)+161)/* var←c84516 */ ))+42) ); prevSegNum←v18516 = (word) ( *( (fPt) ((* (ptr) pd144 ))))(slice←v8476, segNum←v8532, pd144); }; SOURCE(12655, 1450) { word tc145; word pd146; if (( (int)prevSegNum←v18516 != (int) (word) -1)) { pd146 = (* (( (ptr) (* (( (ptr) gf←c95524)+161)/* var←c84516 */ ))+29) ); tc145 = (word) ((* (ptr) (* (ptr) ( *( (fPt) ((* (ptr) pd146 ))))(slice←v8476, SGNCK(prevSegNum←v18516), pd146) ) ) == (* ( ( (ptr) gf←c95524)+27) )); } else { tc145 = (word) 0; }; if (tc145) { SOURCE(12745, 1360) { word limit148; { /*1*/ word var←c85220; /*1*/ var←c85220 = (* (( (ptr) trajTransformParts←v18472)+2) ); /*1*/ { /*1*/ word limit147; /*1*/ var←c85252 = (* ((( (ptr) var←c85220)+1)+( /*1*/ limit147 = (* (ptr) var←c85220 ), /*1*/ BCK(prevSegNum←v18516, limit147) /*1*/ )) ); /*1*/ }; /*1*/ }; if (XR←ExtractField(var←c85252, 32 + (word) ( /*1*/ limit148 = (* (ptr) var←c85252 ), /*1*/ BCK(1, limit148) /*1*/ ), 1)) { SOURCE(12801, 1339) /*1*/ { /*1*/ word angle←v18560; /*1*/ W2 transformedPoint←v18588; /*1*/ W2 otherCtrlPoint←v18616; /*1*/ W2 otherDirVector←v18644; /*1*/ W2 var←c85380; /*1*/ W2 var←c85476; SOURCE(12841, 92) /*1*/ { /*1*/ word var←c85284; /*1*/ { /*1*/ word pd149; /*1*/ pd149 = (* (( (ptr) (* (( (ptr) gf←c95524)+161)/* var←c84516 */ ))+29) ); /*1*/ var←c85284 = (word) ( *( (fPt) ((* (ptr) pd149 ))))(slice←v8476, SGNCK(prevSegNum←v18516), pd149); /*1*/ }; /*1*/ { /*1*/ word pd150; /*1*/ pd150 = (* (( (ptr) (* (ptr) seg←v8560 ))+16) ); /*1*/ (void) ( *( (fPt) ((* (ptr) pd150 ))))((word) &otherCtrlPoint←v18616, var←c85284, 1, pd150); /*1*/ }; /*1*/ }; SOURCE(12935, 75) /*1*/ { /*1*/ word pd151; /*1*/ pd151 = (* (( (ptr) (* (( (ptr) gf←c95524)+165)/* var←c85028 */ ))+22) ); /*1*/ (void) ( *( (fPt) ((* (ptr) pd151 ))))((word) &otherDirVector←v18644, (* (W2Pt) (( (ptr) seg←v8560)+9) ), otherCtrlPoint←v18616, pd151) /*1*/ ; /*1*/ }; SOURCE(13012, 45) /*1*/ { /*1*/ word pd152; /*1*/ pd152 = (* (( (ptr) (* (ptr) seg←v8560 ))+16) ); /*1*/ (void) ( *( (fPt) ((* (ptr) pd152 ))))((word) &ctrlPoint←v18416, seg←v8560, 0, pd152); /*1*/ }; SOURCE(13059, 54) /*1*/ { /*1*/ word pd153; /*1*/ pd153 = (* (( (ptr) (* (( (ptr) gf←c95524)+165)/* var←c85028 */ ))+22) ); /*1*/ (void) ( *( (fPt) ((* (ptr) pd153 ))))((word) &dirVec←v18248, (* (W2Pt) (( (ptr) seg←v8560)+9) ), ctrlPoint←v18416, pd153) /*1*/ ; /*1*/ }; SOURCE(13115, 38) /*1*/ { /*1*/ word pd154; /*1*/ pd154 = (* (( (ptr) (* (( (ptr) gf←c95524)+165)/* var←c85028 */ ))+18) ); /*1*/ distance←v18276 = (word) ( *( (fPt) ((* (ptr) pd154 ))))(dirVec←v18248, pd154); /*1*/ }; SOURCE(13155, 76) /*1*/ { /*1*/ word pd155; /*1*/ pd155 = (* (( (ptr) (* (( (ptr) gf←c95524)+156)/* var←c83940 */ ))+39) ); /*1*/ (void) ( *( (fPt) ((* (ptr) pd155 ))))((word) &transformedPoint←v18588, transform←v8588, otherCtrlPoint←v18616, pd155); /*1*/ }; SOURCE(13233, 115) /*1*/ { /*1*/ W2 var←c85316; /*1*/ { /*1*/ word pd156; /*1*/ pd156 = (* (( (ptr) (* (( (ptr) gf←c95524)+165)/* var←c85028 */ ))+22) ); /*1*/ (void) ( *( (fPt) ((* (ptr) pd156 ))))((word) &var←c85316, (* (W2Pt) (( (ptr) seg←v8560)+9) ), transformedPoint←v18588, pd156) /*1*/ ; /*1*/ }; /*1*/ { /*1*/ word pd157; /*1*/ pd157 = (* (( (ptr) (* (( (ptr) gf←c95524)+165)/* var←c85028 */ ))+9) ); /*1*/ angle←v18560 = (word) ( *( (fPt) ((* (ptr) pd157 ))))(otherDirVector←v18644, var←c85316, pd157); /*1*/ }; /*1*/ }; SOURCE(13350, 96) /*1*/ { /*1*/ W2 var←c85348; /*1*/ { /*1*/ word pd158; /*1*/ pd158 = (* (( (ptr) (* (( (ptr) gf←c95524)+165)/* var←c85028 */ ))+22) ); /*1*/ (void) ( *( (fPt) ((* (ptr) pd158 ))))((word) &var←c85348, ctrlPoint←v18416, (* (W2Pt) (( (ptr) seg←v8560)+9) ), pd158) /*1*/ ; /*1*/ }; /*1*/ { /*1*/ word pd159; /*1*/ pd159 = (* (( (ptr) (* (( (ptr) gf←c95524)+156)/* var←c83940 */ ))+10) ); /*1*/ partialTransform←v18304 = (word) ( *( (fPt) ((* (ptr) pd159 ))))(var←c85348, pd159); /*1*/ }; /*1*/ }; SOURCE(13448, 20) /*1*/ { /*1*/ word limit160; /*1*/ word xs161; /*1*/ xs161 = (word) ( /*1*/ limit160 = (* (ptr) ctrlPoints←v18444 ), /*1*/ BCK(0, limit160) /*1*/ ); /*1*/ (* (bPt) ((( (bPt) ctrlPoints←v18444)+4) + ((word) xs161 >> 3)) ) |= ((unsigned) 1 << 8 - ((word) (xs161 & 7)+1)); /*1*/ }; SOURCE(13471, 634) /*1*/ if ((editConstraints←v8728 == 1)) { SOURCE(13507, 245) /*1*/ { /*1*/ word tc162; /*1*/ if ( ! XR←EqualWords(&transformedPoint←v18588, (( (ptr) seg←v8560)+9), 2)) { /*1*/ var←c85380.f0 = (* (ptr) &fc123 ); /*1*/ var←c85380.f1 = (* (ptr) &fc123 ); /*1*/ tc162 = (word) ! XR←EqualWords(&otherDirVector←v18644, &var←c85380, 2); /*1*/ } /*1*/ else { /*1*/ tc162 = (word) 0; /*1*/ }; /*1*/ if (tc162) { SOURCE(13617, 135) /*1*/ { /*1*/ W2 var←c85412; /*1*/ { /*1*/ W2 var←c85444; /*1*/ { /*1*/ word pd163; /*1*/ pd163 = (* (( (ptr) (* (( (ptr) gf←c95524)+165)/* var←c85028 */ ))+5) ); /*1*/ (void) ( *( (fPt) ((* (ptr) pd163 ))))((word) &var←c85444, dirVec←v18248, angle←v18560, pd163); /*1*/ }; /*1*/ { /*1*/ W2 var←c0230; /*1*/ { /*1*/ word pd164; /*1*/ pd164 = (* (( (ptr) (* (( (ptr) gf←c95524)+165)/* var←c85028 */ ))+12) ); /*1*/ (void) ( *( (fPt) ((* (ptr) pd164 ))))((word) &var←c0230, var←c85444, distance←v18276, pd164); /*1*/ }; /*1*/ var←c85412 = var←c0230; /*1*/ }; /*1*/ }; /*1*/ { /*1*/ word pd165; /*1*/ pd165 = (* (( (ptr) (* (( (ptr) gf←c95524)+156)/* var←c83940 */ ))+22) ); /*1*/ ctrlLoTrans←v18332 = (word) ( *( (fPt) ((* (ptr) pd165 ))))(partialTransform←v18304, var←c85412, pd165); /*1*/ }; /*1*/ }; /*1*/ }; /*1*/ }; /*1*/ } /*1*/ else { SOURCE(13803, 302) /*1*/ var←c85476.f0 = (* (ptr) &fc123 ); /*1*/ var←c85476.f1 = (* (ptr) &fc123 ); /*1*/ if ( ! XR←EqualWords(&otherDirVector←v18644, &var←c85476, 2)) { SOURCE(13836, 132) /*1*/ { /*1*/ word var←c85508; /*1*/ word var←c01257; /*1*/ { /*1*/ word pd166; /*1*/ word x167; /*1*/ word pd168; /*1*/ word x169; /*1*/ pd166 = (* (( (ptr) (* (( (ptr) gf←c95524)+165)/* var←c85028 */ ))+21) ); /*1*/ pd168 = (* (( (ptr) (* (( (ptr) gf←c95524)+165)/* var←c85028 */ ))+20) ); /*1*/ *(float*)&var←c85508 = ( /*1*/ x167 = (word) ( *( (fPt) ((* (ptr) pd166 ))))((* (W2Pt) (( (ptr) seg←v8560)+9) ), transformedPoint←v18588, pd166), *(float*)&x167 /*1*/ ) / ( /*1*/ x169 = (word) ( *( (fPt) ((* (ptr) pd168 ))))(otherDirVector←v18644, pd168), *(float*)&x169 /*1*/ ); /*1*/ }; /*1*/ { /*1*/ word pd170; /*1*/ pd170 = (* (( (ptr) (* (( (ptr) gf←c95524)+166)/* var←c85540 */ ))+9) ); /*1*/ var←c01257 = (word) ( *( (fPt) ((* (ptr) pd170 ))))(var←c85508, pd170); /*1*/ }; /*1*/ { /*1*/ word x171; /*1*/ word x172; /*1*/ *(float*)&distance←v18276 = ( /*1*/ x171 = var←c01257, *(float*)&x171 /*1*/ ) * ( /*1*/ x172 = distance←v18276, *(float*)&x172 /*1*/ ); /*1*/ }; /*1*/ }; SOURCE(13970, 135) /*1*/ { /*1*/ W2 var←c85572; /*1*/ { /*1*/ W2 var←c85604; /*1*/ { /*1*/ word pd173; /*1*/ pd173 = (* (( (ptr) (* (( (ptr) gf←c95524)+165)/* var←c85028 */ ))+5) ); /*1*/ (void) ( *( (fPt) ((* (ptr) pd173 ))))((word) &var←c85604, dirVec←v18248, angle←v18560, pd173); /*1*/ }; /*1*/ { /*1*/ W2 var←c0236; /*1*/ { /*1*/ word pd174; /*1*/ pd174 = (* (( (ptr) (* (( (ptr) gf←c95524)+165)/* var←c85028 */ ))+12) ); /*1*/ (void) ( *( (fPt) ((* (ptr) pd174 ))))((word) &var←c0236, var←c85604, distance←v18276, pd174); /*1*/ }; /*1*/ var←c85572 = var←c0236; /*1*/ }; /*1*/ }; /*1*/ { /*1*/ word pd175; /*1*/ pd175 = (* (( (ptr) (* (( (ptr) gf←c95524)+156)/* var←c83940 */ ))+22) ); /*1*/ ctrlLoTrans←v18332 = (word) ( *( (fPt) ((* (ptr) pd175 ))))(partialTransform←v18304, var←c85572, pd175); /*1*/ }; /*1*/ }; /*1*/ }; /*1*/ }; /*1*/ }; /*1*/ }; }; }; }; }; }; }; SOURCE(14150, 1550) { word tc176; word limit177; if ( ! XR←ExtractField(ctrlPoints←v18444, 32 + (word) ( limit177 = (* (ptr) ctrlPoints←v18444 ), BCK(1, limit177) ), 1)) { tc176 = (word) (0 == hi←v8672); } else { tc176 = (word) 0; }; if (tc176) { SOURCE(14187, 1553) { word nextSegNum←v18688; word var←c85668; SOURCE(14189, 59) { word pd178; pd178 = (* (( (ptr) (* (( (ptr) gf←c95524)+161)/* var←c84516 */ ))+43) ); nextSegNum←v18688 = (word) ( *( (fPt) ((* (ptr) pd178 ))))(slice←v8476, segNum←v8532, pd178); }; SOURCE(14250, 1450) { word tc179; word pd180; if (( (int)nextSegNum←v18688 != (int) (word) -1)) { pd180 = (* (( (ptr) (* (( (ptr) gf←c95524)+161)/* var←c84516 */ ))+29) ); tc179 = (word) ((* (ptr) (* (ptr) ( *( (fPt) ((* (ptr) pd180 ))))(slice←v8476, SGNCK(nextSegNum←v18688), pd180) ) ) == (* ( ( (ptr) gf←c95524)+27) )); } else { tc179 = (word) 0; }; if (tc179) { SOURCE(14340, 1360) { word limit182; { /*1*/ word var←c85636; /*1*/ var←c85636 = (* (( (ptr) trajTransformParts←v18472)+2) ); /*1*/ { /*1*/ word limit181; /*1*/ var←c85668 = (* ((( (ptr) var←c85636)+1)+( /*1*/ limit181 = (* (ptr) var←c85636 ), /*1*/ BCK(nextSegNum←v18688, limit181) /*1*/ )) ); /*1*/ }; /*1*/ }; if (XR←ExtractField(var←c85668, 32 + (word) ( /*1*/ limit182 = (* (ptr) var←c85668 ), /*1*/ BCK(0, limit182) /*1*/ ), 1)) { SOURCE(14396, 1338) /*1*/ { /*1*/ word angle←v18732; /*1*/ W2 transformedPoint←v18760; /*1*/ W2 otherCtrlPoint←v18788; /*1*/ W2 otherDirVector←v18816; /*1*/ W2 var←c85796; /*1*/ W2 var←c85892; SOURCE(14436, 92) /*1*/ { /*1*/ word var←c85700; /*1*/ { /*1*/ word pd183; /*1*/ pd183 = (* (( (ptr) (* (( (ptr) gf←c95524)+161)/* var←c84516 */ ))+29) ); /*1*/ var←c85700 = (word) ( *( (fPt) ((* (ptr) pd183 ))))(slice←v8476, SGNCK(nextSegNum←v18688), pd183); /*1*/ }; /*1*/ { /*1*/ word pd184; /*1*/ pd184 = (* (( (ptr) (* (ptr) seg←v8560 ))+16) ); /*1*/ (void) ( *( (fPt) ((* (ptr) pd184 ))))((word) &otherCtrlPoint←v18788, var←c85700, 0, pd184); /*1*/ }; /*1*/ }; SOURCE(14530, 75) /*1*/ { /*1*/ word pd185; /*1*/ pd185 = (* (( (ptr) (* (( (ptr) gf←c95524)+165)/* var←c85028 */ ))+22) ); /*1*/ (void) ( *( (fPt) ((* (ptr) pd185 ))))((word) &otherDirVector←v18816, (* (W2Pt) (( (ptr) seg←v8560)+11) ), otherCtrlPoint←v18788, pd185) /*1*/ ; /*1*/ }; SOURCE(14607, 45) /*1*/ { /*1*/ word pd186; /*1*/ pd186 = (* (( (ptr) (* (ptr) seg←v8560 ))+16) ); /*1*/ (void) ( *( (fPt) ((* (ptr) pd186 ))))((word) &ctrlPoint←v18416, seg←v8560, 1, pd186); /*1*/ }; SOURCE(14654, 54) /*1*/ { /*1*/ word pd187; /*1*/ pd187 = (* (( (ptr) (* (( (ptr) gf←c95524)+165)/* var←c85028 */ ))+22) ); /*1*/ (void) ( *( (fPt) ((* (ptr) pd187 ))))((word) &dirVec←v18248, (* (W2Pt) (( (ptr) seg←v8560)+11) ), ctrlPoint←v18416, pd187) /*1*/ ; /*1*/ }; SOURCE(14710, 38) /*1*/ { /*1*/ word pd188; /*1*/ pd188 = (* (( (ptr) (* (( (ptr) gf←c95524)+165)/* var←c85028 */ ))+18) ); /*1*/ distance←v18276 = (word) ( *( (fPt) ((* (ptr) pd188 ))))(dirVec←v18248, pd188); /*1*/ }; SOURCE(14750, 76) /*1*/ { /*1*/ word pd189; /*1*/ pd189 = (* (( (ptr) (* (( (ptr) gf←c95524)+156)/* var←c83940 */ ))+39) ); /*1*/ (void) ( *( (fPt) ((* (ptr) pd189 ))))((word) &transformedPoint←v18760, transform←v8588, otherCtrlPoint←v18788, pd189); /*1*/ }; SOURCE(14828, 115) /*1*/ { /*1*/ W2 var←c85732; /*1*/ { /*1*/ word pd190; /*1*/ pd190 = (* (( (ptr) (* (( (ptr) gf←c95524)+165)/* var←c85028 */ ))+22) ); /*1*/ (void) ( *( (fPt) ((* (ptr) pd190 ))))((word) &var←c85732, (* (W2Pt) (( (ptr) seg←v8560)+11) ), transformedPoint←v18760, pd190) /*1*/ ; /*1*/ }; /*1*/ { /*1*/ word pd191; /*1*/ pd191 = (* (( (ptr) (* (( (ptr) gf←c95524)+165)/* var←c85028 */ ))+9) ); /*1*/ angle←v18732 = (word) ( *( (fPt) ((* (ptr) pd191 ))))(otherDirVector←v18816, var←c85732, pd191); /*1*/ }; /*1*/ }; SOURCE(14945, 96) /*1*/ { /*1*/ W2 var←c85764; /*1*/ { /*1*/ word pd192; /*1*/ pd192 = (* (( (ptr) (* (( (ptr) gf←c95524)+165)/* var←c85028 */ ))+22) ); /*1*/ (void) ( *( (fPt) ((* (ptr) pd192 ))))((word) &var←c85764, ctrlPoint←v18416, (* (W2Pt) (( (ptr) seg←v8560)+11) ), pd192) /*1*/ ; /*1*/ }; /*1*/ { /*1*/ word pd193; /*1*/ pd193 = (* (( (ptr) (* (( (ptr) gf←c95524)+156)/* var←c83940 */ ))+10) ); /*1*/ partialTransform←v18304 = (word) ( *( (fPt) ((* (ptr) pd193 ))))(var←c85764, pd193); /*1*/ }; /*1*/ }; SOURCE(15043, 20) /*1*/ { /*1*/ word limit194; /*1*/ word xs195; /*1*/ xs195 = (word) ( /*1*/ limit194 = (* (ptr) ctrlPoints←v18444 ), /*1*/ BCK(1, limit194) /*1*/ ); /*1*/ (* (bPt) ((( (bPt) ctrlPoints←v18444)+4) + ((word) xs195 >> 3)) ) |= ((unsigned) 1 << 8 - ((word) (xs195 & 7)+1)); /*1*/ }; SOURCE(15066, 634) /*1*/ if ((editConstraints←v8728 == 1)) { SOURCE(15102, 245) /*1*/ { /*1*/ word tc196; /*1*/ if ( ! XR←EqualWords(&transformedPoint←v18760, (( (ptr) seg←v8560)+11), 2)) { /*1*/ var←c85796.f0 = (* (ptr) &fc123 ); /*1*/ var←c85796.f1 = (* (ptr) &fc123 ); /*1*/ tc196 = (word) ! XR←EqualWords(&otherDirVector←v18816, &var←c85796, 2); /*1*/ } /*1*/ else { /*1*/ tc196 = (word) 0; /*1*/ }; /*1*/ if (tc196) { SOURCE(15212, 135) /*1*/ { /*1*/ W2 var←c85828; /*1*/ { /*1*/ W2 var←c85860; /*1*/ { /*1*/ word pd197; /*1*/ pd197 = (* (( (ptr) (* (( (ptr) gf←c95524)+165)/* var←c85028 */ ))+5) ); /*1*/ (void) ( *( (fPt) ((* (ptr) pd197 ))))((word) &var←c85860, dirVec←v18248, angle←v18732, pd197); /*1*/ }; /*1*/ { /*1*/ W2 var←c0258; /*1*/ { /*1*/ word pd198; /*1*/ pd198 = (* (( (ptr) (* (( (ptr) gf←c95524)+165)/* var←c85028 */ ))+12) ); /*1*/ (void) ( *( (fPt) ((* (ptr) pd198 ))))((word) &var←c0258, var←c85860, distance←v18276, pd198); /*1*/ }; /*1*/ var←c85828 = var←c0258; /*1*/ }; /*1*/ }; /*1*/ { /*1*/ word pd199; /*1*/ pd199 = (* (( (ptr) (* (( (ptr) gf←c95524)+156)/* var←c83940 */ ))+22) ); /*1*/ ctrlHiTrans←v18360 = (word) ( *( (fPt) ((* (ptr) pd199 ))))(partialTransform←v18304, var←c85828, pd199); /*1*/ }; /*1*/ }; /*1*/ }; /*1*/ }; /*1*/ } /*1*/ else { SOURCE(15398, 302) /*1*/ var←c85892.f0 = (* (ptr) &fc123 ); /*1*/ var←c85892.f1 = (* (ptr) &fc123 ); /*1*/ if ( ! XR←EqualWords(&otherDirVector←v18816, &var←c85892, 2)) { SOURCE(15431, 132) /*1*/ { /*1*/ word var←c85924; /*1*/ word var←c01258; /*1*/ { /*1*/ word pd200; /*1*/ word x201; /*1*/ word pd202; /*1*/ word x203; /*1*/ pd200 = (* (( (ptr) (* (( (ptr) gf←c95524)+165)/* var←c85028 */ ))+21) ); /*1*/ pd202 = (* (( (ptr) (* (( (ptr) gf←c95524)+165)/* var←c85028 */ ))+20) ); /*1*/ *(float*)&var←c85924 = ( /*1*/ x201 = (word) ( *( (fPt) ((* (ptr) pd200 ))))((* (W2Pt) (( (ptr) seg←v8560)+11) ), transformedPoint←v18760, pd200), *(float*)&x201 /*1*/ ) / ( /*1*/ x203 = (word) ( *( (fPt) ((* (ptr) pd202 ))))(otherDirVector←v18816, pd202), *(float*)&x203 /*1*/ ); /*1*/ }; /*1*/ { /*1*/ word pd204; /*1*/ pd204 = (* (( (ptr) (* (( (ptr) gf←c95524)+166)/* var←c85540 */ ))+9) ); /*1*/ var←c01258 = (word) ( *( (fPt) ((* (ptr) pd204 ))))(var←c85924, pd204); /*1*/ }; /*1*/ { /*1*/ word x205; /*1*/ word x206; /*1*/ *(float*)&distance←v18276 = ( /*1*/ x205 = var←c01258, *(float*)&x205 /*1*/ ) * ( /*1*/ x206 = distance←v18276, *(float*)&x206 /*1*/ ); /*1*/ }; /*1*/ }; SOURCE(15565, 135) /*1*/ { /*1*/ W2 var←c85956; /*1*/ { /*1*/ W2 var←c85988; /*1*/ { /*1*/ word pd207; /*1*/ pd207 = (* (( (ptr) (* (( (ptr) gf←c95524)+165)/* var←c85028 */ ))+5) ); /*1*/ (void) ( *( (fPt) ((* (ptr) pd207 ))))((word) &var←c85988, dirVec←v18248, angle←v18732, pd207); /*1*/ }; /*1*/ { /*1*/ W2 var←c0264; /*1*/ { /*1*/ word pd208; /*1*/ pd208 = (* (( (ptr) (* (( (ptr) gf←c95524)+165)/* var←c85028 */ ))+12) ); /*1*/ (void) ( *( (fPt) ((* (ptr) pd208 ))))((word) &var←c0264, var←c85988, distance←v18276, pd208); /*1*/ }; /*1*/ var←c85956 = var←c0264; /*1*/ }; /*1*/ }; /*1*/ { /*1*/ word pd209; /*1*/ pd209 = (* (( (ptr) (* (( (ptr) gf←c95524)+156)/* var←c83940 */ ))+22) ); /*1*/ ctrlHiTrans←v18360 = (word) ( *( (fPt) ((* (ptr) pd209 ))))(partialTransform←v18304, var←c85956, pd209); /*1*/ }; /*1*/ }; /*1*/ }; /*1*/ }; /*1*/ }; /*1*/ }; }; }; }; }; }; }; SOURCE(15744, 103) { word pd210; pd210 = (* (( (ptr) (* (( (ptr) gf←c95524)+164)/* var←c84836 */ ))+32) ); (void) ( *( (fPt) ((* (ptr) pd210 ))))(seg←v8560, transform←v8588, lo←v8644, hi←v8672, ctrlPoints←v18444, ctrlLoTrans←v18332 , ctrlHiTrans←v18360, curveTo←v8784, pd210); }; }; }; } static void TrajBuildPath←P780(formal←c01310, formal←c01311, formal←c01312, formal←c01313, formal←c01314, formal←c01315, formal←c01316, formal←c01317, formal←c01318) word formal←c01310; word formal←c01311; word formal←c01312; word formal←c01313; word formal←c01314; word formal←c01315; word formal←c01316; word formal←c01317; word formal←c01318; { W19 var←c95556; /* declaration of slice←v8900 skipped */ /* declaration of transformParts←v8928 skipped */ /* declaration of transform←v8956 skipped */ /* declaration of moveTo←v8984 skipped */ /* declaration of lineTo←v9012 skipped */ /* declaration of curveTo←v9040 skipped */ /* declaration of conicTo←v9068 skipped */ /* declaration of arcTo←v9096 skipped */ /* declaration of editConstraints←v9124 skipped */ /* declaration of var←c86020 skipped */ /* declaration of var←c86052 skipped */ /* declaration of var←c86084 skipped */ (* (( (ptr) &var←c95556)+4)/* slice←v8900 */ ) = formal←c01310; (* (( (ptr) &var←c95556)+5)/* transformParts←v8928 */ ) = formal←c01311; (* (( (ptr) &var←c95556)+6)/* transform←v8956 */ ) = formal←c01312; (* (( (ptr) &var←c95556)+7)/* moveTo←v8984 */ ) = formal←c01313; (* (( (ptr) &var←c95556)+8)/* lineTo←v9012 */ ) = formal←c01314; (* (( (ptr) &var←c95556)+9)/* curveTo←v9040 */ ) = formal←c01315; (* (( (ptr) &var←c95556)+10)/* conicTo←v9068 */ ) = formal←c01316; (* (( (ptr) &var←c95556)+11)/* arcTo←v9096 */ ) = formal←c01317; (* (( (ptr) &var←c95556)+12)/* editConstraints←v9124 */ ) = formal←c01318; /* TrajBuildPath: */ SOURCE(15856, 2114) { word tmpAddr211; tmpAddr211 = (word) (( (ptr) &var←c95556)+13)/* var←c86020 */ ; (* (ptr) tmpAddr211 ) = ( ((word) (fPt) TransformNone←P4524) ); (* (( (ptr) tmpAddr211) + 1) ) = 1; }; { word tmpAddr212; tmpAddr212 = (word) (( (ptr) &var←c95556)+15)/* var←c86052 */ ; (* (ptr) tmpAddr212 ) = ( ((word) (fPt) TransformEntire←P4464) ); (* (( (ptr) tmpAddr212) + 1) ) = 1; }; { word tmpAddr213; tmpAddr213 = (word) (( (ptr) &var←c95556)+17)/* var←c86084 */ ; (* (ptr) tmpAddr213 ) = ( ((word) (fPt) TransformParts←P4404) ); (* (( (ptr) tmpAddr213) + 1) ) = 1; }; SOURCE(17861, 109) if (((* (( (ptr) &var←c95556)+6)/* transform←v8956 */ ) != 0)) { SOURCE(17883, 72) if (((* (( (ptr) &var←c95556)+5)/* transformParts←v8928 */ ) == 0)) { SOURCE(17910, 23) (void) TransformEntire←P4464((word) ((( (bPt) &var←c95556)+60)/* var←c86052 */ )); } else { SOURCE(17933, 22) (void) TransformParts←P4404((word) ((( (bPt) &var←c95556)+68)/* var←c86084 */ )); }; } else { SOURCE(17955, 15) (void) TransformNone←P4524((word) ((( (bPt) &var←c95556)+52)/* var←c86020 */ )); }; } static void TransformParts←P4404(formal←c95620) word formal←c95620; { register ptr gf←c95588 = (ptr) &globalframe; word hiSegment←v19008; word trajParts←v19036; formal←c95620 = (formal←c95620 - 68); /* TransformParts: */ SOURCE(16114, 911) SOURCE(16139, 40) { word pd214; pd214 = (* (( (ptr) (* (( (ptr) gf←c95588)+161)/* var←c84516 */ ))+37) ); hiSegment←v19008 = (word) ( *( (fPt) ((* (ptr) pd214 ))))((* ((( (ptr) formal←c95620)+4)) ), pd214); }; SOURCE(16181, 45) trajParts←v19036 = XR←Narrow((* (( (ptr) formal←c95620)+5) ), (* (( (ptr) gf←c95588)+15) )); SOURCE(16228, 171) { W2 var←c86116; word var←c86148; word var←c86180; { word limit215; word limit217; var←c86148 = (* (ptr) trajParts←v19036 ); if (XR←ExtractField(var←c86148, 32 + (word) ( limit215 = (* (ptr) var←c86148 ), BCK(0, limit215) ), 1)) { goto then0216;}; var←c86180 = (* (( (ptr) trajParts←v19036)+1) ); if (XR←ExtractField(var←c86180, 32 + (word) ( limit217 = (* (ptr) var←c86180 ), BCK(0, limit217) ), 1)) { then0216: ; { W2 var←c86212; { word pd218; pd218 = (* (( (ptr) (* (( (ptr) gf←c95588)+161)/* var←c84516 */ ))+32) ); (void) ( *( (fPt) ((* (ptr) pd218 ))))((word) &var←c86212, (* (( (ptr) formal←c95620)+4) ), 0, pd218); }; { W2 var←c0284; { word pd219; pd219 = (* (( (ptr) (* (( (ptr) gf←c95588)+156)/* var←c83940 */ ))+39) ); (void) ( *( (fPt) ((* (ptr) pd219 ))))((word) &var←c0284, (* (( (ptr) formal←c95620)+6) ), var←c86212, pd219); }; var←c86116 = var←c0284; }; }; } else { { W2 var←c0285; { word pd220; pd220 = (* (( (ptr) (* (( (ptr) gf←c95588)+161)/* var←c84516 */ ))+32) ); (void) ( *( (fPt) ((* (ptr) pd220 ))))((word) &var←c0285, (* (( (ptr) formal←c95620)+4) ), 0, pd220); }; var←c86116 = var←c0285; }; }; }; { word pd221; pd221 = (* (( (ptr) formal←c95620)+7) ); (void) ( *( (fPt) ((* (ptr) pd221 ))))(var←c86116, pd221); }; }; SOURCE(16401, 624) { register word index←v19080 = 0; register word noName←c86244; noName←c86244 = hiSegment←v19008; if (( (int)index←v19080 > (int)noName←c86244)) { goto lab←L100016; }; lab←L100019: ; { word seg←v19124; SOURCE(16437, 48) { word pd222; pd222 = (* (( (ptr) (* (( (ptr) gf←c95588)+161)/* var←c84516 */ ))+29) ); seg←v19124 = (word) ( *( (fPt) ((* (ptr) pd222 ))))((* (( (ptr) formal←c95620)+4) ), SGNCK(index←v19080), pd222); }; SOURCE(16487, 538) if ( ( ((* (ptr) (* (ptr) seg←v19124 ) ) == (* (( (ptr) gf←c95588)+27) )) ? ((* (( (ptr) formal←c95620)+12) ) != 0) : 0 ) ) { SOURCE(16543, 265) { word var←c86276; word var←c01259; word var←c86308; word var←c01260; word var←c86340; word var←c86372; word var←c01261; word var←c86404; word var←c01262; var←c86276 = (* (ptr) trajParts←v19036 ); { word limit223; var←c01259 = (unsigned) XR←ExtractField(var←c86276, 32 + (word) ( limit223 = (* (ptr) var←c86276 ), BCK(index←v19080, limit223) ), 1); }; var←c86308 = (* (( (ptr) trajParts←v19036)+1) ); { word limit224; var←c01260 = (unsigned) XR←ExtractField(var←c86308, 32 + (word) ( limit224 = (* (ptr) var←c86308 ), BCK(index←v19080, limit224) ), 1); }; var←c86340 = IOP2( % , (int)(index←v19080 + 1), (int)(* (ptr) (* (ptr) trajParts←v19036 ) )); var←c86372 = (* (( (ptr) trajParts←v19036)+1) ); { word limit225; var←c01261 = (unsigned) XR←ExtractField(var←c86372, 32 + (word) ( limit225 = (* (ptr) var←c86372 ), BCK(var←c86340, limit225) ), 1); }; var←c86404 = (* (( (ptr) trajParts←v19036)+2) ); { word limit226; var←c01262 = (* ((( (ptr) var←c86404)+1)+( limit226 = (* (ptr) var←c86404 ), BCK(index←v19080, limit226) )) ); }; (void) BuildConstrainedPathSeg←P720((* (( (ptr) formal←c95620)+4) ), (* (( (ptr) formal←c95620)+5) ), SGNCK(index←v19080) , seg←v19124, (* (( (ptr) formal←c95620)+6) ), var←c01259 , var←c01260, var←c01261, var←c01262, (* (( (ptr) formal←c95620)+12) ), (* (( (ptr) formal←c95620)+8) ), (* (( (ptr) formal←c95620)+9) ) , (* (( (ptr) formal←c95620)+10) ), (* (( (ptr) formal←c95620)+11) )); }; } else { SOURCE(16808, 217) { word var←c86436; word var←c01263; word var←c86468; word var←c01264; word var←c86500; word var←c86532; word var←c01265; word var←c86564; word var←c01266; var←c86436 = (* (ptr) trajParts←v19036 ); { word limit227; var←c01263 = (unsigned) XR←ExtractField(var←c86436, 32 + (word) ( limit227 = (* (ptr) var←c86436 ), BCK(index←v19080, limit227) ), 1); }; var←c86468 = (* (( (ptr) trajParts←v19036)+1) ); { word limit228; var←c01264 = (unsigned) XR←ExtractField(var←c86468, 32 + (word) ( limit228 = (* (ptr) var←c86468 ), BCK(index←v19080, limit228) ), 1); }; var←c86500 = IOP2( % , (int)(index←v19080 + 1), (int)(* (ptr) (* (ptr) trajParts←v19036 ) )); var←c86532 = (* (( (ptr) trajParts←v19036)+1) ); { word limit229; var←c01265 = (unsigned) XR←ExtractField(var←c86532, 32 + (word) ( limit229 = (* (ptr) var←c86532 ), BCK(var←c86500, limit229) ), 1); }; var←c86564 = (* (( (ptr) trajParts←v19036)+2) ); { word limit230; var←c01266 = (* ((( (ptr) var←c86564)+1)+( limit230 = (* (ptr) var←c86564 ), BCK(index←v19080, limit230) )) ); }; { word pd231; pd231 = (* (( (ptr) (* (ptr) seg←v19124 ))+7) ); (void) ( *( (fPt) ((* (ptr) pd231 ))))(seg←v19124, (* (( (ptr) formal←c95620)+6) ), var←c01263, var←c01264, var←c01265, var←c01266 , (* (( (ptr) formal←c95620)+8) ), (* (( (ptr) formal←c95620)+9) ), (* (( (ptr) formal←c95620)+10) ), (* (( (ptr) formal←c95620)+11) ), pd231); }; }; }; }; if (( (int)index←v19080 >= (int)noName←c86244)) { goto lab←L100016; }; index←v19080 = (index←v19080 + 1); goto lab←L100019; lab←L100016: ; }; } static void TransformEntire←P4464(formal←c95684) word formal←c95684; { register ptr gf←c95652 = (ptr) &globalframe; word hiSegment←v19168; formal←c95684 = (formal←c95684 - 60); /* TransformEntire: */ SOURCE(17040, 542) SOURCE(17066, 40) { word pd232; pd232 = (* (( (ptr) (* (( (ptr) gf←c95652)+161)/* var←c84516 */ ))+37) ); hiSegment←v19168 = (word) ( *( (fPt) ((* (ptr) pd232 ))))((* ((( (ptr) formal←c95684)+4)) ), pd232); }; SOURCE(17108, 82) { W2 var←c86596; { W2 var←c86628; { word pd233; pd233 = (* (( (ptr) (* (( (ptr) gf←c95652)+161)/* var←c84516 */ ))+32) ); (void) ( *( (fPt) ((* (ptr) pd233 ))))((word) &var←c86628, (* (( (ptr) formal←c95684)+4) ), 0, pd233); }; { W2 var←c0303; { word pd234; pd234 = (* (( (ptr) (* (( (ptr) gf←c95652)+156)/* var←c83940 */ ))+39) ); (void) ( *( (fPt) ((* (ptr) pd234 ))))((word) &var←c0303, (* (( (ptr) formal←c95684)+6) ), var←c86628, pd234); }; var←c86596 = var←c0303; }; }; { word pd235; pd235 = (* (( (ptr) formal←c95684)+7) ); (void) ( *( (fPt) ((* (ptr) pd235 ))))(var←c86596, pd235); }; }; SOURCE(17192, 390) { register word index←v19212 = 0; register word noName←c86660; noName←c86660 = hiSegment←v19168; if (( (int)index←v19212 > (int)noName←c86660)) { goto lab←L100020; }; lab←L100023: ; { word seg←v19256; SOURCE(17228, 48) { word pd236; pd236 = (* (( (ptr) (* (( (ptr) gf←c95652)+161)/* var←c84516 */ ))+29) ); seg←v19256 = (word) ( *( (fPt) ((* (ptr) pd236 ))))((* (( (ptr) formal←c95684)+4) ), SGNCK(index←v19212), pd236); }; SOURCE(17278, 304) if ( ( ((* (ptr) (* (ptr) seg←v19256 ) ) == (* (( (ptr) gf←c95652)+27) )) ? ((* (( (ptr) formal←c95684)+12) ) != 0) : 0 ) ) { SOURCE(17334, 148) (void) BuildConstrainedPathSeg←P720((* (( (ptr) formal←c95684)+4) ), (* (( (ptr) formal←c95684)+5) ), SGNCK(index←v19212) , seg←v19256, (* (( (ptr) formal←c95684)+6) ), 1 , 1, 1, 0, (* (( (ptr) formal←c95684)+12) ), (* (( (ptr) formal←c95684)+8) ), (* (( (ptr) formal←c95684)+9) ) , (* (( (ptr) formal←c95684)+10) ), (* (( (ptr) formal←c95684)+11) )); } else { SOURCE(17482, 100) { word pd237; pd237 = (* (( (ptr) (* (ptr) seg←v19256 ))+7) ); (void) ( *( (fPt) ((* (ptr) pd237 ))))(seg←v19256, (* (( (ptr) formal←c95684)+6) ), 1, 1, 1, 0 , (* (( (ptr) formal←c95684)+8) ), (* (( (ptr) formal←c95684)+9) ), (* (( (ptr) formal←c95684)+10) ), (* (( (ptr) formal←c95684)+11) ), pd237); }; }; }; if (( (int)index←v19212 >= (int)noName←c86660)) { goto lab←L100020; }; index←v19212 = (index←v19212 + 1); goto lab←L100023; lab←L100020: ; }; } static void TransformNone←P4524(formal←c95748) word formal←c95748; { register ptr gf←c95716 = (ptr) &globalframe; word hiSegment←v19300; formal←c95748 = (formal←c95748 - 52); /* TransformNone: */ SOURCE(17597, 249) SOURCE(17621, 40) { word pd238; pd238 = (* (( (ptr) (* (( (ptr) gf←c95716)+161)/* var←c84516 */ ))+37) ); hiSegment←v19300 = (word) ( *( (fPt) ((* (ptr) pd238 ))))((* ((( (ptr) formal←c95748)+4)) ), pd238); }; SOURCE(17663, 38) { W2 var←c86692; { word pd239; pd239 = (* (( (ptr) (* (( (ptr) gf←c95716)+161)/* var←c84516 */ ))+32) ); (void) ( *( (fPt) ((* (ptr) pd239 ))))((word) &var←c86692, (* (( (ptr) formal←c95748)+4) ), 0, pd239); }; { word pd240; pd240 = (* (( (ptr) formal←c95748)+7) ); (void) ( *( (fPt) ((* (ptr) pd240 ))))(var←c86692, pd240); }; }; SOURCE(17703, 143) { register word index←v19344 = 0; register word noName←c86724; noName←c86724 = hiSegment←v19300; if (( (int)index←v19344 > (int)noName←c86724)) { goto lab←L100024; }; lab←L100027: ; { word seg←v19388; SOURCE(17739, 48) { word pd241; pd241 = (* (( (ptr) (* (( (ptr) gf←c95716)+161)/* var←c84516 */ ))+29) ); seg←v19388 = (word) ( *( (fPt) ((* (ptr) pd241 ))))((* (( (ptr) formal←c95748)+4) ), SGNCK(index←v19344), pd241); }; SOURCE(17789, 57) { word pd242; pd242 = (* (( (ptr) (* (ptr) seg←v19388 ))+6) ); (void) ( *( (fPt) ((* (ptr) pd242 ))))(seg←v19388, (* (( (ptr) formal←c95748)+8) ), (* (( (ptr) formal←c95748)+9) ), (* ( ( (ptr) formal←c95748)+10) ), (* (( (ptr) formal←c95748)+11) ), pd242); }; }; if (( (int)index←v19344 >= (int)noName←c86724)) { goto lab←L100024; }; index←v19344 = (index←v19344 + 1); goto lab←L100027; lab←L100024: ; }; } static void TrajDrawBorder←P840(formal←c01319, formal←c01320, formal←c01321, formal←c01322, formal←c01323, formal←c01324, quick←v9352, formal←c01325) word formal←c01319; word formal←c01320; word formal←c01321; word formal←c01322; word formal←c01323; word formal←c01324; word quick←v9352; word formal←c01325; { W13 var←c95780; /* declaration of slice←v9184 skipped */ /* declaration of drawParts←v9212 skipped */ /* declaration of transformParts←v9240 skipped */ /* declaration of transform←v9268 skipped */ /* declaration of dc←v9296 skipped */ /* declaration of camera←v9324 skipped */ /* declaration of editConstraints←v9380 skipped */ register ptr gf←c95812 = (ptr) &globalframe; /* declaration of var←c86756 skipped */ (* (( (ptr) &var←c95780)+4)/* slice←v9184 */ ) = formal←c01319; (* (( (ptr) &var←c95780)+5)/* drawParts←v9212 */ ) = formal←c01320; (* (( (ptr) &var←c95780)+6)/* transformParts←v9240 */ ) = formal←c01321; (* (( (ptr) &var←c95780)+7)/* transform←v9268 */ ) = formal←c01322; (* (( (ptr) &var←c95780)+8)/* dc←v9296 */ ) = formal←c01323; (* (( (ptr) &var←c95780)+9)/* camera←v9324 */ ) = formal←c01324; (* (( (ptr) &var←c95780)+10)/* editConstraints←v9380 */ ) = formal←c01325; /* TrajDrawBorder: */ SOURCE(17976, 1015) { word tmpAddr243; tmpAddr243 = (word) (( (ptr) &var←c95780)+11)/* var←c86756 */ ; (* (ptr) tmpAddr243 ) = ( ((word) (fPt) DoTrajDrawBorder←P4872) ); (* (( (ptr) tmpAddr243) + 1) ) = 1; }; SOURCE(18956, 35) { word pd244; pd244 = (* (( (ptr) (* (( (ptr) gf←c95812)+167)/* var←c86788 */ ))+12) ); (void) ( *( (fPt) ((* (ptr) pd244 ))))((* (( (ptr) &var←c95780)+8)/* dc←v9296 */ ), (word) (( (bPt) &var←c95780)+44)/* var←c86756 */ , pd244) ; }; } static void DoTrajDrawBorder←P4872(formal←c95876) word formal←c95876; { register ptr gf←c95844 = (ptr) &globalframe; word trajDrawParts←v19492; word trajTransformParts←v19520; word drawEntireTraj←v19548; word transformNone←v19576; word transformEntireTraj←v19604; formal←c95876 = (formal←c95876 - 44); /* DoTrajDrawBorder: */ SOURCE(18184, 767) SOURCE(18211, 44) trajDrawParts←v19492 = XR←Narrow((* (( (ptr) formal←c95876)+5) ), (* (( (ptr) gf←c95844)+15) )); SOURCE(18257, 54) trajTransformParts←v19520 = XR←Narrow((* (( (ptr) formal←c95876)+6) ), (* (( (ptr) gf←c95844)+15) )); SOURCE(18384, 74) { word pd245; if ((trajDrawParts←v19492 == 0)) { drawEntireTraj←v19548 = (unsigned) 1; } else { pd245 = (* (( (ptr) (* (( (ptr) gf←c95844)+159)/* var←c84100 */ ))+26) ); drawEntireTraj←v19548 = (unsigned) (0 != (word) ( *( (fPt) ((* (ptr) pd245 ))))(trajDrawParts←v19492, pd245)); }; }; SOURCE(18460, 29) transformNone←v19576 = (unsigned) ((* (( (ptr) formal←c95876)+7) ) == 0); SOURCE(18491, 113) { word pd246; if ((0 == transformNone←v19576)) { if ((trajTransformParts←v19520 == 0)) { transformEntireTraj←v19604 = (unsigned) 1; } else { pd246 = (* (( (ptr) (* (( (ptr) gf←c95844)+159)/* var←c84100 */ ))+26) ); transformEntireTraj←v19604 = (unsigned) (0 != (word) ( *( (fPt) ((* (ptr) pd246 ))))(trajTransformParts←v19520, pd246)); }; } else { transformEntireTraj←v19604 = (unsigned) 0; }; }; SOURCE(18607, 344) { word tc247; word pd248; if ((0 != drawEntireTraj←v19548)) { if ((0 != transformNone←v19576)) { tc247 = (word) 1; } else { if ((0 != transformEntireTraj←v19604)) { pd248 = (* (( (ptr) (* (( (ptr) gf←c95844)+156)/* var←c83940 */ ))+55) ); tc247 = (word) (0 != (word) ( *( (fPt) ((* (ptr) pd248 ))))((* (( (ptr) formal←c95876)+7) ), (* (( (ptr) gf←c95844)+5)/* identity←v5912 */ ), (* (ptr) &fc249 ), pd248) ); } else { tc247 = (word) 0; }; }; } else { tc247 = (word) 0; }; if (tc247) { SOURCE(18740, 64) (void) CachedDrawBorder←P1380((* (( (ptr) formal←c95876)+8) ), (* (( (ptr) formal←c95876)+4) ), (* (( (ptr) formal←c95876)+7) ), trajTransformParts←v19520); } else { SOURCE(18804, 147) (void) DrawBorderAux←P1500((* (( (ptr) formal←c95876)+4) ), trajDrawParts←v19492, trajTransformParts←v19520, (* (( (ptr) formal←c95876)+7) ), (* (( (ptr) formal←c95876)+8) ), (* (( (ptr) formal←c95876)+9) ) , (* (( (ptr) formal←c95876)+10) ), drawEntireTraj←v19548, transformNone←v19576, transformEntireTraj←v19604); }; }; } static void TrajDrawParts←P900(slice←v9440, parts←v9468, dc←v9496, camera←v9524, quick←v9552) word slice←v9440; word parts←v9468; word dc←v9496; word camera←v9524; word quick←v9552; { register ptr gf←c95908 = (ptr) &globalframe; word cpCount←v19648; word seg←v19676 = 0; word trajData←v19704; word trajParts←v19732; /* TrajDrawParts: */ SOURCE(19058, 925) SOURCE(19199, 39) trajData←v19704 = XR←Narrow((* (( (ptr) slice←v9440)+1) ), (* (( (ptr) gf←c95908)+10) )); SOURCE(19240, 36) trajParts←v19732 = XR←Narrow(parts←v9468, (* (( (ptr) gf←c95908)+15) )); SOURCE(19278, 705) if ((trajParts←v19732 == 0)) { SOURCE(19300, 25) (void) DrawTraj←P1740(dc←v9496, slice←v9440); } else { SOURCE(19325, 658) if ((0 != (word) AllStrokePropsAndColorsEqual←P2340(slice←v9440))) { SOURCE(19369, 47) (void) DrawSingleStrokeTrajSeq←P1800(dc←v9496, slice←v9440, parts←v9468); } else { SOURCE(19416, 590) { word hiSegment←v19776; SOURCE(19418, 40) { word pd250; pd250 = (* (( (ptr) (* (( (ptr) gf←c95908)+161)/* var←c84516 */ ))+37) ); hiSegment←v19776 = (word) ( *( (fPt) ((* (ptr) pd250 ))))(slice←v9440, pd250); }; SOURCE(19460, 47) { word pd251; pd251 = (* (( (ptr) (* (( (ptr) gf←c95908)+167)/* var←c86788 */ ))+70) ); (void) ( *( (fPt) ((* (ptr) pd251 ))))(dc←v9496, (* (( (ptr) trajData←v19704)+6) ), pd251); }; SOURCE(19509, 474) { register word i←v19820 = 0; register word noName←c86820; word var←c86852; noName←c86820 = hiSegment←v19776; if (( (int)i←v19820 > (int)noName←c86820)) { goto lab←L100028; }; lab←L100031: ; SOURCE(19541, 442) { word limit252; var←c86852 = (* (ptr) trajParts←v19732 ); if (XR←ExtractField(var←c86852, 32 + (word) ( limit252 = (* (ptr) var←c86852 ), BCK(i←v19820, limit252) ), 1)) { SOURCE(19573, 35) { word pd253; pd253 = (* (( (ptr) (* (( (ptr) gf←c95908)+161)/* var←c84516 */ ))+29) ); seg←v19676 = (word) ( *( (fPt) ((* (ptr) pd253 ))))(slice←v9440, SGNCK(i←v19820), pd253); }; SOURCE(19610, 45) { word x254; word x255; if ((( x254 = (* (( (ptr) seg←v19676)+2) ), *(float*)&x254 ) == ( x255 = (* (ptr) &fc123 ), *(float*)&x255 )) || ((* (( (ptr) seg←v19676)+8) ) == 0)) { SOURCE(19655, 4) goto lab←L100030; }; }; SOURCE(19661, 42) { word pd256; pd256 = (* (( (ptr) (* (( (ptr) gf←c95908)+167)/* var←c86788 */ ))+68) ); (void) ( *( (fPt) ((* (ptr) pd256 ))))(dc←v9496, (* (( (ptr) seg←v19676)+2) ), pd256); }; SOURCE(19705, 38) { word pd257; pd257 = (* (( (ptr) (* (( (ptr) gf←c95908)+167)/* var←c86788 */ ))+69) ); (void) ( *( (fPt) ((* (ptr) pd257 ))))(dc←v9496, (* (( (ptr) seg←v19676)+3) ), pd257); }; SOURCE(19745, 30) { word pd258; pd258 = (* (( (ptr) (* (( (ptr) gf←c95908)+167)/* var←c86788 */ ))+52) ); (void) ( *( (fPt) ((* (ptr) pd258 ))))(dc←v9496, (* (( (ptr) seg←v19676)+8) ), pd258); }; SOURCE(19777, 22) (void) SegMaskStroke←P2160(dc←v9496, seg←v19676); SOURCE(19801, 42) { word pd259; pd259 = (* (( (ptr) (* (ptr) seg←v19676 ))+17) ); cpCount←v19648 = (word) ( *( (fPt) ((* (ptr) pd259 ))))(seg←v19676, pd259); }; SOURCE(19845, 138) { register word j←v19864 = 0; register word noName←c86884; word var←c86948; noName←c86884 = cpCount←v19648; if ((j←v19864 >= noName←c86884)) { goto lab←L100032; }; lab←L100035: ; SOURCE(19875, 108) { word limit261; { /*1*/ word var←c86916; /*1*/ var←c86916 = (* (( (ptr) trajParts←v19732)+2) ); /*1*/ { /*1*/ word limit260; /*1*/ var←c86948 = (* ((( (ptr) var←c86916)+1)+( /*1*/ limit260 = (* (ptr) var←c86916 ), /*1*/ BCK(i←v19820, limit260) /*1*/ )) ); /*1*/ }; /*1*/ }; if (XR←ExtractField(var←c86948, 32 + (word) ( /*1*/ limit261 = (* (ptr) var←c86948 ), /*1*/ BCK(j←v19864, limit261) /*1*/ ), 1)) { SOURCE(19913, 70) /*1*/ { /*1*/ W2 var←c86980; /*1*/ { /*1*/ word pd262; /*1*/ pd262 = (* (( (ptr) (* (ptr) seg←v19676 ))+16) ); /*1*/ (void) ( *( (fPt) ((* (ptr) pd262 ))))((word) &var←c86980, seg←v19676, j←v19864, pd262); /*1*/ }; /*1*/ { /*1*/ word pd263; /*1*/ pd263 = (* (( (ptr) (* (( (ptr) gf←c95908)+168)/* var←c87012 */ ))+19) ); /*1*/ (void) ( *( (fPt) ((* (ptr) pd263 ))))(dc←v9496, var←c86980, (* (( (ptr) camera←v9524)+4) ), pd263); /*1*/ }; /*1*/ }; /*1*/ }; }; j←v19864 = (j←v19864 + 1); if ((j←v19864 < noName←c86884)) { goto lab←L100035; }; lab←L100032: ; }; }; }; lab←L100030: ; if (( (int)i←v19820 >= (int)noName←c86820)) { goto lab←L100028; }; i←v19820 = (i←v19820 + 1); goto lab←L100031; lab←L100028: ; }; }; }; }; } static void TrajDrawTransform←P960(slice←v9612, parts←v9640, dc←v9668, camera←v9696, transform←v9724, editConstraints←v9752) word slice←v9612; word parts←v9640; word dc←v9668; word camera←v9696; word transform←v9724; word editConstraints←v9752; { /* TrajDrawTransform: */ SOURCE(20013, 266) SOURCE(20199, 80) (void) TrajDrawBorder←P840(slice←v9612, 0, parts←v9640, transform←v9724, dc←v9668, camera←v9696 , 0, editConstraints←v9752); } static void TrajDrawSelectionFeedback←P1020(formal←c01326, formal←c01327, formal←c01328, formal←c01329, formal←c01330, dragInProgress←v9952, caretIsMoving←v9980, hideHot←v10008, quick←v10036) word formal←c01326; word formal←c01327; word formal←c01328; word formal←c01329; word formal←c01330; word dragInProgress←v9952; word caretIsMoving←v9980; word hideHot←v10008; word quick←v10036; { W11 var←c95940; /* declaration of slice←v9812 skipped */ /* declaration of selectedParts←v9840 skipped */ /* declaration of hotParts←v9868 skipped */ /* declaration of dc←v9896 skipped */ /* declaration of camera←v9924 skipped */ register ptr gf←c95972 = (ptr) &globalframe; /* declaration of var←c87044 skipped */ word trajData←v19936; (* (( (ptr) &var←c95940)+4)/* slice←v9812 */ ) = formal←c01326; (* (( (ptr) &var←c95940)+5)/* selectedParts←v9840 */ ) = formal←c01327; (* (( (ptr) &var←c95940)+6)/* hotParts←v9868 */ ) = formal←c01328; (* (( (ptr) &var←c95940)+7)/* dc←v9896 */ ) = formal←c01329; (* (( (ptr) &var←c95940)+8)/* camera←v9924 */ ) = formal←c01330; /* TrajDrawSelectionFeedback: */ SOURCE(20285, 2173) { word tmpAddr264; tmpAddr264 = (word) (( (ptr) &var←c95940)+9)/* var←c87044 */ ; (* (ptr) tmpAddr264 ) = ( ((word) (fPt) DoDrawFeedback←P5076) ); (* (( (ptr) tmpAddr264) + 1) ) = 1; }; SOURCE(22252, 39) trajData←v19936 = XR←Narrow((* (( (ptr) (* (( (ptr) &var←c95940)+4)/* slice←v9812 */ ))+1) ), (* (( (ptr) gf←c95972)+10) )); SOURCE(22293, 46) if (((0 != caretIsMoving←v9980) || (0 != dragInProgress←v9952))) { SOURCE(22333, 6) return; }; SOURCE(22341, 49) if ( ( ((* (( (ptr) &var←c95940)+5)/* selectedParts←v9840 */ ) == 0) ? ((* (( (ptr) &var←c95940)+6)/* hotParts←v9868 */ ) == 0) : 0 ) ) { SOURCE(22384, 6) return; }; SOURCE(22392, 66) if (((* (ptr) (* (( (ptr) &var←c95940)+8)/* camera←v9924 */ ) ) != 2)) { SOURCE(22425, 33) { word pd265; pd265 = (* (( (ptr) (* (( (ptr) gf←c95972)+167)/* var←c86788 */ ))+12) ); (void) ( *( (fPt) ((* (ptr) pd265 ))))((* (( (ptr) &var←c95940)+7)/* dc←v9896 */ ), (word) (( (bPt) &var←c95940)+36)/* var←c87044 */ , pd265) ; }; }; } static void DoDrawFeedback←P5076(formal←c96036) word formal←c96036; { register ptr gf←c96004 = (ptr) &globalframe; word segGen←v19996 = 0; word jointGen←v20024 = 0; word seg←v20052 = 0; word someNormal←v20080; word someHot←v20108; word thisCPisHot←v20136; word thisCPisSelected←v20164; W2 point←v20192; word sliceTrajData←v20220; word selectedTrajParts←v20248; word hotTrajParts←v20276; formal←c96036 = (formal←c96036 - 36); /* DoDrawFeedback: */ SOURCE(20474, 1752) SOURCE(20663, 44) sliceTrajData←v20220 = XR←Narrow((* (( (ptr) (* (( (ptr) formal←c96036)+4) ))+1) ), (* (( (ptr) gf←c96004)+10) )); SOURCE(20709, 52) selectedTrajParts←v20248 = XR←Narrow((* (( (ptr) formal←c96036)+5) ), (* (( (ptr) gf←c96004)+15) )); SOURCE(20763, 42) hotTrajParts←v20276 = XR←Narrow((* (( (ptr) formal←c96036)+6) ), (* (( (ptr) gf←c96004)+15) )); SOURCE(20807, 49) { word pd266; pd266 = (* (( (ptr) (* (( (ptr) gf←c96004)+159)/* var←c84100 */ ))+56) ); jointGen←v20024 = (word) ( *( (fPt) ((* (ptr) pd266 ))))(sliceTrajData←v20220, pd266); }; SOURCE(20858, 527) { register word i←v20320; { word pd267; pd267 = (* (( (ptr) (* (( (ptr) gf←c96004)+159)/* var←c84100 */ ))+61) ); i←v20320 = (word) ( *( (fPt) ((* (ptr) pd267 ))))(jointGen←v20024, pd267); }; lab←L100039: ; if (( (int)i←v20320 != (int) (word) -1)) { } else { goto lab←L100036; }; SOURCE(20950, 57) if ((hotTrajParts←v20276 != 0)) { { word var←c87076; var←c87076 = (* (( (ptr) hotTrajParts←v20276)+1) ); { word limit268; thisCPisHot←v20136 = (unsigned) XR←ExtractField(var←c87076, 32 + (word) ( limit268 = (* (ptr) var←c87076 ), BCK(i←v20320, limit268) ), 1); }; }; } else { thisCPisHot←v20136 = (unsigned) 0; }; SOURCE(21009, 72) if ((selectedTrajParts←v20248 != 0)) { { word var←c87108; var←c87108 = (* (( (ptr) selectedTrajParts←v20248)+1) ); { word limit269; thisCPisSelected←v20164 = (unsigned) XR←ExtractField(var←c87108, 32 + (word) ( limit269 = (* (ptr) var←c87108 ), BCK(i←v20320, limit269) ), 1); }; }; } else { thisCPisSelected←v20164 = (unsigned) 0; }; SOURCE(21083, 38) { word pd270; pd270 = (* (( (ptr) (* (( (ptr) gf←c96004)+161)/* var←c84516 */ ))+32) ); (void) ( *( (fPt) ((* (ptr) pd270 ))))((word) &point←v20192, (* (( (ptr) formal←c96036)+4) ), SGNCK(i←v20320), pd270); }; SOURCE(21123, 78) if ((0 != thisCPisHot←v20136)) { SOURCE(21143, 58) { word pd271; pd271 = (* (( (ptr) (* (( (ptr) gf←c96004)+168)/* var←c87012 */ ))+20) ); (void) ( *( (fPt) ((* (ptr) pd271 ))))((* (( (ptr) formal←c96036)+7) ), point←v20192, 1, (* (( (ptr) (* (( (ptr) formal←c96036)+8) ))+4) ), pd271); }; }; SOURCE(21203, 86) if ((0 != thisCPisSelected←v20164)) { SOURCE(21228, 61) { word pd272; pd272 = (* (( (ptr) (* (( (ptr) gf←c96004)+168)/* var←c87012 */ ))+20) ); (void) ( *( (fPt) ((* (ptr) pd272 ))))((* (( (ptr) formal←c96036)+7) ), point←v20192, 0, (* (( (ptr) (* (( (ptr) formal←c96036)+8) ))+4) ), pd272); }; }; SOURCE(21291, 94) if ( ( (0 == thisCPisHot←v20136) ? (0 == thisCPisSelected←v20164) : 0 ) ) { SOURCE(21340, 45) { word pd273; pd273 = (* (( (ptr) (* (( (ptr) gf←c96004)+168)/* var←c87012 */ ))+18) ); (void) ( *( (fPt) ((* (ptr) pd273 ))))((* (( (ptr) formal←c96036)+7) ), point←v20192, (* (( (ptr) (* (( (ptr) formal←c96036)+8) ))+4) ), pd273); }; }; { word pd274; pd274 = (* (( (ptr) (* (( (ptr) gf←c96004)+159)/* var←c84100 */ ))+61) ); i←v20320 = (word) ( *( (fPt) ((* (ptr) pd274 ))))(jointGen←v20024, pd274); }; goto lab←L100039; lab←L100036: ; }; SOURCE(21396, 34) someNormal←v20080 = (unsigned) (selectedTrajParts←v20248 != 0); SOURCE(21432, 26) someHot←v20108 = (unsigned) (hotTrajParts←v20276 != 0); SOURCE(21460, 49) { word pd275; pd275 = (* (( (ptr) (* (( (ptr) gf←c96004)+159)/* var←c84100 */ ))+40) ); segGen←v19996 = (word) ( *( (fPt) ((* (ptr) pd275 ))))(sliceTrajData←v20220, pd275); }; SOURCE(21511, 715) { W2 next←v20364; { word pd276; pd276 = (* (( (ptr) (* (( (ptr) gf←c96004)+159)/* var←c84100 */ ))+47) ); (void) ( *( (fPt) ((* (ptr) pd276 ))))((word) &next←v20364, segGen←v19996, pd276); }; lab←L100043: ; if ((next←v20364.f0 != 0)) { } else { goto lab←L100040; }; { word i←v20408; SOURCE(21647, 19) i←v20408 = next←v20364.f1; SOURCE(21668, 14) seg←v20052 = next←v20364.f0; SOURCE(21684, 542) if (((0 != someNormal←v20080) || (0 != someHot←v20108))) { SOURCE(21716, 510) { register word j←v20452 = 0; register word noName←c87140; { word pd277; pd277 = (* (( (ptr) (* (ptr) seg←v20052 ))+17) ); noName←c87140 = (word) ( *( (fPt) ((* (ptr) pd277 ))))(seg←v20052, pd277); }; if (( (int)j←v20452 >= (int)noName←c87140)) { goto lab←L100044; }; lab←L100047: ; SOURCE(21771, 67) if ((hotTrajParts←v20276 != 0)) { { word var←c87204; word var←c87172; { word limit278; var←c87172 = (* (( (ptr) hotTrajParts←v20276)+2) ); var←c87204 = (* ((( (ptr) var←c87172)+1)+( /*1*/ limit278 = (* (ptr) var←c87172 ), /*1*/ BCK(i←v20408, limit278) /*1*/ )) ); }; { word limit279; thisCPisHot←v20136 = (unsigned) XR←ExtractField(var←c87204, 32 + (word) ( /*1*/ limit279 = (* (ptr) var←c87204 ), /*1*/ BCK(j←v20452, limit279) /*1*/ ), 1); }; }; } else { thisCPisHot←v20136 = (unsigned) 0; }; SOURCE(21840, 82) if ((selectedTrajParts←v20248 != 0)) { { word var←c87268; word var←c87236; { word limit280; var←c87236 = (* (( (ptr) selectedTrajParts←v20248)+2) ); var←c87268 = (* ((( (ptr) var←c87236)+1)+( /*1*/ limit280 = (* (ptr) var←c87236 ), /*1*/ BCK(i←v20408, limit280) /*1*/ )) ); }; { word limit281; thisCPisSelected←v20164 = (unsigned) XR←ExtractField(var←c87268, 32 + (word) ( /*1*/ limit281 = (* (ptr) var←c87268 ), /*1*/ BCK(j←v20452, limit281) /*1*/ ), 1); }; }; } else { thisCPisSelected←v20164 = (unsigned) 0; }; SOURCE(21924, 41) { word pd282; pd282 = (* (( (ptr) (* (ptr) seg←v20052 ))+16) ); (void) ( *( (fPt) ((* (ptr) pd282 ))))((word) &point←v20192, seg←v20052, SGNCK(j←v20452), pd282); }; SOURCE(21967, 78) if ((0 != thisCPisHot←v20136)) { SOURCE(21987, 58) { word pd283; pd283 = (* (( (ptr) (* (( (ptr) gf←c96004)+168)/* var←c87012 */ ))+20) ); (void) ( *( (fPt) ((* (ptr) pd283 ))))((* (( (ptr) formal←c96036)+7) ), point←v20192, 1, (* (( (ptr) (* (( (ptr) formal←c96036)+8) ))+4) ), pd283); }; }; SOURCE(22047, 86) if ((0 != thisCPisSelected←v20164)) { SOURCE(22072, 61) { word pd284; pd284 = (* (( (ptr) (* (( (ptr) gf←c96004)+168)/* var←c87012 */ ))+20) ); (void) ( *( (fPt) ((* (ptr) pd284 ))))((* (( (ptr) formal←c96036)+7) ), point←v20192, 0, (* (( (ptr) (* (( (ptr) formal←c96036)+8) ))+4) ), pd284); }; }; SOURCE(22135, 91) if ( ( (0 == thisCPisHot←v20136) ? (0 == thisCPisSelected←v20164) : 0 ) ) { SOURCE(22184, 42) { word pd285; pd285 = (* (( (ptr) (* (( (ptr) gf←c96004)+168)/* var←c87012 */ ))+19) ); (void) ( *( (fPt) ((* (ptr) pd285 ))))((* (( (ptr) formal←c96036)+7) ), point←v20192, (* (( (ptr) (* (( (ptr) formal←c96036)+8) ))+4) ), pd285); }; }; j←v20452 = (j←v20452 + 1); if (( (int)j←v20452 < (int)noName←c87140)) { goto lab←L100047; }; lab←L100044: ; }; }; }; { word pd286; pd286 = (* (( (ptr) (* (( (ptr) gf←c96004)+159)/* var←c84100 */ ))+47) ); (void) ( *( (fPt) ((* (ptr) pd286 ))))((word) &next←v20364, segGen←v19996, pd286); }; goto lab←L100043; lab←L100040: ; }; } static void TrajDrawAttractorFeedback←P1080(slice←v10096, attractorParts←v10124, selectedParts←v10152, dragInProgress←v10180, dc←v10208, camera←v10236, editConstraints←v10264) word slice←v10096; word attractorParts←v10124; word selectedParts←v10152; word dragInProgress←v10180; word dc←v10208; word camera←v10236; word editConstraints←v10264; { register ptr gf←c96068 = (ptr) &globalframe; word success←v20496 = 0; word partType←v20524; word traj←v20552; word seg←v20580 = 0; word jointNum←v20608; word segNum←v20636; /* TrajDrawAttractorFeedback: */ SOURCE(22464, 1489) SOURCE(22709, 18) traj←v20552 = slice←v10096; SOURCE(22767, 122) { W10 var←c87300; { word pd287; pd287 = (* (( (ptr) (* (( (ptr) gf←c96068)+161)/* var←c84516 */ ))+52) ); (void) ( *( (fPt) ((* (ptr) pd287 ))))((word) &var←c87300, slice←v10096, attractorParts←v10124, pd287); }; segNum←v20636 = (* (( (ptr) &var←c87300)+9) ); seg←v20580 = (* (( (ptr) &var←c87300)+8) ); jointNum←v20608 = (* (( (ptr) &var←c87300)+4) ); partType←v20524 = (* (( (ptr) &var←c87300)+1) ); success←v20496 = (* (ptr) &var←c87300 ); }; SOURCE(22891, 20) if ((0 == success←v20496)) { SOURCE(22911, 5) (void) XR←RaiseUnnamedError(); }; SOURCE(22935, 1018) { word var←c87332; var←c87332 = partType←v20524; switch (var←c87332) { case 1: SOURCE(22965, 926) { word prev←v20680; word previous←v20708; word this←v20736; SOURCE(23028, 54) { word pd288; pd288 = (* (( (ptr) (* (( (ptr) gf←c96068)+161)/* var←c84516 */ ))+42) ); prev←v20680 = (word) ( *( (fPt) ((* (ptr) pd288 ))))(slice←v10096, jointNum←v20608, pd288); }; SOURCE(23084, 59) { word pd289; pd289 = (* (( (ptr) (* (( (ptr) gf←c96068)+161)/* var←c84516 */ ))+41) ); previous←v20708 = (word) ( *( (fPt) ((* (ptr) pd289 ))))(slice←v10096, jointNum←v20608, pd289); }; SOURCE(23145, 105) { word tc290; word pd291; word pd292; pd291 = (* (( (ptr) (* (( (ptr) gf←c96068)+161)/* var←c84516 */ ))+37) ); if ((jointNum←v20608 <= (word) ( *( (fPt) ((* (ptr) pd291 ))))(slice←v10096, pd291))) { pd292 = (* (( (ptr) (* (( (ptr) gf←c96068)+161)/* var←c84516 */ ))+29) ); tc290 = (word) ( *( (fPt) ((* (ptr) pd292 ))))(slice←v10096, jointNum←v20608, pd292); } else { tc290 = (word) 0; }; this←v20736 = tc290; }; SOURCE(23252, 634) if ((selectedParts←v10152 == 0)) { SOURCE(23280, 59) if ((previous←v20708 != 0)) { SOURCE(23301, 38) (void) DrawCpsAndJoints←P1860(dc←v10208, previous←v20708, camera←v10236, 0, 999, 0); }; SOURCE(23341, 51) if ((this←v20736 != 0)) { SOURCE(23358, 34) (void) DrawCpsAndJoints←P1860(dc←v10208, this←v20736, camera←v10236, 0, 999, 0); }; } else { { word var←c87364; word var←c87428; word var←c87460; SOURCE(23403, 222) { word tc293; word pd294; if ((this←v20736 != 0)) { if ((0 == dragInProgress←v10180)) { /*1*/ tc293 = (word) 1; /*1*/ } else { /*1*/ var←c87364 = XR←Narrow(selectedParts←v10152, (* (( (ptr) gf←c96068)+15) )); /*1*/ pd294 = (* (( (ptr) (* (( (ptr) gf←c96068)+159)/* var←c84100 */ ))+32) ); /*1*/ tc293 = (word) (0 == (word) ( *( (fPt) ((* (ptr) pd294 ))))(var←c87364, jointNum←v20608, pd294)); /*1*/ }; } else { tc293 = (word) 0; }; if (tc293) { SOURCE(23514, 111) { /*1*/ word var←c87396; /*1*/ { /*1*/ word pd295; /*1*/ pd295 = (* (( (ptr) (* (( (ptr) gf←c96068)+157)/* var←c84004 */ ))+8) ); /*1*/ var←c87396 = (word) ( *( (fPt) ((* (ptr) pd295 ))))(traj←v20552, selectedParts←v10152, pd295); /*1*/ }; /*1*/ (void) DrawCpsAndJoints←P1860(dc←v10208, this←v20736, camera←v10236, var←c87396, jointNum←v20608, editConstraints←v10264) /*1*/ ; /*1*/ }; }; }; SOURCE(23627, 259) { word tc296; word pd299; if ((previous←v20708 != 0)) { if ((0 == dragInProgress←v10180)) { /*1*/ tc296 = (word) 1; /*1*/ } else { /*1*/ var←c87428 = XR←Narrow(selectedParts←v10152, (* (( (ptr) gf←c96068)+15) )); /*1*/ { /*1*/ word pd297; /*1*/ word idx298; /*1*/ pd297 = (* (( (ptr) (* (( (ptr) gf←c96068)+161)/* var←c84516 */ ))+42) ); /*1*/ var←c87460 = ( /*1*/ idx298 = (word) ( *( (fPt) ((* (ptr) pd297 ))))(traj←v20552, jointNum←v20608, pd297), /*1*/ SGNCK(idx298) /*1*/ ); /*1*/ }; /*1*/ pd299 = (* (( (ptr) (* (( (ptr) gf←c96068)+159)/* var←c84100 */ ))+32) ); /*1*/ tc296 = (word) (0 == (word) ( *( (fPt) ((* (ptr) pd299 ))))(var←c87428, var←c87460, pd299)); /*1*/ }; } else { tc296 = (word) 0; }; if (tc296) { SOURCE(23775, 111) { /*1*/ word var←c87492; /*1*/ { /*1*/ word pd300; /*1*/ pd300 = (* (( (ptr) (* (( (ptr) gf←c96068)+157)/* var←c84004 */ ))+8) ); /*1*/ var←c87492 = (word) ( *( (fPt) ((* (ptr) pd300 ))))(traj←v20552, selectedParts←v10152, pd300); /*1*/ }; /*1*/ (void) DrawCpsAndJoints←P1860(dc←v10208, previous←v20708, camera←v10236, var←c87492, SGNCK(prev←v20680), editConstraints←v10264) /*1*/ ; /*1*/ }; }; }; }; }; }; break; case 3: case 2: SOURCE(23920, 33) (void) DrawCpsAndJoints←P1860(dc←v10208, seg←v20580, camera←v10236, 0, 999, 0); break; }; }; } static word TrajAttractorFeedbackBoundBox←P1140(slice←v10324, attractorParts←v10352, selectedParts←v10380, dragInProgress←v10408, camera←v10436, editConstraints←v10464) word slice←v10324; word attractorParts←v10352; word selectedParts←v10380; word dragInProgress←v10408; word camera←v10436; word editConstraints←v10464; { register ptr gf←c96100 = (ptr) &globalframe; word box←v10508; word success←v20780 = 0; word partType←v20808; word traj←v20836; word seg←v20864 = 0; word jointNum←v20892; word segNum←v20920; /* TrajAttractorFeedbackBoundBox: */ SOURCE(23976, 1656) SOURCE(23976, 1656) box←v10508 = 0; SOURCE(24229, 18) traj←v20836 = slice←v10324; SOURCE(24287, 31) { word pd301; pd301 = (* (( (ptr) (* (( (ptr) gf←c96100)+158)/* var←c84068 */ ))+6) ); box←v10508 = (word) ( *( (fPt) ((* (ptr) pd301 ))))(pd301); }; SOURCE(24320, 122) { W10 var←c87524; { word pd302; pd302 = (* (( (ptr) (* (( (ptr) gf←c96100)+161)/* var←c84516 */ ))+52) ); (void) ( *( (fPt) ((* (ptr) pd302 ))))((word) &var←c87524, slice←v10324, attractorParts←v10352, pd302); }; segNum←v20920 = (* (( (ptr) &var←c87524)+9) ); seg←v20864 = (* (( (ptr) &var←c87524)+8) ); jointNum←v20892 = (* (( (ptr) &var←c87524)+4) ); partType←v20808 = (* (( (ptr) &var←c87524)+1) ); success←v20780 = (* (ptr) &var←c87524 ); }; SOURCE(24444, 20) if ((0 == success←v20780)) { SOURCE(24464, 5) (void) XR←RaiseUnnamedError(); }; SOURCE(24488, 1048) { word var←c87556; var←c87556 = partType←v20808; switch (var←c87556) { case 1: SOURCE(24518, 950) { word prev←v20964; word previous←v20992; word this←v21020; SOURCE(24581, 54) { word pd303; pd303 = (* (( (ptr) (* (( (ptr) gf←c96100)+161)/* var←c84516 */ ))+42) ); prev←v20964 = (word) ( *( (fPt) ((* (ptr) pd303 ))))(slice←v10324, jointNum←v20892, pd303); }; SOURCE(24637, 59) { word pd304; pd304 = (* (( (ptr) (* (( (ptr) gf←c96100)+161)/* var←c84516 */ ))+41) ); previous←v20992 = (word) ( *( (fPt) ((* (ptr) pd304 ))))(slice←v10324, jointNum←v20892, pd304); }; SOURCE(24698, 105) { word tc305; word pd306; word pd307; pd306 = (* (( (ptr) (* (( (ptr) gf←c96100)+161)/* var←c84516 */ ))+37) ); if ((jointNum←v20892 <= (word) ( *( (fPt) ((* (ptr) pd306 ))))(slice←v10324, pd306))) { pd307 = (* (( (ptr) (* (( (ptr) gf←c96100)+161)/* var←c84516 */ ))+29) ); tc305 = (word) ( *( (fPt) ((* (ptr) pd307 ))))(slice←v10324, jointNum←v20892, pd307); } else { tc305 = (word) 0; }; this←v21020 = tc305; }; SOURCE(24805, 658) if ((selectedParts←v10380 == 0)) { SOURCE(24833, 65) if ((previous←v20992 != 0)) { SOURCE(24854, 44) (void) EnlargeByCpsAndJoints←P1920(box←v10508, previous←v20992, camera←v10436, 0, 999, 0); }; SOURCE(24900, 57) if ((this←v21020 != 0)) { SOURCE(24917, 40) (void) EnlargeByCpsAndJoints←P1920(box←v10508, this←v21020, camera←v10436, 0, 999, 0); }; } else { { word var←c87588; word var←c87652; word var←c87684; SOURCE(24968, 228) { word tc308; word pd309; if ((this←v21020 != 0)) { if ((0 == dragInProgress←v10408)) { /*1*/ tc308 = (word) 1; /*1*/ } else { /*1*/ var←c87588 = XR←Narrow(selectedParts←v10380, (* (( (ptr) gf←c96100)+15) )); /*1*/ pd309 = (* (( (ptr) (* (( (ptr) gf←c96100)+159)/* var←c84100 */ ))+32) ); /*1*/ tc308 = (word) (0 == (word) ( *( (fPt) ((* (ptr) pd309 ))))(var←c87588, jointNum←v20892, pd309)); /*1*/ }; } else { tc308 = (word) 0; }; if (tc308) { SOURCE(25079, 117) { /*1*/ word var←c87620; /*1*/ { /*1*/ word pd310; /*1*/ pd310 = (* (( (ptr) (* (( (ptr) gf←c96100)+157)/* var←c84004 */ ))+8) ); /*1*/ var←c87620 = (word) ( *( (fPt) ((* (ptr) pd310 ))))(traj←v20836, selectedParts←v10380, pd310); /*1*/ }; /*1*/ (void) EnlargeByCpsAndJoints←P1920(box←v10508, this←v21020, camera←v10436, var←c87620, jointNum←v20892, editConstraints←v10464) /*1*/ ; /*1*/ }; }; }; SOURCE(25198, 265) { word tc311; word pd314; if ((previous←v20992 != 0)) { if ((0 == dragInProgress←v10408)) { /*1*/ tc311 = (word) 1; /*1*/ } else { /*1*/ var←c87652 = XR←Narrow(selectedParts←v10380, (* (( (ptr) gf←c96100)+15) )); /*1*/ { /*1*/ word pd312; /*1*/ word idx313; /*1*/ pd312 = (* (( (ptr) (* (( (ptr) gf←c96100)+161)/* var←c84516 */ ))+42) ); /*1*/ var←c87684 = ( /*1*/ idx313 = (word) ( *( (fPt) ((* (ptr) pd312 ))))(traj←v20836, jointNum←v20892, pd312), /*1*/ SGNCK(idx313) /*1*/ ); /*1*/ }; /*1*/ pd314 = (* (( (ptr) (* (( (ptr) gf←c96100)+159)/* var←c84100 */ ))+32) ); /*1*/ tc311 = (word) (0 == (word) ( *( (fPt) ((* (ptr) pd314 ))))(var←c87652, var←c87684, pd314)); /*1*/ }; } else { tc311 = (word) 0; }; if (tc311) { SOURCE(25346, 117) { /*1*/ word var←c87716; /*1*/ { /*1*/ word pd315; /*1*/ pd315 = (* (( (ptr) (* (( (ptr) gf←c96100)+157)/* var←c84004 */ ))+8) ); /*1*/ var←c87716 = (word) ( *( (fPt) ((* (ptr) pd315 ))))(traj←v20836, selectedParts←v10380, pd315); /*1*/ }; /*1*/ (void) EnlargeByCpsAndJoints←P1920(box←v10508, previous←v20992, camera←v10436, var←c87716, SGNCK(prev←v20964), editConstraints←v10464) /*1*/ ; /*1*/ }; }; }; }; }; }; break; case 3: case 2: SOURCE(25497, 39) (void) EnlargeByCpsAndJoints←P1920(box←v10508, seg←v20864, camera←v10436, 0, 999, 0); break; }; }; SOURCE(25555, 77) { word pd316; word x318; word x319; word x320; float tf321; pd316 = (* (( (ptr) (* (( (ptr) gf←c96100)+158)/* var←c84068 */ ))+17) ); (void) ( *( (fPt) ((* (ptr) pd316 ))))(box←v10508, ( tf321 = (( x318 = (* (ptr) &fc317 ), *(float*)&x318 ) * ( x319 = (* (( (ptr) camera←v10436)+4) ), *(float*)&x319 )) + ( x320 = (* (ptr) &fc57 ), *(float*)&x320 ), *(word*)&tf321 ), pd316); }; SOURCE(23976, 1656) return(box←v10508); } static void FindImagerObject←P1200(formal←c0449, formal←c01331, formal←c01332) word formal←c0449; word formal←c01331; word formal←c01332; { W13 var←c96132; /* declaration of slice←v10728 skipped */ /* declaration of trajData←v10756 skipped */ register ptr gf←c96164 = (ptr) &globalframe; word object←v10800; /* declaration of displacement←v10828 skipped */ /* declaration of var←c87748 skipped */ /* declaration of var←c87780 skipped */ word value←v21120 = 0; word ok←v21148; /* declaration of hiSeg←v21176 skipped */ (* (( (ptr) &var←c96132)+4)/* slice←v10728 */ ) = formal←c01331; (* (( (ptr) &var←c96132)+5)/* trajData←v10756 */ ) = formal←c01332; /* FindImagerObject: */ SOURCE(25757, 2041) { word tmpAddr322; tmpAddr322 = (word) (( (ptr) &var←c96132)+8)/* var←c87748 */ ; (* (ptr) tmpAddr322 ) = ( ((word) (fPt) CompareProps←P5484) ); (* (( (ptr) tmpAddr322) + 1) ) = 1; }; { word tmpAddr323; tmpAddr323 = (word) (( (ptr) &var←c96132)+10)/* var←c87780 */ ; (* (ptr) tmpAddr323 ) = ( ((word) (fPt) EqualPattern←P5424) ); (* (( (ptr) tmpAddr323) + 1) ) = 1; }; SOURCE(25757, 2041) object←v10800 = 0; SOURCE(25757, 2041) (* (( (ptr) &var←c96132)+6) ) = (* (ptr) &fc123 ); (* (( (ptr) &var←c96132)+7) ) = (* (ptr) &fc123 ); SOURCE(27610, 36) { word pd324; pd324 = (* (( (ptr) (* (( (ptr) gf←c96164)+161)/* var←c84516 */ ))+37) ); (* (( (ptr) &var←c96132)+12)/* hiSeg←v21176 */ ) = (word) ( *( (fPt) ((* (ptr) pd324 ))))((* ((( (ptr) &var←c96132)+4)/* slice←v10728 */ ) ), pd324) ; }; SOURCE(27648, 92) { W2 var←c87844; { word pd325; pd325 = (* (( (ptr) (* (( (ptr) gf←c96164)+169)/* var←c87812 */ ))+9) ); (void) ( *( (fPt) ((* (ptr) pd325 ))))((word) &var←c87844, (* (( (ptr) gf←c96164)+7)/* cache←v7172 */ ), (word) (( (bPt) &var←c96132)+32) /* var←c87748 */ , (* (( (ptr) gf←c96164)+26) ), pd325); }; ok←v21148 = var←c87844.f1; value←v21120 = var←c87844.f0; }; SOURCE(27742, 56) if ((0 != ok←v21148)) { object←v10800 = XR←Narrow(value←v21120, (* (( (ptr) gf←c96164)+24) )); } else { object←v10800 = 0; }; /* removed bogus assignment */ /* removed tail goto */ (* (ptr) formal←c0449 ) = object←v10800; (* (W2Pt) (( (ptr) formal←c0449)+1) ) = (* (W2Pt) (( (ptr) &var←c96132)+6)/* displacement←v10828 */ ); return; } static word EqualPattern←P5424(p1←v21252, p2←v21280, formal←c96196) word p1←v21252; word p2←v21280; word formal←c96196; { word var←c21324; formal←c96196 = (formal←c96196 - 40); /* EqualPattern: */ SOURCE(25881, 195) SOURCE(25881, 195) var←c21324 = 0; SOURCE(25952, 35) if (((* (ptr) p1←v21252 ) != (* (ptr) p2←v21280 ))) { SOURCE(25974, 13) return(0); }; SOURCE(25989, 64) { register word i←v21352 = 0; register word noName←c87940; noName←c87940 = (* (ptr) p1←v21252 ); if ((i←v21352 >= noName←c87940)) { goto lab←L100049; }; lab←L100052: ; SOURCE(26019, 34) { word limit326; word x327; word limit328; word x329; if ((( x327 = (* ((( (ptr) p1←v21252)+1)+( limit326 = (* (ptr) p1←v21252 ), BCK(i←v21352, limit326) )) ), *(float*)&x327 ) != ( x329 = (* ((( (ptr) p2←v21280)+1)+( limit328 = (* (ptr) p2←v21280 ), BCK(i←v21352, limit328) )) ), *(float*)&x329 ))) { SOURCE(26040, 13) return(0); }; }; i←v21352 = (i←v21352 + 1); if ((i←v21352 < noName←c87940)) { goto lab←L100052; }; lab←L100049: ; }; SOURCE(26064, 12) return(1); } static word CompareProps←P5484(argument←v67896, formal←c96260) word argument←v67896; word formal←c96260; { register ptr gf←c96228 = (ptr) &globalframe; word good←v67940; word cachedProps←v21396; word cachedSlice←v21424; word cachedHiSeg←v21452; word cachedTrajData←v21480; word cachedSeg←v21508 = 0; word seg←v21536 = 0; formal←c96260 = (formal←c96260 - 32); /* CompareProps: */ SOURCE(26081, 1485) SOURCE(26125, 37) cachedProps←v21396 = XR←Narrow(argument←v67896, (* (( (ptr) gf←c96228)+25) )); SOURCE(26164, 38) cachedSlice←v21424 = (* (ptr) cachedProps←v21396 ); SOURCE(26204, 36) cachedHiSeg←v21452 = (* (( (ptr) cachedProps←v21396)+1) ); SOURCE(26242, 51) cachedTrajData←v21480 = XR←Narrow((* (( (ptr) cachedSlice←v21424)+1) ), (* (( (ptr) gf←c96228)+10) )); SOURCE(26344, 41) if ((cachedHiSeg←v21452 != (* (( (ptr) formal←c96260)+12) ))) { SOURCE(26372, 13) return(0); }; SOURCE(26387, 71) if (((* (( (ptr) cachedTrajData←v21480)+6) ) != (* (( (ptr) (* (( (ptr) formal←c96260)+5) ))+6) ))) { SOURCE(26445, 13) return(0); }; SOURCE(26460, 1083) { register word i←v21608 = 0; register word noName←c87972; noName←c87972 = cachedHiSeg←v21452; if ((i←v21608 > noName←c87972)) { goto lab←L100053; }; lab←L100056: ; { W2 var←c88004; SOURCE(26494, 47) { word pd330; pd330 = (* (( (ptr) (* (( (ptr) gf←c96228)+161)/* var←c84516 */ ))+29) ); cachedSeg←v21508 = (word) ( *( (fPt) ((* (ptr) pd330 ))))(cachedSlice←v21424, i←v21608, pd330); }; SOURCE(26543, 35) { word pd331; pd331 = (* (( (ptr) (* (( (ptr) gf←c96228)+161)/* var←c84516 */ ))+29) ); seg←v21536 = (word) ( *( (fPt) ((* (ptr) pd331 ))))((* (( (ptr) formal←c96260)+4) ), i←v21608, pd331); }; SOURCE(26580, 49) if (((* (ptr) seg←v21536 ) != (* (ptr) cachedSeg←v21508 ))) { SOURCE(26616, 13) return(0); }; SOURCE(26631, 61) { word pd332; pd332 = (* (( (ptr) (* (( (ptr) gf←c96228)+164)/* var←c84836 */ ))+20) ); if ((0 == (word) ( *( (fPt) ((* (ptr) pd332 ))))(seg←v21536, cachedSeg←v21508, pd332))) { SOURCE(26679, 13) return(0); }; }; SOURCE(26694, 50) { word pd333; pd333 = (* (( (ptr) (* (( (ptr) gf←c96228)+165)/* var←c85028 */ ))+11) ); (void) ( *( (fPt) ((* (ptr) pd333 ))))((word) (( (bPt) formal←c96260)+24), (* (W2Pt) (( (ptr) seg←v21536)+9) ), (* (W2Pt) ( ( (ptr) cachedSeg←v21508)+9) ), pd333); }; SOURCE(26746, 88) { word pd334; pd334 = (* (( (ptr) (* (( (ptr) gf←c96228)+165)/* var←c85028 */ ))+10) ); (void) ( *( (fPt) ((* (ptr) pd334 ))))((word) &var←c88004, (* (W2Pt) (( (ptr) cachedSeg←v21508)+11) ), (* (W2Pt) (( (ptr) formal←c96260)+6) ), pd334); }; if ((0 == (word) ClosePoints←P1260(var←c88004, (* (W2Pt) (( (ptr) seg←v21536)+11) )))) { SOURCE(26821, 13) return(0); }; SOURCE(26836, 79) { word limit335; word pd336; pd336 = (* (( (ptr) (* (ptr) seg←v21536 ))+17) ); if (((* ((( (ptr) cachedProps←v21396)+3)+( limit335 = (* (( (ptr) cachedProps←v21396)+2) ), BCK(i←v21608, limit335) )) ) != (word) ( *( (fPt) ((* (ptr) pd336 ))))(seg←v21536, pd336))) { SOURCE(26902, 13) return(0); }; }; SOURCE(26917, 193) { register word j←v21652 = 0; register word noName←c88036; W2 var←c88068; W2 var←c88132; { word limit337; noName←c88036 = (* ((( (ptr) cachedProps←v21396)+3)+( limit337 = (* (( (ptr) cachedProps←v21396)+2) ), BCK(i←v21608, limit337) )) ); }; if ((j←v21652 >= noName←c88036)) { goto lab←L100057; }; lab←L100060: ; SOURCE(26962, 148) { W2 var←c88100; { word pd338; pd338 = (* (( (ptr) (* (ptr) cachedSeg←v21508 ))+16) ); (void) ( *( (fPt) ((* (ptr) pd338 ))))((word) &var←c88100, cachedSeg←v21508, j←v21652, pd338); }; { W2 var←c0473; { word pd339; pd339 = (* (( (ptr) (* (( (ptr) gf←c96228)+165)/* var←c85028 */ ))+10) ); (void) ( *( (fPt) ((* (ptr) pd339 ))))((word) &var←c0473, var←c88100, (* (W2Pt) (( (ptr) formal←c96260)+6) ), pd339); }; var←c88068 = var←c0473; }; }; { word pd340; pd340 = (* (( (ptr) (* (ptr) seg←v21536 ))+16) ); (void) ( *( (fPt) ((* (ptr) pd340 ))))((word) &var←c88132, seg←v21536, j←v21652, pd340); }; if ((0 == (word) ClosePoints←P1260(var←c88068, var←c88132))) { SOURCE(27097, 13) return(0); }; j←v21652 = (j←v21652 + 1); if ((j←v21652 < noName←c88036)) { goto lab←L100060; }; lab←L100057: ; }; SOURCE(27121, 74) { float tf341; word x342; word x343; word x345; if ((FABS((( x342 = (* (( (ptr) cachedSeg←v21508)+2) ), *(float*)&x342 ) - ( x343 = (* (( (ptr) seg←v21536)+2) ), *(float*)&x343 )), tf341) > ( x345 = (* (ptr) &fc344 ), *(float*)&x345 ))) { SOURCE(27182, 13) return(0); }; }; SOURCE(27197, 55) if (((* (( (ptr) cachedSeg←v21508)+3) ) != (* (( (ptr) seg←v21536)+3) ))) { SOURCE(27239, 13) return(0); }; SOURCE(27254, 80) { word pd346; pd346 = (* (( (ptr) (* (( (ptr) gf←c96228)+170)/* var←c88164 */ ))+35) ); if ((0 == (word) ( *( (fPt) ((* (ptr) pd346 ))))((* (( (ptr) cachedSeg←v21508)+8) ), (* (( (ptr) seg←v21536)+8) ), pd346) )) { SOURCE(27321, 13) return(0); }; }; SOURCE(27336, 49) if (((* (( (ptr) cachedSeg←v21508)+4) ) != (* (( (ptr) seg←v21536)+4) ))) { SOURCE(27372, 13) return(0); }; SOURCE(27387, 156) { word x347; word x348; word x349; word x350; if ( ( (0 != (* (( (ptr) cachedSeg←v21508)+4) )) ? ( ((( x347 = (* (( (ptr) cachedSeg←v21508)+6) ), *(float*)&x347 ) != ( x348 = (* (( (ptr) seg←v21536)+6) ), *(float*)&x348 )) || (( x349 = (* (( (ptr) cachedSeg←v21508)+7) ), *(float*)&x349 ) != ( x350 = (* (( (ptr) seg←v21536)+7) ), *(float*)&x350 ))) ? 1 : (0 == (word) EqualPattern←P5424((* (( (ptr) cachedSeg←v21508)+5) ), (* (( (ptr) seg←v21536)+5) ), (word) (( (bPt) formal←c96260)+40) )) ) : 0 ) ) { SOURCE(27530, 13) return(0); }; }; }; if ((i←v21608 >= noName←c87972)) { goto lab←L100053; }; i←v21608 = (i←v21608 + 1); goto lab←L100056; lab←L100053: ; }; SOURCE(27554, 12) return(1); } static word ClosePoints←P1260(p1←v10888, p2←v10916) W2 p1←v10888; W2 p2←v10916; { word var←c10960; /* ClosePoints: */ SOURCE(27804, 203) SOURCE(27946, 61) { word tc351; float tf352; word x353; word x354; word x356; float tf357; word x358; word x359; word x360; if ((FABS((( x353 = p1←v10888.f0, *(float*)&x353 ) - ( x354 = p2←v10916.f0, *(float*)&x354 )), tf352) < ( x356 = (* (ptr) &fc355 ), *(float*)&x356 ))) { tc351 = (word) (unsigned) (FABS((( x358 = p1←v10888.f1, *(float*)&x358 ) - ( x359 = p2←v10916.f1, *(float*)&x359 )), tf357) < ( x360 = (* (ptr) &fc355 ), *(float*)&x360 )); } else { tc351 = (word) (unsigned) 0; }; return(tc351); }; } static word CreateProps←P1320(slice←v11020, trajData←v11048) word slice←v11020; word trajData←v11048; { register ptr gf←c96292 = (ptr) &globalframe; word props←v11092; word hiSeg←v21740; word seg←v21768 = 0; /* CreateProps: */ SOURCE(28013, 338) SOURCE(28013, 338) props←v11092 = 0; SOURCE(28093, 36) { word pd361; pd361 = (* (( (ptr) (* (( (ptr) gf←c96292)+161)/* var←c84516 */ ))+37) ); hiSeg←v21740 = (word) ( *( (fPt) ((* (ptr) pd361 ))))(slice←v11020, pd361); }; SOURCE(28145, 30) { word var←c88196; word var←c88228; word var←c88260; var←c88196 = BCK((hiSeg←v21740 + 1), 67108863); var←c88228 = ((word) var←c88196 << 2); var←c88260 = XR←NewObject((12 + var←c88228), (* (( (ptr) gf←c96292)+25) )); (* (( (ptr) var←c88260)+2) ) = var←c88196; props←v11092 = var←c88260; }; SOURCE(28177, 35) { word var←c88292; var←c88292 = (* (ptr) TrajCopy←P540(slice←v11020, 0) ); (* (ptr) props←v11092 ) = var←c88292; }; SOURCE(28214, 19) (* (( (ptr) props←v11092)+1) ) = hiSeg←v21740; SOURCE(28235, 116) { register word i←v21812 = 0; register word noName←c88324; noName←c88324 = hiSeg←v21740; if ((i←v21812 > noName←c88324)) { goto lab←L100061; }; lab←L100064: ; SOURCE(28263, 35) { word pd362; pd362 = (* (( (ptr) (* (( (ptr) gf←c96292)+161)/* var←c84516 */ ))+29) ); seg←v21768 = (word) ( *( (fPt) ((* (ptr) pd362 ))))(slice←v11020, i←v21812, pd362); }; SOURCE(28300, 51) { word var←c88356; { word pd363; pd363 = (* (( (ptr) (* (ptr) seg←v21768 ))+17) ); var←c88356 = (word) ( *( (fPt) ((* (ptr) pd363 ))))(seg←v21768, pd363); }; { word limit364; (* ((( (ptr) props←v11092)+3)+( limit364 = (* (( (ptr) props←v11092)+2) ), BCK(i←v21812, limit364) )) ) = var←c88356; }; }; if ((i←v21812 >= noName←c88324)) { goto lab←L100061; }; i←v21812 = (i←v21812 + 1); goto lab←L100064; lab←L100061: ; }; SOURCE(28013, 338) return(props←v11092); } static void CachedDrawBorder←P1380(dc←v11152, slice←v11180, viewView←v11208, trajTransformParts←v11236) word dc←v11152; word slice←v11180; word viewView←v11208; word trajTransformParts←v11236; { register ptr gf←c96324 = (ptr) &globalframe; word object←v21856 = 0; W2 position←v21884; word trajProps←v21912 = 0; word trajData←v21940; /* CachedDrawBorder: */ SOURCE(28367, 1049) SOURCE(28614, 39) trajData←v21940 = XR←Narrow((* (( (ptr) slice←v11180)+1) ), (* (( (ptr) gf←c96324)+10) )); SOURCE(28656, 760) { word pd365; pd365 = (* (( (ptr) (* (( (ptr) gf←c96324)+171)/* var←c88388 */ ))+5) ); if ((0 != (word) ( *( (fPt) ((* (ptr) pd365 ))))(pd365))) { SOURCE(28694, 54) { W3 var←c88420; (void) FindImagerObject←P1200((word) &var←c88420, slice←v11180, trajData←v21940); position←v21884 = (* (W2Pt) (( (ptr) &var←c88420)+1) ); object←v21856 = var←c88420.f0; }; SOURCE(28750, 373) if ((object←v21856 == 0)) { SOURCE(28772, 353) { W4 clipR←v21984; word props←v22012; SOURCE(28795, 87) { word var←c88452; var←c88452 = (word) TrajGetBoundBox←P420(slice←v11180, 0); { word pd366; pd366 = (* (( (ptr) (* (( (ptr) gf←c96324)+158)/* var←c84068 */ ))+11) ); (void) ( *( (fPt) ((* (ptr) pd366 ))))((word) &clipR←v21984, var←c88452, pd366); }; }; SOURCE(28884, 43) props←v22012 = (word) CreateProps←P1320(slice←v11180, trajData←v21940); SOURCE(28961, 81) { word var←c88484; var←c88484 = XR←NewObject(24, (* (( (ptr) gf←c96324)+24) )); (* (ptr) var←c88484 ) = (word) (( (bPt) gf←c96324)+404)/* var←c83044 */ ; (* (W4Pt) (( (ptr) var←c88484)+1) ) = clipR←v21984; (* (( (ptr) var←c88484)+5) ) = props←v22012; object←v21856 = var←c88484; }; SOURCE(29044, 16) position←v21884.f0 = (* (ptr) &fc123 ); position←v21884.f1 = (* (ptr) &fc123 ); SOURCE(29062, 61) { word pd367; pd367 = (* (( (ptr) (* (( (ptr) gf←c96324)+169)/* var←c87812 */ ))+6) ); (void) ( *( (fPt) ((* (ptr) pd367 ))))((* (( (ptr) gf←c96324)+7)/* cache←v7172 */ ), props←v22012, object←v21856, 60, (* ( ( (ptr) gf←c96324)+26) ), pd367); }; }; }; SOURCE(29128, 31) trajProps←v21912 = XR←Narrow((* (( (ptr) object←v21856)+5) ), (* (( (ptr) gf←c96324)+25) )); SOURCE(29161, 51) if ((viewView←v11208 != 0)) { SOURCE(29184, 28) { word pd368; pd368 = (* (( (ptr) (* (( (ptr) gf←c96324)+167)/* var←c86788 */ ))+14) ); (void) ( *( (fPt) ((* (ptr) pd368 ))))(dc←v11152, viewView←v11208, pd368); }; }; SOURCE(29214, 85) { word pd369; pd369 = (* (( (ptr) (* (( (ptr) gf←c96324)+167)/* var←c86788 */ ))+87) ); (void) ( *( (fPt) ((* (ptr) pd369 ))))(dc←v11152, object←v21856, position←v21884, 1, pd369); }; } else { SOURCE(29308, 108) (void) DrawBorderAux←P1500(slice←v11180, 0, trajTransformParts←v11236, viewView←v11208, dc←v11152, 0 , 0, 1, (unsigned) (viewView←v11208 == 0), (unsigned) (viewView←v11208 != 0)); }; }; } static void TrajDrawObject←P1440(self←v11296, context←v11324) word self←v11296; word context←v11324; { register ptr gf←c96356 = (ptr) &globalframe; word trajProps←v22056; /* TrajDrawObject: */ SOURCE(29422, 195) SOURCE(29495, 36) trajProps←v22056 = XR←Narrow((* (( (ptr) self←v11296)+5) ), (* (( (ptr) gf←c96356)+25) )); SOURCE(29533, 84) (void) DrawBorderAux←P1500((* (ptr) trajProps←v22056 ), 0, 0, 0, context←v11324, 0 , 0, 1, 1, 0); } static void DrawBorderAux←P1500(slice←v11384, trajDrawParts←v11412, trajTransformParts←v11440, transform←v11468, dc←v11496, camera←v11524, editConstraints←v11552, drawEntireTraj←v11580, transformNone←v11608, transformEntireTraj←v11636) word slice←v11384; word trajDrawParts←v11412; word trajTransformParts←v11440; word transform←v11468; word dc←v11496; word camera←v11524; word editConstraints←v11552; word drawEntireTraj←v11580; word transformNone←v11608; word transformEntireTraj←v11636; { register ptr gf←c96388 = (ptr) &globalframe; word hiSegment←v22100; /* DrawBorderAux: */ SOURCE(29623, 1904) SOURCE(29881, 40) { word pd370; pd370 = (* (( (ptr) (* (( (ptr) gf←c96388)+161)/* var←c84516 */ ))+37) ); hiSegment←v22100 = (word) ( *( (fPt) ((* (ptr) pd370 ))))(slice←v11384, pd370); }; SOURCE(29923, 255) if ( ( (0 != drawEntireTraj←v11580) ? (0 != (word) AllStrokePropsAndColorsEqual←P2340(slice←v11384)) : 0 ) ) { SOURCE(29988, 85) (void) TrajDrawBorderSingleStroke←P1560(slice←v11384, trajTransformParts←v11440, transform←v11468, dc←v11496, editConstraints←v11552) ; SOURCE(30075, 95) if ((transform←v11468 != 0)) { SOURCE(30097, 73) (void) DrawRubberControlPoints←P1620(dc←v11496, trajTransformParts←v11440, slice←v11384, transform←v11468, camera←v11524) ; }; SOURCE(30172, 6) return; }; SOURCE(30183, 1344) { register word i←v22144 = 0; register word noName←c88516; word var←c88548; noName←c88516 = hiSegment←v22100; if (( (int)i←v22144 > (int)noName←c88516)) { goto lab←L100065; }; lab←L100068: ; SOURCE(30215, 1312) { word limit372; if ((0 != drawEntireTraj←v11580)) { goto then0371;}; var←c88548 = (* (ptr) trajDrawParts←v11412 ); if (XR←ExtractField(var←c88548, 32 + (word) ( limit372 = (* (ptr) var←c88548 ), BCK(i←v22144, limit372) ), 1)) { then0371: ; SOURCE(30267, 1262) { word seg←v22188; SOURCE(30290, 44) { word pd373; pd373 = (* (( (ptr) (* (( (ptr) gf←c96388)+161)/* var←c84516 */ ))+29) ); seg←v22188 = (word) ( *( (fPt) ((* (ptr) pd373 ))))(slice←v11384, SGNCK(i←v22144), pd373); }; SOURCE(30336, 45) { word x374; word x375; if ((( x374 = (* (( (ptr) seg←v22188)+2) ), *(float*)&x374 ) == ( x375 = (* (ptr) &fc123 ), *(float*)&x375 )) || ((* (( (ptr) seg←v22188)+8) ) == 0)) { SOURCE(30381, 4) goto lab←L100067; }; }; SOURCE(30387, 32) { word pd376; pd376 = (* (( (ptr) (* (( (ptr) gf←c96388)+167)/* var←c86788 */ ))+70) ); (void) ( *( (fPt) ((* (ptr) pd376 ))))(dc←v11496, 1, pd376); }; SOURCE(30476, 38) { word pd377; pd377 = (* (( (ptr) (* (( (ptr) gf←c96388)+167)/* var←c86788 */ ))+69) ); (void) ( *( (fPt) ((* (ptr) pd377 ))))(dc←v11496, (* (( (ptr) seg←v22188)+3) ), pd377); }; SOURCE(30516, 42) { word pd378; pd378 = (* (( (ptr) (* (( (ptr) gf←c96388)+167)/* var←c86788 */ ))+68) ); (void) ( *( (fPt) ((* (ptr) pd378 ))))(dc←v11496, (* (( (ptr) seg←v22188)+2) ), pd378); }; SOURCE(30560, 30) { word pd379; pd379 = (* (( (ptr) (* (( (ptr) gf←c96388)+167)/* var←c86788 */ ))+52) ); (void) ( *( (fPt) ((* (ptr) pd379 ))))(dc←v11496, (* (( (ptr) seg←v22188)+8) ), pd379); }; if ((0 != transformNone←v11608)) { SOURCE(30626, 251) (void) MaskStrokeTransform←P2280(dc←v11496, seg←v22188, transform←v11468, 0, 0, 0 , 0, slice←v11384, trajTransformParts←v11440, SGNCK(i←v22144), camera←v11524, editConstraints←v11552); } else { if ((0 != transformEntireTraj←v11636)) { SOURCE(30902, 251) (void) MaskStrokeTransform←P2280(dc←v11496, seg←v22188, transform←v11468, 1, 1, 1 , 0, slice←v11384, trajTransformParts←v11440, SGNCK(i←v22144), camera←v11524, editConstraints←v11552); } else { SOURCE(31166, 361) { word var←c88580; { word var←c88612; word var←c88644; { /*1*/ word pd380; /*1*/ pd380 = (* (( (ptr) (* (( (ptr) gf←c96388)+161)/* var←c84516 */ ))+44) ); /*1*/ var←c88612 = (word) ( *( (fPt) ((* (ptr) pd380 ))))(slice←v11384, SGNCK(i←v22144), pd380); /*1*/ }; var←c88644 = (* (( (ptr) trajTransformParts←v11440)+1) ); { /*1*/ word limit381; /*1*/ var←c88580 = (unsigned) XR←ExtractField(var←c88644, 32 + (word) ( /*1*/ limit381 = (* (ptr) var←c88644 ), /*1*/ BCK(var←c88612, limit381) /*1*/ ), 1); /*1*/ }; }; { word var←c88676; word var←c01267; word var←c88708; word var←c01268; word var←c88740; word var←c01269; var←c88676 = (* (ptr) trajTransformParts←v11440 ); { /*1*/ word limit382; /*1*/ var←c01267 = (unsigned) XR←ExtractField(var←c88676, 32 + (word) ( /*1*/ limit382 = (* (ptr) var←c88676 ), /*1*/ BCK(i←v22144, limit382) /*1*/ ), 1); /*1*/ }; var←c88708 = (* (( (ptr) trajTransformParts←v11440)+1) ); { /*1*/ word limit383; /*1*/ var←c01268 = (unsigned) XR←ExtractField(var←c88708, 32 + (word) ( /*1*/ limit383 = (* (ptr) var←c88708 ), /*1*/ BCK(i←v22144, limit383) /*1*/ ), 1); /*1*/ }; var←c88740 = (* (( (ptr) trajTransformParts←v11440)+2) ); { /*1*/ word limit384; /*1*/ var←c01269 = (* ((( (ptr) var←c88740)+1)+( /*1*/ limit384 = (* (ptr) var←c88740 ), /*1*/ BCK(i←v22144, limit384) /*1*/ )) ); /*1*/ }; (void) MaskStrokeTransform←P2280(dc←v11496, seg←v22188, transform←v11468, var←c01267, var←c01268, var←c88580 /*1*/ , var←c01269, slice←v11384, trajTransformParts←v11440, SGNCK(i←v22144), camera←v11524, editConstraints←v11552); }; }; }; }; }; }; }; lab←L100067: ; if (( (int)i←v22144 >= (int)noName←c88516)) { goto lab←L100065; }; i←v22144 = (i←v22144 + 1); goto lab←L100068; lab←L100065: ; }; } static void TrajDrawBorderSingleStroke←P1560(formal←c01333, formal←c01334, formal←c01335, dc←v11780, formal←c01336) word formal←c01333; word formal←c01334; word formal←c01335; word dc←v11780; word formal←c01336; { W15 var←c96420; /* declaration of slice←v11696 skipped */ /* declaration of trajParts←v11724 skipped */ /* declaration of transform←v11752 skipped */ /* declaration of editConstraints←v11808 skipped */ register ptr gf←c96452 = (ptr) &globalframe; /* declaration of var←c88772 skipped */ /* declaration of var←c88804 skipped */ /* declaration of var←c88836 skipped */ word trajData←v22316; word firstSeg←v22344; word strokeWidth←v22372; /* declaration of pattern←v22400 skipped */ (* (( (ptr) &var←c96420)+4)/* slice←v11696 */ ) = formal←c01333; (* (( (ptr) &var←c96420)+5)/* trajParts←v11724 */ ) = formal←c01334; (* (( (ptr) &var←c96420)+6)/* transform←v11752 */ ) = formal←c01335; (* (( (ptr) &var←c96420)+7)/* editConstraints←v11808 */ ) = formal←c01336; /* TrajDrawBorderSingleStroke: */ SOURCE(31545, 2288) { word tmpAddr385; tmpAddr385 = (word) (( (ptr) &var←c96420)+8)/* var←c88772 */ ; (* (ptr) tmpAddr385 ) = ( ((word) (fPt) PatternProc←P6000) ); (* (( (ptr) tmpAddr385) + 1) ) = 1; }; { word tmpAddr386; tmpAddr386 = (word) (( (ptr) &var←c96420)+10)/* var←c88804 */ ; (* (ptr) tmpAddr386 ) = ( ((word) (fPt) BuildPathTransform←P5940) ); (* (( (ptr) tmpAddr386) + 1) ) = 1; }; { word tmpAddr387; tmpAddr387 = (word) (( (ptr) &var←c96420)+12)/* var←c88836 */ ; (* (ptr) tmpAddr387 ) = ( ((word) (fPt) BuildPathNoTransform←P5880) ); (* (( (ptr) tmpAddr387) + 1) ) = 1; }; SOURCE(33113, 39) trajData←v22316 = XR←Narrow((* (( (ptr) (* (( (ptr) &var←c96420)+4)/* slice←v11696 */ ))+1) ), (* (( (ptr) gf←c96452)+10) )); SOURCE(33154, 49) { word pd388; pd388 = (* (( (ptr) (* (( (ptr) gf←c96452)+161)/* var←c84516 */ ))+29) ); firstSeg←v22344 = (word) ( *( (fPt) ((* (ptr) pd388 ))))((* (( (ptr) &var←c96420)+4)/* slice←v11696 */ ), 0, pd388); }; SOURCE(33205, 40) strokeWidth←v22372 = (* (( (ptr) firstSeg←v22344)+2) ); SOURCE(33247, 42) (* (( (ptr) &var←c96420)+14)/* pattern←v22400 */ ) = (* (( (ptr) firstSeg←v22344)+5) ); SOURCE(33292, 541) { word x389; word x390; if ( ( (( x389 = strokeWidth←v22372, *(float*)&x389 ) != ( x390 = (* (ptr) &fc123 ), *(float*)&x390 )) ? ((* (( (ptr) firstSeg←v22344)+8) ) != 0) : 0 ) ) { SOURCE(33345, 35) { word pd391; pd391 = (* (( (ptr) (* (( (ptr) gf←c96452)+167)/* var←c86788 */ ))+52) ); (void) ( *( (fPt) ((* (ptr) pd391 ))))(dc←v11780, (* (( (ptr) firstSeg←v22344)+8) ), pd391); }; SOURCE(33382, 38) { word pd392; pd392 = (* (( (ptr) (* (( (ptr) gf←c96452)+167)/* var←c86788 */ ))+68) ); (void) ( *( (fPt) ((* (ptr) pd392 ))))(dc←v11780, strokeWidth←v22372, pd392); }; SOURCE(33422, 43) { word pd393; pd393 = (* (( (ptr) (* (( (ptr) gf←c96452)+167)/* var←c86788 */ ))+69) ); (void) ( *( (fPt) ((* (ptr) pd393 ))))(dc←v11780, (* (( (ptr) firstSeg←v22344)+3) ), pd393); }; SOURCE(33467, 47) { word pd394; pd394 = (* (( (ptr) (* (( (ptr) gf←c96452)+167)/* var←c86788 */ ))+70) ); (void) ( *( (fPt) ((* (ptr) pd394 ))))(dc←v11780, (* (( (ptr) trajData←v22316)+6) ), pd394); }; SOURCE(33516, 317) if ((0 != (* (( (ptr) firstSeg←v22344)+4) ))) { SOURCE(33540, 161) { word pd395; pd395 = (* (( (ptr) (* (( (ptr) gf←c96452)+167)/* var←c86788 */ ))+75) ); (void) ( *( (fPt) ((* (ptr) pd395 ))))(dc←v11780, ( ((* (( (ptr) &var←c96420)+6)/* transform←v11752 */ ) == 0) ? (word) ( ( (bPt) &var←c96420)+48)/* var←c88836 */ : (word) (( (bPt) &var←c96420)+40)/* var←c88804 */ ) , (* (ptr) (* (( (ptr) &var←c96420)+14) /* pattern←v22400 */ ) ), (word) (( (bPt) &var←c96420)+32)/* var←c88772 */ , (* (( (ptr) firstSeg←v22344)+6) ), (* (( (ptr) firstSeg←v22344)+7) ), pd395); }; } else { SOURCE(33701, 132) { word pd396; pd396 = (* (( (ptr) (* (( (ptr) gf←c96452)+167)/* var←c86788 */ ))+71) ); (void) ( *( (fPt) ((* (ptr) pd396 ))))(dc←v11780, ( ((* (( (ptr) &var←c96420)+6)/* transform←v11752 */ ) == 0) ? (word) ( ( (bPt) &var←c96420)+48)/* var←c88836 */ : (word) (( (bPt) &var←c96420)+40)/* var←c88804 */ ) , (unsigned) ( ((* (ptr) trajData←v22316 ) == 0) ? 1 : ((* (ptr) trajData←v22316 ) == 1) ) , pd396) ; }; }; }; }; } static void BuildPathNoTransform←P5880(moveTo←v70524, lineTo←v70552, curveTo←v70580, conicTo←v70608, arcTo←v70636, formal←c96516) word moveTo←v70524; word lineTo←v70552; word curveTo←v70580; word conicTo←v70608; word arcTo←v70636; word formal←c96516; { register ptr gf←c96484 = (ptr) &globalframe; word seg←v22548 = 0; word hiSegment←v22576; W2 firstPoint←v22604; formal←c96516 = (formal←c96516 - 48); /* BuildPathNoTransform: */ SOURCE(31700, 296) SOURCE(31756, 40) { word pd397; pd397 = (* (( (ptr) (* (( (ptr) gf←c96484)+161)/* var←c84516 */ ))+37) ); hiSegment←v22576 = (word) ( *( (fPt) ((* (ptr) pd397 ))))((* ((( (ptr) formal←c96516)+4)) ), pd397); }; SOURCE(31798, 50) { word pd398; pd398 = (* (( (ptr) (* (( (ptr) gf←c96484)+161)/* var←c84516 */ ))+32) ); (void) ( *( (fPt) ((* (ptr) pd398 ))))((word) &firstPoint←v22604, (* (( (ptr) formal←c96516)+4) ), 0, pd398); }; SOURCE(31850, 18) (void) ( *( (fPt) ((* (ptr) moveTo←v70524 ))))(firstPoint←v22604, moveTo←v70524); SOURCE(31870, 126) { register word i←v22648 = 0; register word noName←c88868; noName←c88868 = hiSegment←v22576; if (( (int)i←v22648 > (int)noName←c88868)) { goto lab←L100069; }; lab←L100072: ; SOURCE(31902, 35) { word pd399; pd399 = (* (( (ptr) (* (( (ptr) gf←c96484)+161)/* var←c84516 */ ))+29) ); seg←v22548 = (word) ( *( (fPt) ((* (ptr) pd399 ))))((* (( (ptr) formal←c96516)+4) ), SGNCK(i←v22648), pd399); }; SOURCE(31939, 57) { word pd400; pd400 = (* (( (ptr) (* (ptr) seg←v22548 ))+6) ); (void) ( *( (fPt) ((* (ptr) pd400 ))))(seg←v22548, lineTo←v70552, curveTo←v70580, conicTo←v70608, arcTo←v70636, pd400); }; if (( (int)i←v22648 >= (int)noName←c88868)) { goto lab←L100069; }; i←v22648 = (i←v22648 + 1); goto lab←L100072; lab←L100069: ; }; } static void BuildPathTransform←P5940(moveTo←v70696, lineTo←v70724, curveTo←v70752, conicTo←v70780, arcTo←v70808, formal←c96580) word moveTo←v70696; word lineTo←v70724; word curveTo←v70752; word conicTo←v70780; word arcTo←v70808; word formal←c96580; { register ptr gf←c96548 = (ptr) &globalframe; word seg←v22692 = 0; word entire←v22720 = 0; word lo←v22748 = 0; word hi←v22776 = 0; word controlPoints←v22804 = 0; W2 firstPoint←v22832; word hiSegment←v22860; formal←c96580 = (formal←c96580 - 40); /* BuildPathTransform: */ SOURCE(32010, 1019) SOURCE(32139, 40) { word pd401; pd401 = (* (( (ptr) (* (( (ptr) gf←c96548)+161)/* var←c84516 */ ))+37) ); hiSegment←v22860 = (word) ( *( (fPt) ((* (ptr) pd401 ))))((* ((( (ptr) formal←c96580)+4)) ), pd401); }; SOURCE(32182, 47) if (((* (( (ptr) formal←c96580)+5) ) == 0)) { entire←v22720 = (unsigned) 1; } else { { word var←c88900; var←c88900 = (* (ptr) (* (( (ptr) formal←c96580)+5) ) ); { word limit402; entire←v22720 = (unsigned) XR←ExtractField(var←c88900, 32 + (word) ( limit402 = (* (ptr) var←c88900 ), BCK(0, limit402) ), 1); }; }; }; SOURCE(32231, 41) if (((* (( (ptr) formal←c96580)+5) ) == 0)) { lo←v22748 = (unsigned) 1; } else { { word var←c88932; var←c88932 = (* (( (ptr) (* (( (ptr) formal←c96580)+5) ))+1) ); { word limit403; lo←v22748 = (unsigned) XR←ExtractField(var←c88932, 32 + (word) ( limit403 = (* (ptr) var←c88932 ), BCK(0, limit403) ), 1); }; }; }; SOURCE(32274, 43) { word pd404; pd404 = (* (( (ptr) (* (( (ptr) gf←c96548)+161)/* var←c84516 */ ))+32) ); (void) ( *( (fPt) ((* (ptr) pd404 ))))((word) &firstPoint←v22832, (* (( (ptr) formal←c96580)+4) ), 0, pd404); }; SOURCE(32319, 87) if (((0 != entire←v22720) || (0 != lo←v22748))) { SOURCE(32340, 66) { word pd405; pd405 = (* (( (ptr) (* (( (ptr) gf←c96548)+156)/* var←c83940 */ ))+39) ); (void) ( *( (fPt) ((* (ptr) pd405 ))))((word) &firstPoint←v22832, (* (( (ptr) formal←c96580)+6) ), firstPoint←v22832, pd405) ; }; }; SOURCE(32408, 18) (void) ( *( (fPt) ((* (ptr) moveTo←v70696 ))))(firstPoint←v22832, moveTo←v70696); SOURCE(32429, 600) { register word i←v22904 = 0; register word noName←c88964; noName←c88964 = hiSegment←v22860; if (( (int)i←v22904 > (int)noName←c88964)) { goto lab←L100073; }; lab←L100076: ; SOURCE(32461, 35) { word pd406; pd406 = (* (( (ptr) (* (( (ptr) gf←c96548)+161)/* var←c84516 */ ))+29) ); seg←v22692 = (word) ( *( (fPt) ((* (ptr) pd406 ))))((* (( (ptr) formal←c96580)+4) ), SGNCK(i←v22904), pd406); }; SOURCE(32498, 47) if (((* (( (ptr) formal←c96580)+5) ) == 0)) { entire←v22720 = (unsigned) 1; } else { { word var←c88996; var←c88996 = (* (ptr) (* (( (ptr) formal←c96580)+5) ) ); { word limit407; entire←v22720 = (unsigned) XR←ExtractField(var←c88996, 32 + (word) ( limit407 = (* (ptr) var←c88996 ), BCK(i←v22904, limit407) ), 1); }; }; }; SOURCE(32547, 41) if (((* (( (ptr) formal←c96580)+5) ) == 0)) { lo←v22748 = (unsigned) 1; } else { { word var←c89028; var←c89028 = (* (( (ptr) (* (( (ptr) formal←c96580)+5) ))+1) ); { word limit408; lo←v22748 = (unsigned) XR←ExtractField(var←c89028, 32 + (word) ( limit408 = (* (ptr) var←c89028 ), BCK(i←v22904, limit408) ), 1); }; }; }; SOURCE(32590, 71) if (((* (( (ptr) formal←c96580)+5) ) == 0)) { hi←v22776 = (unsigned) 1; } else { { word var←c89060; word var←c89092; { word pd409; pd409 = (* (( (ptr) (* (( (ptr) gf←c96548)+161)/* var←c84516 */ ))+44) ); var←c89060 = (word) ( *( (fPt) ((* (ptr) pd409 ))))((* (( (ptr) formal←c96580)+4) ), SGNCK(i←v22904), pd409); }; var←c89092 = (* (( (ptr) (* (( (ptr) formal←c96580)+5) ))+1) ); { word limit410; hi←v22776 = (unsigned) XR←ExtractField(var←c89092, 32 + (word) ( limit410 = (* (ptr) var←c89092 ), BCK(var←c89060, limit410) ), 1); }; }; }; SOURCE(32663, 42) { word var←c89124; var←c89124 = (* (( (ptr) (* (( (ptr) formal←c96580)+5) ))+2) ); { word limit411; controlPoints←v22804 = (* ((( (ptr) var←c89124)+1)+( limit411 = (* (ptr) var←c89124 ), BCK(i←v22904, limit411) )) ); }; }; SOURCE(32707, 322) if ( ( ((* (ptr) (* (ptr) seg←v22692 ) ) == (* (( (ptr) gf←c96548)+27) )) ? ((* (( (ptr) formal←c96580)+7) ) != 0) : 0 ) ) { SOURCE(32769, 141) (void) BuildConstrainedPathSeg←P720((* (( (ptr) formal←c96580)+4) ), (* (( (ptr) formal←c96580)+5) ), SGNCK(i←v22904), seg←v22692, (* ( ( (ptr) formal←c96580)+6) ), entire←v22720 , lo←v22748, hi←v22776, controlPoints←v22804, (* (( (ptr) formal←c96580)+7) ), lineTo←v70724, curveTo←v70752 , conicTo←v70780, arcTo←v70808); } else { SOURCE(32921, 108) { word pd412; pd412 = (* (( (ptr) (* (ptr) seg←v22692 ))+7) ); (void) ( *( (fPt) ((* (ptr) pd412 ))))(seg←v22692, (* (( (ptr) formal←c96580)+6) ), entire←v22720, lo←v22748, hi←v22776, controlPoints←v22804 , lineTo←v70724, curveTo←v70752, conicTo←v70780, arcTo←v70808, pd412); }; }; if (( (int)i←v22904 >= (int)noName←c88964)) { goto lab←L100073; }; i←v22904 = (i←v22904 + 1); goto lab←L100076; lab←L100073: ; }; } static word PatternProc←P6000(i←v22476, formal←c96612) word i←v22476; word formal←c96612; { word var←c22520; formal←c96612 = (formal←c96612 - 32); /* PatternProc: */ SOURCE(33046, 63) SOURCE(33091, 18) { word limit413; return((* ((( (ptr) (* (( (ptr) formal←c96612)+14) ))+1)+( limit413 = (* (ptr) (* (( (ptr) formal←c96612)+14) ) ), BCK(i←v22476, limit413) )) )); }; } static void DrawRubberControlPoints←P1620(dc←v11868, trajParts←v11896, slice←v11924, transform←v11952, camera←v11980) word dc←v11868; word trajParts←v11896; word slice←v11924; word transform←v11952; word camera←v11980; { register ptr gf←c96644 = (ptr) &globalframe; word controlPoints←v22948 = 0; word seg←v22976 = 0; word cpCount←v23004; word cPointsInSeq←v23032 = 0; word cPointsInSeg←v23060 = 0; word hiSegment←v23088; word drawForTraj←v23116 = 0; word drawForSeg←v23144 = 0; /* DrawRubberControlPoints: */ SOURCE(33876, 1394) SOURCE(34140, 40) { word pd414; pd414 = (* (( (ptr) (* (( (ptr) gf←c96644)+161)/* var←c84516 */ ))+37) ); hiSegment←v23088 = (word) ( *( (fPt) ((* (ptr) pd414 ))))(slice←v11924, pd414); }; SOURCE(34222, 30) if ((trajParts←v11896 == 0)) { SOURCE(34246, 6) return; }; SOURCE(34254, 709) { register word i←v23188 = 0; register word noName←c89156; noName←c89156 = hiSegment←v23088; if (( (int)i←v23188 > (int)noName←c89156)) { goto lab←L100077; }; lab←L100080: ; { word var←c89220; SOURCE(34286, 35) { word pd415; pd415 = (* (( (ptr) (* (( (ptr) gf←c96644)+161)/* var←c84516 */ ))+29) ); seg←v22976 = (word) ( *( (fPt) ((* (ptr) pd415 ))))(slice←v11924, SGNCK(i←v23188), pd415); }; SOURCE(34323, 42) { word var←c89188; var←c89188 = (* (( (ptr) trajParts←v11896)+2) ); { word limit416; controlPoints←v22948 = (* ((( (ptr) var←c89188)+1)+( limit416 = (* (ptr) var←c89188 ), BCK(i←v23188, limit416) )) ); }; }; SOURCE(34367, 42) { word pd417; pd417 = (* (( (ptr) (* (ptr) seg←v22976 ))+17) ); cpCount←v23004 = (word) ( *( (fPt) ((* (ptr) pd417 ))))(seg←v22976, pd417); }; SOURCE(34411, 552) { word limit418; var←c89220 = (* (ptr) trajParts←v11896 ); if ( ! XR←ExtractField(var←c89220, 32 + (word) ( limit418 = (* (ptr) var←c89220 ), BCK(i←v23188, limit418) ), 1)) { SOURCE(34447, 434) { register word j←v23232 = 0; register word noName←c89252; noName←c89252 = cpCount←v23004; if ((j←v23232 >= noName←c89252)) { goto lab←L100081; }; lab←L100084: ; SOURCE(34477, 404) { word limit419; if (XR←ExtractField(controlPoints←v22948, 32 + (word) ( limit419 = (* (ptr) controlPoints←v22948 ), BCK(j←v23232, limit419) ), 1)) { SOURCE(34504, 86) if ((0 == drawForTraj←v23116)) { SOURCE(34528, 62) { /*1*/ word var←c89284; /*1*/ word var←c89316; /*1*/ word var←c89348; /*1*/ { /*1*/ word pd420; /*1*/ word idx421; /*1*/ pd420 = (* (( (ptr) (* (( (ptr) gf←c96644)+161)/* var←c84516 */ ))+37) ); /*1*/ var←c89284 = ( /*1*/ idx421 = (word) ((word) ( *( (fPt) ((* (ptr) pd420 ))))(slice←v11924, pd420) + 1), /*1*/ BCK(idx421, 67108863) /*1*/ ); /*1*/ }; /*1*/ var←c89316 = ((word) var←c89284 << 2); /*1*/ var←c89348 = XR←NewObject((4 + var←c89316), (* (( (ptr) gf←c96644)+23) )); /*1*/ (* (ptr) var←c89348 ) = var←c89284; /*1*/ cPointsInSeq←v23032 = var←c89348; /*1*/ }; }; SOURCE(34592, 68) if ((0 == drawForSeg←v23144)) { SOURCE(34615, 45) { /*1*/ word var←c89380; /*1*/ word var←c89412; /*1*/ word var←c89444; /*1*/ var←c89380 = BCK(cpCount←v23004, 22369621); /*1*/ var←c89412 = ((word) var←c89380 * 12); /*1*/ var←c89444 = XR←NewObject((4 + var←c89412), (* (( (ptr) gf←c96644)+22) )); /*1*/ (* (ptr) var←c89444 ) = var←c89380; /*1*/ cPointsInSeg←v23060 = var←c89444; /*1*/ }; }; SOURCE(34662, 101) { W2 var←c89476; { /*1*/ W2 var←c89508; /*1*/ { /*1*/ word pd422; /*1*/ pd422 = (* (( (ptr) (* (ptr) seg←v22976 ))+16) ); /*1*/ (void) ( *( (fPt) ((* (ptr) pd422 ))))((word) &var←c89508, seg←v22976, j←v23232, pd422); /*1*/ }; /*1*/ { /*1*/ W2 var←c0606; /*1*/ { /*1*/ word pd423; /*1*/ pd423 = (* (( (ptr) (* (( (ptr) gf←c96644)+156)/* var←c83940 */ ))+39) ); /*1*/ (void) ( *( (fPt) ((* (ptr) pd423 ))))((word) &var←c0606, transform←v11952, var←c89508, pd423); /*1*/ }; /*1*/ var←c89476 = var←c0606; /*1*/ }; /*1*/ }; { /*1*/ word limit424; /*1*/ (* (W2Pt) (( (W3Pt) (( (ptr) cPointsInSeg←v23060)+1))+( /*1*/ limit424 = (* (ptr) cPointsInSeg←v23060 ), /*1*/ BCK(j←v23232, limit424) /*1*/ )) ) = var←c89476; /*1*/ }; }; SOURCE(34765, 27) { word limit425; (* (( (W3Pt) (( (ptr) cPointsInSeg←v23060)+1))+( /*1*/ limit425 = (* (ptr) cPointsInSeg←v23060 ), /*1*/ BCK(j←v23232, limit425) /*1*/ )) ).f2 = 1; }; SOURCE(34794, 31) drawForSeg←v23144 = 1; drawForTraj←v23116 = 1; } else { SOURCE(34834, 47) if ((0 != drawForSeg←v23144)) { SOURCE(34853, 28) { /*1*/ word limit426; /*1*/ (* (( (W3Pt) (( (ptr) cPointsInSeg←v23060)+1))+( /*1*/ limit426 = (* (ptr) cPointsInSeg←v23060 ), /*1*/ BCK(j←v23232, limit426) /*1*/ )) ).f2 = 0; /*1*/ }; }; }; }; j←v23232 = (j←v23232 + 1); if ((j←v23232 < noName←c89252)) { goto lab←L100084; }; lab←L100081: ; }; SOURCE(34892, 71) if ((0 != drawForSeg←v23144)) { SOURCE(34913, 30) { word limit427; (* ((( (ptr) cPointsInSeq←v23032)+1)+( limit427 = (* (ptr) cPointsInSeq←v23032 ), BCK(i←v23188, limit427) )) ) = cPointsInSeg←v23060; }; SOURCE(34945, 18) drawForSeg←v23144 = 0; }; }; }; }; if (( (int)i←v23188 >= (int)noName←c89156)) { goto lab←L100077; }; i←v23188 = (i←v23188 + 1); goto lab←L100080; lab←L100077: ; }; SOURCE(34980, 290) if ((cPointsInSeq←v23032 != 0)) { SOURCE(35007, 263) { register word i←v23276 = 0; register word noName←c89540; word var←c89572; noName←c89540 = (* (ptr) cPointsInSeq←v23032 ); if ((i←v23276 >= noName←c89540)) { goto lab←L100085; }; lab←L100088: ; SOURCE(35046, 224) { word tc428; word limit429; word limit430; var←c89572 = (* (ptr) trajParts←v11896 ); if ( ! XR←ExtractField(var←c89572, 32 + (word) ( limit429 = (* (ptr) var←c89572 ), BCK(i←v23276, limit429) ), 1)) { tc428 = (word) ((* ((( (ptr) cPointsInSeq←v23032)+1)+( limit430 = (* (ptr) cPointsInSeq←v23032 ), BCK(i←v23276, limit430) )) ) != 0); } else { tc428 = (word) 0; }; if (tc428) { SOURCE(35110, 160) { register word j←v23320 = 0; register word noName←c89604; { word limit431; noName←c89604 = (* (ptr) (* ((( (ptr) cPointsInSeq←v23032)+1)+( limit431 = (* (ptr) cPointsInSeq←v23032 ), BCK(i←v23276, limit431) )) ) ); }; if ((j←v23320 >= noName←c89604)) { goto lab←L100089; }; lab←L100092: ; { W2 cPoint←v23364; word var←c89636; word var←c89668; word var←c01270; SOURCE(35152, 41) { word limit433; { word limit432; var←c89636 = (* ((( (ptr) cPointsInSeq←v23032)+1)+( /*1*/ limit432 = (* (ptr) cPointsInSeq←v23032 ), /*1*/ BCK(i←v23276, limit432) /*1*/ )) ); }; cPoint←v23364 = (* (W2Pt) (( (W3Pt) (( (ptr) var←c89636)+1))+( /*1*/ limit433 = (* (ptr) var←c89636 ), /*1*/ BCK(j←v23320, limit433) /*1*/ )) ); }; SOURCE(35195, 75) { word limit435; { word limit434; var←c89668 = (* ((( (ptr) cPointsInSeq←v23032)+1)+( /*1*/ limit434 = (* (ptr) cPointsInSeq←v23032 ), /*1*/ BCK(i←v23276, limit434) /*1*/ )) ); }; var←c01270 = (* (( (W3Pt) (( (ptr) var←c89668)+1))+( /*1*/ limit435 = (* (ptr) var←c89668 ), /*1*/ BCK(j←v23320, limit435) /*1*/ )) ).f2; }; if ((0 != var←c01270)) { SOURCE(35227, 43) { word pd436; pd436 = (* (( (ptr) (* (( (ptr) gf←c96644)+168)/* var←c87012 */ ))+19) ); (void) ( *( (fPt) ((* (ptr) pd436 ))))(dc←v11868, cPoint←v23364, (* (( (ptr) camera←v11980)+4) ), pd436); }; }; }; j←v23320 = (j←v23320 + 1); if ((j←v23320 < noName←c89604)) { goto lab←L100092; }; lab←L100089: ; }; }; }; i←v23276 = (i←v23276 + 1); if ((i←v23276 < noName←c89540)) { goto lab←L100088; }; lab←L100085: ; }; }; } static void DrawSingleStrokeTraj←P1680(dc←v12040, formal←c01337) word dc←v12040; word formal←c01337; { W10 var←c96676; /* declaration of slice←v12068 skipped */ register ptr gf←c96708 = (ptr) &globalframe; /* declaration of var←c89700 skipped */ /* declaration of var←c89732 skipped */ word trajData←v23464; word firstSeg←v23492; word strokeWidth←v23520; /* declaration of pattern←v23548 skipped */ (* (( (ptr) &var←c96676)+4)/* slice←v12068 */ ) = formal←c01337; /* DrawSingleStrokeTraj: */ SOURCE(36486, 1044) { word tmpAddr437; tmpAddr437 = (word) (( (ptr) &var←c96676)+5)/* var←c89700 */ ; (* (ptr) tmpAddr437 ) = ( ((word) (fPt) PatternProc←P6456) ); (* (( (ptr) tmpAddr437) + 1) ) = 1; }; { word tmpAddr438; tmpAddr438 = (word) (( (ptr) &var←c96676)+7)/* var←c89732 */ ; (* (ptr) tmpAddr438 ) = ( ((word) (fPt) BuildPath←P6396) ); (* (( (ptr) tmpAddr438) + 1) ) = 1; }; SOURCE(36920, 39) trajData←v23464 = XR←Narrow((* (( (ptr) (* (( (ptr) &var←c96676)+4)/* slice←v12068 */ ))+1) ), (* (( (ptr) gf←c96708)+10) )); SOURCE(36961, 49) { word pd439; pd439 = (* (( (ptr) (* (( (ptr) gf←c96708)+161)/* var←c84516 */ ))+29) ); firstSeg←v23492 = (word) ( *( (fPt) ((* (ptr) pd439 ))))((* (( (ptr) &var←c96676)+4)/* slice←v12068 */ ), 0, pd439); }; SOURCE(37012, 40) strokeWidth←v23520 = (* (( (ptr) firstSeg←v23492)+2) ); SOURCE(37054, 42) (* (( (ptr) &var←c96676)+9)/* pattern←v23548 */ ) = (* (( (ptr) firstSeg←v23492)+5) ); SOURCE(37098, 52) { word x440; word x441; if ((( x440 = strokeWidth←v23520, *(float*)&x440 ) == ( x441 = (* (ptr) &fc123 ), *(float*)&x441 )) || ((* (( (ptr) firstSeg←v23492)+8) ) == 0)) { SOURCE(37144, 6) return; }; }; SOURCE(37152, 38) { word pd442; pd442 = (* (( (ptr) (* (( (ptr) gf←c96708)+167)/* var←c86788 */ ))+68) ); (void) ( *( (fPt) ((* (ptr) pd442 ))))(dc←v12040, strokeWidth←v23520, pd442); }; SOURCE(37192, 43) { word pd443; pd443 = (* (( (ptr) (* (( (ptr) gf←c96708)+167)/* var←c86788 */ ))+69) ); (void) ( *( (fPt) ((* (ptr) pd443 ))))(dc←v12040, (* (( (ptr) firstSeg←v23492)+3) ), pd443); }; SOURCE(37237, 47) { word pd444; pd444 = (* (( (ptr) (* (( (ptr) gf←c96708)+167)/* var←c86788 */ ))+70) ); (void) ( *( (fPt) ((* (ptr) pd444 ))))(dc←v12040, (* (( (ptr) trajData←v23464)+6) ), pd444); }; SOURCE(37286, 35) { word pd445; pd445 = (* (( (ptr) (* (( (ptr) gf←c96708)+167)/* var←c86788 */ ))+52) ); (void) ( *( (fPt) ((* (ptr) pd445 ))))(dc←v12040, (* (( (ptr) firstSeg←v23492)+8) ), pd445); }; SOURCE(37323, 207) if ((0 != (* (( (ptr) firstSeg←v23492)+4) ))) { SOURCE(37347, 104) { word pd446; pd446 = (* (( (ptr) (* (( (ptr) gf←c96708)+167)/* var←c86788 */ ))+75) ); (void) ( *( (fPt) ((* (ptr) pd446 ))))(dc←v12040, (word) (( (bPt) &var←c96676)+28)/* var←c89732 */ , (* (ptr) (* (( (ptr) &var←c96676)+9) /* pattern←v23548 */ ) ), (word) (( (bPt) &var←c96676)+20)/* var←c89700 */ , (* (( (ptr) firstSeg←v23492)+6) ), (* (( (ptr) firstSeg←v23492)+7) ), pd446); }; } else { SOURCE(37451, 79) { word pd447; pd447 = (* (( (ptr) (* (( (ptr) gf←c96708)+167)/* var←c86788 */ ))+71) ); (void) ( *( (fPt) ((* (ptr) pd447 ))))(dc←v12040, (word) (( (bPt) &var←c96676)+28)/* var←c89732 */ , (unsigned) ( ((* (ptr) trajData←v23464 ) == 0) ? 1 : ((* (ptr) trajData←v23464 ) == 1) ) , pd447) ; }; }; } static void BuildPath←P6396(moveTo←v71612, lineTo←v71640, curveTo←v71668, conicTo←v71696, arcTo←v71724, formal←c96772) word moveTo←v71612; word lineTo←v71640; word curveTo←v71668; word conicTo←v71696; word arcTo←v71724; word formal←c96772; { register ptr gf←c96740 = (ptr) &globalframe; word seg←v23696 = 0; word hiSegment←v23724; W2 firstPoint←v23752; formal←c96772 = (formal←c96772 - 28); /* BuildPath: */ SOURCE(36552, 285) SOURCE(36597, 40) { word pd448; pd448 = (* (( (ptr) (* (( (ptr) gf←c96740)+161)/* var←c84516 */ ))+37) ); hiSegment←v23724 = (word) ( *( (fPt) ((* (ptr) pd448 ))))((* ((( (ptr) formal←c96772)+4)) ), pd448); }; SOURCE(36639, 50) { word pd449; pd449 = (* (( (ptr) (* (( (ptr) gf←c96740)+161)/* var←c84516 */ ))+32) ); (void) ( *( (fPt) ((* (ptr) pd449 ))))((word) &firstPoint←v23752, (* (( (ptr) formal←c96772)+4) ), 0, pd449); }; SOURCE(36691, 18) (void) ( *( (fPt) ((* (ptr) moveTo←v71612 ))))(firstPoint←v23752, moveTo←v71612); SOURCE(36711, 126) { register word i←v23796 = 0; register word noName←c89764; noName←c89764 = hiSegment←v23724; if (( (int)i←v23796 > (int)noName←c89764)) { goto lab←L100093; }; lab←L100096: ; SOURCE(36743, 35) { word pd450; pd450 = (* (( (ptr) (* (( (ptr) gf←c96740)+161)/* var←c84516 */ ))+29) ); seg←v23696 = (word) ( *( (fPt) ((* (ptr) pd450 ))))((* (( (ptr) formal←c96772)+4) ), SGNCK(i←v23796), pd450); }; SOURCE(36780, 57) { word pd451; pd451 = (* (( (ptr) (* (ptr) seg←v23696 ))+6) ); (void) ( *( (fPt) ((* (ptr) pd451 ))))(seg←v23696, lineTo←v71640, curveTo←v71668, conicTo←v71696, arcTo←v71724, pd451); }; if (( (int)i←v23796 >= (int)noName←c89764)) { goto lab←L100093; }; i←v23796 = (i←v23796 + 1); goto lab←L100096; lab←L100093: ; }; } static word PatternProc←P6456(i←v23624, formal←c96804) word i←v23624; word formal←c96804; { word var←c23668; formal←c96804 = (formal←c96804 - 20); /* PatternProc: */ SOURCE(36851, 64) SOURCE(36897, 18) { word limit452; return((* ((( (ptr) (* (( (ptr) formal←c96804)+9) ))+1)+( limit452 = (* (ptr) (* (( (ptr) formal←c96804)+9) ) ), BCK(i←v23624, limit452) )) )); }; } static void DrawTraj←P1740(dc←v12128, formal←c01338) word dc←v12128; word formal←c01338; { W8 var←c96836; /* declaration of slice←v12156 skipped */ register ptr gf←c96868 = (ptr) &globalframe; /* declaration of var←c89796 skipped */ /* declaration of trajData←v23868 skipped */ var←c96836.f4/* slice←v12156 */ = formal←c01338; /* DrawTraj: */ SOURCE(37564, 606) { word tmpAddr453; tmpAddr453 = (word) (( (ptr) &var←c96836)+5)/* var←c89796 */ ; (* (ptr) tmpAddr453 ) = ( ((word) (fPt) DoDrawTraj←P6564) ); (* (( (ptr) tmpAddr453) + 1) ) = 1; }; SOURCE(38034, 39) var←c96836.f7/* trajData←v23868 */ = XR←Narrow((* (( (ptr) var←c96836.f4/* slice←v12156 */ )+1) ), (* (( (ptr) gf←c96868)+10) )); SOURCE(38075, 95) if ((0 != (word) AllStrokePropsAndColorsEqual←P2340(var←c96836.f4/* slice←v12156 */ ))) { SOURCE(38119, 37) (void) DrawSingleStrokeTraj←P1680(dc←v12128, var←c96836.f4/* slice←v12156 */ ); } else { SOURCE(38156, 14) (void) DoDrawTraj←P6564(dc←v12128, (word) (( (bPt) &var←c96836)+20)/* var←c89796 */ ); }; } static void DoDrawTraj←P6564(dc←v23944, formal←c96932) word dc←v23944; word formal←c96932; { register ptr gf←c96900 = (ptr) &globalframe; word seg←v23972 = 0; word hiSegment←v24000; formal←c96932 = (formal←c96932 - 20); /* DoDrawTraj: */ SOURCE(37618, 399) SOURCE(37674, 40) { word pd454; pd454 = (* (( (ptr) (* (( (ptr) gf←c96900)+161)/* var←c84516 */ ))+37) ); hiSegment←v24000 = (word) ( *( (fPt) ((* (ptr) pd454 ))))((* ((( (ptr) formal←c96932)+4)) ), pd454); }; SOURCE(37716, 47) { word pd455; pd455 = (* (( (ptr) (* (( (ptr) gf←c96900)+167)/* var←c86788 */ ))+70) ); (void) ( *( (fPt) ((* (ptr) pd455 ))))(dc←v23944, (* (( (ptr) (* (( (ptr) formal←c96932)+7) ))+6) ), pd455); }; SOURCE(37765, 252) { register word i←v24044 = 0; register word noName←c89828; noName←c89828 = hiSegment←v24000; if (( (int)i←v24044 > (int)noName←c89828)) { goto lab←L100097; }; lab←L100100: ; SOURCE(37797, 35) { word pd456; pd456 = (* (( (ptr) (* (( (ptr) gf←c96900)+161)/* var←c84516 */ ))+29) ); seg←v23972 = (word) ( *( (fPt) ((* (ptr) pd456 ))))((* (( (ptr) formal←c96932)+4) ), SGNCK(i←v24044), pd456); }; SOURCE(37834, 183) { word x457; word x458; if ( ( (( x457 = (* (( (ptr) seg←v23972)+2) ), *(float*)&x457 ) != ( x458 = (* (ptr) &fc123 ), *(float*)&x458 )) ? ((* (( (ptr) seg←v23972)+8) ) != 0) : 0 ) ) { SOURCE(37882, 42) { word pd459; pd459 = (* (( (ptr) (* (( (ptr) gf←c96900)+167)/* var←c86788 */ ))+68) ); (void) ( *( (fPt) ((* (ptr) pd459 ))))(dc←v23944, (* (( (ptr) seg←v23972)+2) ), pd459); }; SOURCE(37926, 38) { word pd460; pd460 = (* (( (ptr) (* (( (ptr) gf←c96900)+167)/* var←c86788 */ ))+69) ); (void) ( *( (fPt) ((* (ptr) pd460 ))))(dc←v23944, (* (( (ptr) seg←v23972)+3) ), pd460); }; SOURCE(37966, 30) { word pd461; pd461 = (* (( (ptr) (* (( (ptr) gf←c96900)+167)/* var←c86788 */ ))+52) ); (void) ( *( (fPt) ((* (ptr) pd461 ))))(dc←v23944, (* (( (ptr) seg←v23972)+8) ), pd461); }; SOURCE(37998, 19) (void) MaskStroke←P2220(dc←v23944, seg←v23972); }; }; if (( (int)i←v24044 >= (int)noName←c89828)) { goto lab←L100097; }; i←v24044 = (i←v24044 + 1); goto lab←L100100; lab←L100097: ; }; } static void DrawSingleStrokeTrajSeq←P1800(dc←v12216, formal←c01339, parts←v12272) word dc←v12216; word formal←c01339; word parts←v12272; { W11 var←c96964; /* declaration of slice←v12244 skipped */ register ptr gf←c96996 = (ptr) &globalframe; /* declaration of var←c89860 skipped */ /* declaration of var←c89892 skipped */ word trajData←v24144; /* declaration of trajParts←v24172 skipped */ word firstSeg←v24200; /* declaration of pattern←v24228 skipped */ (* (( (ptr) &var←c96964)+4)/* slice←v12244 */ ) = formal←c01339; /* DrawSingleStrokeTrajSeq: */ SOURCE(38201, 1077) { word tmpAddr462; tmpAddr462 = (word) (( (ptr) &var←c96964)+5)/* var←c89860 */ ; (* (ptr) tmpAddr462 ) = ( ((word) (fPt) PatternProc←P6732) ); (* (( (ptr) tmpAddr462) + 1) ) = 1; }; { word tmpAddr463; tmpAddr463 = (word) (( (ptr) &var←c96964)+7)/* var←c89892 */ ; (* (ptr) tmpAddr463 ) = ( ((word) (fPt) BuildPath←P6672) ); (* (( (ptr) tmpAddr463) + 1) ) = 1; }; SOURCE(38654, 39) trajData←v24144 = XR←Narrow((* (( (ptr) (* (( (ptr) &var←c96964)+4)/* slice←v12244 */ ))+1) ), (* (( (ptr) gf←c96996)+10) )); SOURCE(38695, 36) (* (( (ptr) &var←c96964)+9)/* trajParts←v24172 */ ) = XR←Narrow(parts←v12272, (* (( (ptr) gf←c96996)+15) )); SOURCE(38733, 49) { word pd464; pd464 = (* (( (ptr) (* (( (ptr) gf←c96996)+161)/* var←c84516 */ ))+29) ); firstSeg←v24200 = (word) ( *( (fPt) ((* (ptr) pd464 ))))((* (( (ptr) &var←c96964)+4)/* slice←v12244 */ ), 0, pd464); }; SOURCE(38784, 42) (* (( (ptr) &var←c96964)+10)/* pattern←v24228 */ ) = (* (( (ptr) firstSeg←v24200)+5) ); SOURCE(38828, 61) { word x465; word x466; if ((( x465 = (* (( (ptr) firstSeg←v24200)+2) ), *(float*)&x465 ) == ( x466 = (* (ptr) &fc123 ), *(float*)&x466 )) || ((* (( (ptr) firstSeg←v24200)+8) ) == 0)) { SOURCE(38883, 6) return; }; }; SOURCE(38891, 47) { word pd467; pd467 = (* (( (ptr) (* (( (ptr) gf←c96996)+167)/* var←c86788 */ ))+68) ); (void) ( *( (fPt) ((* (ptr) pd467 ))))(dc←v12216, (* (( (ptr) firstSeg←v24200)+2) ), pd467); }; SOURCE(38940, 43) { word pd468; pd468 = (* (( (ptr) (* (( (ptr) gf←c96996)+167)/* var←c86788 */ ))+69) ); (void) ( *( (fPt) ((* (ptr) pd468 ))))(dc←v12216, (* (( (ptr) firstSeg←v24200)+3) ), pd468); }; SOURCE(38985, 47) { word pd469; pd469 = (* (( (ptr) (* (( (ptr) gf←c96996)+167)/* var←c86788 */ ))+70) ); (void) ( *( (fPt) ((* (ptr) pd469 ))))(dc←v12216, (* (( (ptr) trajData←v24144)+6) ), pd469); }; SOURCE(39034, 35) { word pd470; pd470 = (* (( (ptr) (* (( (ptr) gf←c96996)+167)/* var←c86788 */ ))+52) ); (void) ( *( (fPt) ((* (ptr) pd470 ))))(dc←v12216, (* (( (ptr) firstSeg←v24200)+8) ), pd470); }; SOURCE(39071, 207) if ((0 != (* (( (ptr) firstSeg←v24200)+4) ))) { SOURCE(39095, 104) { word pd471; pd471 = (* (( (ptr) (* (( (ptr) gf←c96996)+167)/* var←c86788 */ ))+75) ); (void) ( *( (fPt) ((* (ptr) pd471 ))))(dc←v12216, (word) (( (bPt) &var←c96964)+28)/* var←c89892 */ , (* (ptr) (* (( (ptr) &var←c96964)+10) /* pattern←v24228 */ ) ), (word) (( (bPt) &var←c96964)+20)/* var←c89860 */ , (* (( (ptr) firstSeg←v24200)+6) ), (* (( (ptr) firstSeg←v24200)+7) ), pd471); }; } else { SOURCE(39199, 79) { word pd472; pd472 = (* (( (ptr) (* (( (ptr) gf←c96996)+167)/* var←c86788 */ ))+71) ); (void) ( *( (fPt) ((* (ptr) pd472 ))))(dc←v12216, (word) (( (bPt) &var←c96964)+28)/* var←c89892 */ , (unsigned) ( ((* (ptr) trajData←v24144 ) == 0) ? 1 : ((* (ptr) trajData←v24144 ) == 1) ) , pd472) ; }; }; } static void BuildPath←P6672(moveTo←v71784, lineTo←v71812, curveTo←v71840, conicTo←v71868, arcTo←v71896, formal←c97060) word moveTo←v71784; word lineTo←v71812; word curveTo←v71840; word conicTo←v71868; word arcTo←v71896; word formal←c97060; { register ptr gf←c97028 = (ptr) &globalframe; word hiSegment←v24376; formal←c97060 = (formal←c97060 - 28); /* BuildPath: */ SOURCE(38295, 273) SOURCE(38326, 40) { word pd473; pd473 = (* (( (ptr) (* (( (ptr) gf←c97028)+161)/* var←c84516 */ ))+37) ); hiSegment←v24376 = (word) ( *( (fPt) ((* (ptr) pd473 ))))((* ((( (ptr) formal←c97060)+4)) ), pd473); }; SOURCE(38368, 200) { register word i←v24420 = 0; register word noName←c89924; word var←c89956; noName←c89924 = hiSegment←v24376; if (( (int)i←v24420 > (int)noName←c89924)) { goto lab←L100101; }; lab←L100104: ; SOURCE(38400, 168) { word limit475; if (((* (( (ptr) formal←c97060)+9) ) == 0)) { goto then0474;}; var←c89956 = (* (ptr) (* (( (ptr) formal←c97060)+9) ) ); if (XR←ExtractField(var←c89956, 32 + (word) ( limit475 = (* (ptr) var←c89956 ), BCK(i←v24420, limit475) ), 1)) { then0474: ; SOURCE(38447, 123) { word seg←v24464; SOURCE(38449, 44) { word pd476; pd476 = (* (( (ptr) (* (( (ptr) gf←c97028)+161)/* var←c84516 */ ))+29) ); seg←v24464 = (word) ( *( (fPt) ((* (ptr) pd476 ))))((* (( (ptr) formal←c97060)+4) ), SGNCK(i←v24420), pd476); }; SOURCE(38495, 14) (void) ( *( (fPt) ((* (ptr) moveTo←v71784 ))))((* (W2Pt) ((( (ptr) seg←v24464)+9)) ), moveTo←v71784); SOURCE(38511, 57) { word pd477; pd477 = (* (( (ptr) (* (ptr) seg←v24464 ))+6) ); (void) ( *( (fPt) ((* (ptr) pd477 ))))(seg←v24464, lineTo←v71812, curveTo←v71840, conicTo←v71868, arcTo←v71896, pd477); }; }; }; }; if (( (int)i←v24420 >= (int)noName←c89924)) { goto lab←L100101; }; i←v24420 = (i←v24420 + 1); goto lab←L100104; lab←L100101: ; }; } static word PatternProc←P6732(i←v24304, formal←c97092) word i←v24304; word formal←c97092; { word var←c24348; formal←c97092 = (formal←c97092 - 20); /* PatternProc: */ SOURCE(38585, 64) SOURCE(38631, 18) { word limit478; return((* ((( (ptr) (* (( (ptr) formal←c97092)+10) ))+1)+( limit478 = (* (ptr) (* (( (ptr) formal←c97092)+10) ) ), BCK(i←v24304, limit478) )) )); }; } static void DrawCpsAndJoints←P1860(dc←v12332, seg←v12360, camera←v12388, selSeq←v12416, segNum←v12444, editConstraints←v12472) word dc←v12332; word seg←v12360; word camera←v12388; word selSeq←v12416; word segNum←v12444; word editConstraints←v12472; { register ptr gf←c97124 = (ptr) &globalframe; W2 point←v24508; /* DrawCpsAndJoints: */ SOURCE(39284, 512) SOURCE(39460, 46) { word pd479; pd479 = (* (( (ptr) (* (( (ptr) gf←c97124)+168)/* var←c87012 */ ))+18) ); (void) ( *( (fPt) ((* (ptr) pd479 ))))(dc←v12332, (* (W2Pt) (( (ptr) seg←v12360)+9) ), (* (( (ptr) camera←v12388)+4) ), pd479) ; }; SOURCE(39508, 46) { word pd480; pd480 = (* (( (ptr) (* (( (ptr) gf←c97124)+168)/* var←c87012 */ ))+18) ); (void) ( *( (fPt) ((* (ptr) pd480 ))))(dc←v12332, (* (W2Pt) (( (ptr) seg←v12360)+11) ), (* (( (ptr) camera←v12388)+4) ), pd480) ; }; SOURCE(39556, 240) { register word j←v24552 = 0; register word noName←c89988; { word pd481; pd481 = (* (( (ptr) (* (ptr) seg←v12360 ))+17) ); noName←c89988 = (word) ( *( (fPt) ((* (ptr) pd481 ))))(seg←v12360, pd481); }; if (( (int)j←v24552 >= (int)noName←c89988)) { goto lab←L100105; }; lab←L100108: ; SOURCE(39610, 186) { word pd483; if ((editConstraints←v12472 == 0)) { goto then0482;}; pd483 = (* (( (ptr) (* (( (ptr) gf←c97124)+159)/* var←c84100 */ ))+27) ); if ((0 == (word) ( *( (fPt) ((* (ptr) pd483 ))))(selSeq←v12416, segNum←v12444, SGNCK(j←v24552), editConstraints←v12472, pd483) )) { then0482: ; SOURCE(39711, 41) { word pd484; pd484 = (* (( (ptr) (* (ptr) seg←v12360 ))+16) ); (void) ( *( (fPt) ((* (ptr) pd484 ))))((word) &point←v24508, seg←v12360, SGNCK(j←v24552), pd484); }; SOURCE(39754, 42) { word pd485; pd485 = (* (( (ptr) (* (( (ptr) gf←c97124)+168)/* var←c87012 */ ))+19) ); (void) ( *( (fPt) ((* (ptr) pd485 ))))(dc←v12332, point←v24508, (* (( (ptr) camera←v12388)+4) ), pd485); }; }; }; j←v24552 = (j←v24552 + 1); if (( (int)j←v24552 < (int)noName←c89988)) { goto lab←L100108; }; lab←L100105: ; }; } static void EnlargeByCpsAndJoints←P1920(box←v12532, seg←v12560, camera←v12588, selSeq←v12616, segNum←v12644, editConstraints←v12672) word box←v12532; word seg←v12560; word camera←v12588; word selSeq←v12616; word segNum←v12644; word editConstraints←v12672; { register ptr gf←c97156 = (ptr) &globalframe; W2 point←v24596; /* EnlargeByCpsAndJoints: */ SOURCE(39814, 492) SOURCE(39990, 38) { word pd486; pd486 = (* (( (ptr) (* (( (ptr) gf←c97156)+158)/* var←c84068 */ ))+15) ); (void) ( *( (fPt) ((* (ptr) pd486 ))))(box←v12532, (* (W2Pt) (( (ptr) seg←v12560)+9) ), pd486); }; SOURCE(40030, 38) { word pd487; pd487 = (* (( (ptr) (* (( (ptr) gf←c97156)+158)/* var←c84068 */ ))+15) ); (void) ( *( (fPt) ((* (ptr) pd487 ))))(box←v12532, (* (W2Pt) (( (ptr) seg←v12560)+11) ), pd487); }; SOURCE(40070, 236) { register word j←v24640 = 0; register word noName←c90020; { word pd488; pd488 = (* (( (ptr) (* (ptr) seg←v12560 ))+17) ); noName←c90020 = (word) ( *( (fPt) ((* (ptr) pd488 ))))(seg←v12560, pd488); }; if (( (int)j←v24640 >= (int)noName←c90020)) { goto lab←L100109; }; lab←L100112: ; SOURCE(40125, 181) { word pd490; if ((editConstraints←v12672 == 0)) { goto then0489;}; pd490 = (* (( (ptr) (* (( (ptr) gf←c97156)+159)/* var←c84100 */ ))+27) ); if ((0 == (word) ( *( (fPt) ((* (ptr) pd490 ))))(selSeq←v12616, segNum←v12644, SGNCK(j←v24640), editConstraints←v12672, pd490) )) { then0489: ; SOURCE(40226, 41) { word pd491; pd491 = (* (( (ptr) (* (ptr) seg←v12560 ))+16) ); (void) ( *( (fPt) ((* (ptr) pd491 ))))((word) &point←v24596, seg←v12560, SGNCK(j←v24640), pd491); }; SOURCE(40269, 37) { word pd492; pd492 = (* (( (ptr) (* (( (ptr) gf←c97156)+158)/* var←c84068 */ ))+15) ); (void) ( *( (fPt) ((* (ptr) pd492 ))))(box←v12532, point←v24596, pd492); }; }; }; j←v24640 = (j←v24640 + 1); if (( (int)j←v24640 < (int)noName←c90020)) { goto lab←L100112; }; lab←L100109: ; }; } static void TrajSaveSelections←P1980(slice←v12732, parts←v12760, selectClass←v12788) word slice←v12732; word parts←v12760; word selectClass←v12788; { register ptr gf←c97188 = (ptr) &globalframe; word trajParts←v24684; /* TrajSaveSelections: */ SOURCE(40324, 257) SOURCE(40416, 36) trajParts←v24684 = XR←Narrow(parts←v12760, (* (( (ptr) gf←c97188)+15) )); SOURCE(40454, 127) if ((trajParts←v24684 == 0)) { SOURCE(40476, 47) { word pd493; pd493 = (* (( (ptr) (* (( (ptr) gf←c97188)+161)/* var←c84516 */ ))+49) ); (void) ( *( (fPt) ((* (ptr) pd493 ))))(slice←v12732, selectClass←v12788, pd493); }; } else { SOURCE(40523, 58) { word pd494; pd494 = (* (( (ptr) (* (( (ptr) gf←c97188)+161)/* var←c84516 */ ))+48) ); (void) ( *( (fPt) ((* (ptr) pd494 ))))(slice←v12732, trajParts←v24684, selectClass←v12788, pd494); }; }; } static word TrajRemakeSelections←P2040(slice←v12848, selectClass←v12876) word slice←v12848; word selectClass←v12876; { register ptr gf←c97220 = (ptr) &globalframe; word parts←v12920; /* TrajRemakeSelections: */ SOURCE(40587, 153) SOURCE(40587, 153) parts←v12920 = 0; SOURCE(40690, 50) { word pd495; pd495 = (* (( (ptr) (* (( (ptr) gf←c97220)+161)/* var←c84516 */ ))+51) ); return((word) ( *( (fPt) ((* (ptr) pd495 ))))(slice←v12848, selectClass←v12876, pd495)); }; } static word DrawConstrained←P2100(dc←v12980, slice←v13008, transformParts←v13036, segNum←v13064, seg←v13092, transform←v13120, entire←v13148, lo←v13176, hi←v13204, controlPoints←v13232, editConstraints←v13260, lineTo←v13288, curveTo←v13316, conicTo←v13344, arcTo←v13372) word dc←v12980; word slice←v13008; word transformParts←v13036; word segNum←v13064; word seg←v13092; word transform←v13120; word entire←v13148; word lo←v13176; word hi←v13204; word controlPoints←v13232; word editConstraints←v13260; word lineTo←v13288; word curveTo←v13316; word conicTo←v13344; word arcTo←v13372; { register ptr gf←c97252 = (ptr) &globalframe; word cPointsInSeg←v13416; /* DrawConstrained: */ SOURCE(40747, 6123) SOURCE(40747, 6123) cPointsInSeg←v13416 = 0; SOURCE(41114, 5756) if ((0 != entire←v13148)) { SOURCE(41129, 114) { word pd496; pd496 = (* (( (ptr) (* (ptr) seg←v13092 ))+7) ); (void) ( *( (fPt) ((* (ptr) pd496 ))))(seg←v13092, transform←v13120, entire←v13148, lo←v13176, hi←v13204, controlPoints←v13232 , lineTo←v13288, curveTo←v13316, conicTo←v13344, arcTo←v13372, pd496); }; } else { SOURCE(41243, 5629) { word selSeq←v24728; W2 dirVec←v24756; W2 newJoint←v24784; word distance←v24812; word partialTransform←v24840 = 0; word ctrlLoTrans←v24868 = 0; word ctrlHiTrans←v24896 = 0; W2 ctrlPoint←v24924; word ctrlPoints←v24952; SOURCE(41245, 42) selSeq←v24728 = XR←Narrow(transformParts←v13036, (* (( (ptr) gf←c97252)+15) )); SOURCE(41416, 57) ctrlPoints←v24952 = XR←NewObject(8, (* (( (ptr) gf←c97252)+21) )); (* (ptr) ctrlPoints←v24952 ) = 2; SOURCE(41475, 32) { word limit497; word limit498; word xs499; word x500; xs499 = (word) ( limit498 = (* (ptr) ctrlPoints←v24952 ), BCK(0, limit498) ); x500 = (word) ((( (bPt) ctrlPoints←v24952)+4) + ((word) xs499 >> 3)); xs499 = 8 - ((word) (xs499 & 7)+1); (* (bPt) x500 ) = ((* (bPt) x500 ) & ( ~ ((unsigned) 1 << xs499))) | (((XR←ExtractField(controlPoints←v13232, 32 + (word) ( limit497 = (* (ptr) controlPoints←v13232 ), BCK(0, limit497) ), 1))) << xs499); }; SOURCE(41509, 32) { word limit501; word limit502; word xs503; word x504; xs503 = (word) ( limit502 = (* (ptr) ctrlPoints←v24952 ), BCK(1, limit502) ); x504 = (word) ((( (bPt) ctrlPoints←v24952)+4) + ((word) xs503 >> 3)); xs503 = 8 - ((word) (xs503 & 7)+1); (* (bPt) x504 ) = ((* (bPt) x504 ) & ( ~ ((unsigned) 1 << xs503))) | (((XR←ExtractField(controlPoints←v13232, 32 + (word) ( limit501 = (* (ptr) controlPoints←v13232 ), BCK(1, limit501) ), 1))) << xs503); }; SOURCE(41543, 62) { word limit505; if (XR←ExtractField(ctrlPoints←v24952, 32 + (word) ( limit505 = (* (ptr) ctrlPoints←v24952 ), BCK(0, limit505) ), 1)) { ctrlLoTrans←v24868 = transform←v13120; } else { ctrlLoTrans←v24868 = (* (( (ptr) gf←c97252)+6)/* idTransform←v7144 */ ); }; }; SOURCE(41607, 62) { word limit506; if (XR←ExtractField(ctrlPoints←v24952, 32 + (word) ( limit506 = (* (ptr) ctrlPoints←v24952 ), BCK(1, limit506) ), 1)) { ctrlHiTrans←v24896 = transform←v13120; } else { ctrlHiTrans←v24896 = (* (( (ptr) gf←c97252)+6)/* idTransform←v7144 */ ); }; }; SOURCE(41671, 694) { word tc507; word limit508; if ((0 != lo←v13176)) { tc507 = (word) ! XR←ExtractField(ctrlPoints←v24952, 32 + (word) ( limit508 = (* (ptr) ctrlPoints←v24952 ), BCK(0, limit508) ), 1); } else { tc507 = (word) 0; }; if (tc507) { SOURCE(41729, 45) { word pd509; pd509 = (* (( (ptr) (* (ptr) seg←v13092 ))+16) ); (void) ( *( (fPt) ((* (ptr) pd509 ))))((word) &ctrlPoint←v24924, seg←v13092, 0, pd509); }; SOURCE(41776, 20) { word limit510; word xs511; xs511 = (word) ( limit510 = (* (ptr) ctrlPoints←v24952 ), BCK(0, limit510) ); (* (bPt) ((( (bPt) ctrlPoints←v24952)+4) + ((word) xs511 >> 3)) ) |= ((unsigned) 1 << 8 - ((word) (xs511 & 7)+1)); }; SOURCE(41798, 60) { word pd512; pd512 = (* (( (ptr) (* (( (ptr) gf←c97252)+156)/* var←c83940 */ ))+39) ); (void) ( *( (fPt) ((* (ptr) pd512 ))))((word) &newJoint←v24784, transform←v13120, (* (W2Pt) (( (ptr) seg←v13092)+9) ), pd512) ; }; SOURCE(41860, 98) { W2 var←c90116; { word pd513; pd513 = (* (( (ptr) (* (( (ptr) gf←c97252)+165)/* var←c85028 */ ))+22) ); (void) ( *( (fPt) ((* (ptr) pd513 ))))((word) &var←c90116, ctrlPoint←v24924, newJoint←v24784, pd513); }; { word pd514; pd514 = (* (( (ptr) (* (( (ptr) gf←c97252)+156)/* var←c83940 */ ))+10) ); partialTransform←v24840 = (word) ( *( (fPt) ((* (ptr) pd514 ))))(var←c90116, pd514); }; }; SOURCE(41960, 54) { word pd515; pd515 = (* (( (ptr) (* (( (ptr) gf←c97252)+165)/* var←c85028 */ ))+22) ); (void) ( *( (fPt) ((* (ptr) pd515 ))))((word) &dirVec←v24756, (* (W2Pt) (( (ptr) seg←v13092)+9) ), ctrlPoint←v24924, pd515) ; }; SOURCE(42016, 349) if ((editConstraints←v13260 == 1)) { { W2 var←c90148; SOURCE(42052, 50) { word pd516; pd516 = (* (( (ptr) (* (( (ptr) gf←c97252)+165)/* var←c85028 */ ))+19) ); distance←v24812 = (word) ( *( (fPt) ((* (ptr) pd516 ))))(newJoint←v24784, ctrlPoint←v24924, pd516); }; SOURCE(42104, 59) var←c90148.f0 = (* (ptr) &fc123 ); var←c90148.f1 = (* (ptr) &fc123 ); if ( ! XR←EqualWords(&dirVec←v24756, &var←c90148, 2)) { SOURCE(42127, 36) { word pd517; pd517 = (* (( (ptr) (* (( (ptr) gf←c97252)+165)/* var←c85028 */ ))+13) ); (void) ( *( (fPt) ((* (ptr) pd517 ))))((word) &dirVec←v24756, dirVec←v24756, pd517); }; }; SOURCE(42182, 100) { W2 var←c90180; { word pd518; pd518 = (* (( (ptr) (* (( (ptr) gf←c97252)+165)/* var←c85028 */ ))+12) ); (void) ( *( (fPt) ((* (ptr) pd518 ))))((word) &var←c90180, dirVec←v24756, distance←v24812, pd518); }; { word pd519; pd519 = (* (( (ptr) (* (( (ptr) gf←c97252)+156)/* var←c83940 */ ))+22) ); ctrlLoTrans←v24868 = (word) ( *( (fPt) ((* (ptr) pd519 ))))(partialTransform←v24840, var←c90180, pd519); }; }; }; } else { SOURCE(42291, 74) { word pd520; pd520 = (* (( (ptr) (* (( (ptr) gf←c97252)+156)/* var←c83940 */ ))+22) ); ctrlLoTrans←v24868 = (word) ( *( (fPt) ((* (ptr) pd520 ))))(partialTransform←v24840, dirVec←v24756, pd520); }; }; }; }; SOURCE(42371, 695) { word tc521; word limit522; if ((0 != hi←v13204)) { tc521 = (word) ! XR←ExtractField(ctrlPoints←v24952, 32 + (word) ( limit522 = (* (ptr) ctrlPoints←v24952 ), BCK(1, limit522) ), 1); } else { tc521 = (word) 0; }; if (tc521) { SOURCE(42430, 45) { word pd523; pd523 = (* (( (ptr) (* (ptr) seg←v13092 ))+16) ); (void) ( *( (fPt) ((* (ptr) pd523 ))))((word) &ctrlPoint←v24924, seg←v13092, 1, pd523); }; SOURCE(42477, 20) { word limit524; word xs525; xs525 = (word) ( limit524 = (* (ptr) ctrlPoints←v24952 ), BCK(1, limit524) ); (* (bPt) ((( (bPt) ctrlPoints←v24952)+4) + ((word) xs525 >> 3)) ) |= ((unsigned) 1 << 8 - ((word) (xs525 & 7)+1)); }; SOURCE(42499, 60) { word pd526; pd526 = (* (( (ptr) (* (( (ptr) gf←c97252)+156)/* var←c83940 */ ))+39) ); (void) ( *( (fPt) ((* (ptr) pd526 ))))((word) &newJoint←v24784, transform←v13120, (* (W2Pt) (( (ptr) seg←v13092)+11) ), pd526) ; }; SOURCE(42561, 98) { W2 var←c90212; { word pd527; pd527 = (* (( (ptr) (* (( (ptr) gf←c97252)+165)/* var←c85028 */ ))+22) ); (void) ( *( (fPt) ((* (ptr) pd527 ))))((word) &var←c90212, ctrlPoint←v24924, newJoint←v24784, pd527); }; { word pd528; pd528 = (* (( (ptr) (* (( (ptr) gf←c97252)+156)/* var←c83940 */ ))+10) ); partialTransform←v24840 = (word) ( *( (fPt) ((* (ptr) pd528 ))))(var←c90212, pd528); }; }; SOURCE(42661, 54) { word pd529; pd529 = (* (( (ptr) (* (( (ptr) gf←c97252)+165)/* var←c85028 */ ))+22) ); (void) ( *( (fPt) ((* (ptr) pd529 ))))((word) &dirVec←v24756, (* (W2Pt) (( (ptr) seg←v13092)+11) ), ctrlPoint←v24924, pd529) ; }; SOURCE(42717, 349) if ((editConstraints←v13260 == 1)) { { W2 var←c90244; SOURCE(42753, 50) { word pd530; pd530 = (* (( (ptr) (* (( (ptr) gf←c97252)+165)/* var←c85028 */ ))+19) ); distance←v24812 = (word) ( *( (fPt) ((* (ptr) pd530 ))))(newJoint←v24784, ctrlPoint←v24924, pd530); }; SOURCE(42805, 59) var←c90244.f0 = (* (ptr) &fc123 ); var←c90244.f1 = (* (ptr) &fc123 ); if ( ! XR←EqualWords(&dirVec←v24756, &var←c90244, 2)) { SOURCE(42828, 36) { word pd531; pd531 = (* (( (ptr) (* (( (ptr) gf←c97252)+165)/* var←c85028 */ ))+13) ); (void) ( *( (fPt) ((* (ptr) pd531 ))))((word) &dirVec←v24756, dirVec←v24756, pd531); }; }; SOURCE(42883, 100) { W2 var←c90276; { word pd532; pd532 = (* (( (ptr) (* (( (ptr) gf←c97252)+165)/* var←c85028 */ ))+12) ); (void) ( *( (fPt) ((* (ptr) pd532 ))))((word) &var←c90276, dirVec←v24756, distance←v24812, pd532); }; { word pd533; pd533 = (* (( (ptr) (* (( (ptr) gf←c97252)+156)/* var←c83940 */ ))+22) ); ctrlHiTrans←v24896 = (word) ( *( (fPt) ((* (ptr) pd533 ))))(partialTransform←v24840, var←c90276, pd533); }; }; }; } else { SOURCE(42992, 74) { word pd534; pd534 = (* (( (ptr) (* (( (ptr) gf←c97252)+156)/* var←c83940 */ ))+22) ); ctrlHiTrans←v24896 = (word) ( *( (fPt) ((* (ptr) pd534 ))))(partialTransform←v24840, dirVec←v24756, pd534); }; }; }; }; SOURCE(43073, 1539) { word tc535; word limit536; if ( ! XR←ExtractField(ctrlPoints←v24952, 32 + (word) ( limit536 = (* (ptr) ctrlPoints←v24952 ), BCK(0, limit536) ), 1)) { tc535 = (word) (0 == lo←v13176); } else { tc535 = (word) 0; }; if (tc535) { SOURCE(43110, 1543) { word prevSegNum←v24996; word var←c90340; SOURCE(43112, 58) { word pd537; pd537 = (* (( (ptr) (* (( (ptr) gf←c97252)+161)/* var←c84516 */ ))+42) ); prevSegNum←v24996 = (word) ( *( (fPt) ((* (ptr) pd537 ))))(slice←v13008, segNum←v13064, pd537); }; SOURCE(43172, 1440) { word tc538; word pd539; if (( (int)prevSegNum←v24996 != (int) (word) -1)) { pd539 = (* (( (ptr) (* (( (ptr) gf←c97252)+161)/* var←c84516 */ ))+29) ); tc538 = (word) ((* (ptr) (* (ptr) ( *( (fPt) ((* (ptr) pd539 ))))(slice←v13008, SGNCK(prevSegNum←v24996), pd539) ) ) == (* ( ( (ptr) gf←c97252)+27) )); } else { tc538 = (word) 0; }; if (tc538) { SOURCE(43264, 1348) { word limit541; { /*1*/ word var←c90308; /*1*/ var←c90308 = (* (( (ptr) selSeq←v24728)+2) ); /*1*/ { /*1*/ word limit540; /*1*/ var←c90340 = (* ((( (ptr) var←c90308)+1)+( /*1*/ limit540 = (* (ptr) var←c90308 ), /*1*/ BCK(prevSegNum←v24996, limit540) /*1*/ )) ); /*1*/ }; /*1*/ }; if (XR←ExtractField(var←c90340, 32 + (word) ( /*1*/ limit541 = (* (ptr) var←c90340 ), /*1*/ BCK(1, limit541) /*1*/ ), 1)) { SOURCE(43308, 1339) /*1*/ { /*1*/ word angle←v25040; /*1*/ W2 transformedPoint←v25068; /*1*/ W2 otherCtrlPoint←v25096; /*1*/ W2 otherDirVector←v25124; /*1*/ W2 var←c90468; /*1*/ W2 var←c90564; SOURCE(43348, 92) /*1*/ { /*1*/ word var←c90372; /*1*/ { /*1*/ word pd542; /*1*/ pd542 = (* (( (ptr) (* (( (ptr) gf←c97252)+161)/* var←c84516 */ ))+29) ); /*1*/ var←c90372 = (word) ( *( (fPt) ((* (ptr) pd542 ))))(slice←v13008, SGNCK(prevSegNum←v24996), pd542); /*1*/ }; /*1*/ { /*1*/ word pd543; /*1*/ pd543 = (* (( (ptr) (* (ptr) seg←v13092 ))+16) ); /*1*/ (void) ( *( (fPt) ((* (ptr) pd543 ))))((word) &otherCtrlPoint←v25096, var←c90372, 1, pd543); /*1*/ }; /*1*/ }; SOURCE(43442, 75) /*1*/ { /*1*/ word pd544; /*1*/ pd544 = (* (( (ptr) (* (( (ptr) gf←c97252)+165)/* var←c85028 */ ))+22) ); /*1*/ (void) ( *( (fPt) ((* (ptr) pd544 ))))((word) &otherDirVector←v25124, (* (W2Pt) (( (ptr) seg←v13092)+9) ), otherCtrlPoint←v25096, pd544) /*1*/ ; /*1*/ }; SOURCE(43519, 45) /*1*/ { /*1*/ word pd545; /*1*/ pd545 = (* (( (ptr) (* (ptr) seg←v13092 ))+16) ); /*1*/ (void) ( *( (fPt) ((* (ptr) pd545 ))))((word) &ctrlPoint←v24924, seg←v13092, 0, pd545); /*1*/ }; SOURCE(43566, 54) /*1*/ { /*1*/ word pd546; /*1*/ pd546 = (* (( (ptr) (* (( (ptr) gf←c97252)+165)/* var←c85028 */ ))+22) ); /*1*/ (void) ( *( (fPt) ((* (ptr) pd546 ))))((word) &dirVec←v24756, (* (W2Pt) (( (ptr) seg←v13092)+9) ), ctrlPoint←v24924, pd546) /*1*/ ; /*1*/ }; SOURCE(43622, 38) /*1*/ { /*1*/ word pd547; /*1*/ pd547 = (* (( (ptr) (* (( (ptr) gf←c97252)+165)/* var←c85028 */ ))+18) ); /*1*/ distance←v24812 = (word) ( *( (fPt) ((* (ptr) pd547 ))))(dirVec←v24756, pd547); /*1*/ }; SOURCE(43662, 76) /*1*/ { /*1*/ word pd548; /*1*/ pd548 = (* (( (ptr) (* (( (ptr) gf←c97252)+156)/* var←c83940 */ ))+39) ); /*1*/ (void) ( *( (fPt) ((* (ptr) pd548 ))))((word) &transformedPoint←v25068, transform←v13120, otherCtrlPoint←v25096, pd548); /*1*/ }; SOURCE(43740, 115) /*1*/ { /*1*/ W2 var←c90404; /*1*/ { /*1*/ word pd549; /*1*/ pd549 = (* (( (ptr) (* (( (ptr) gf←c97252)+165)/* var←c85028 */ ))+22) ); /*1*/ (void) ( *( (fPt) ((* (ptr) pd549 ))))((word) &var←c90404, (* (W2Pt) (( (ptr) seg←v13092)+9) ), transformedPoint←v25068, pd549) /*1*/ ; /*1*/ }; /*1*/ { /*1*/ word pd550; /*1*/ pd550 = (* (( (ptr) (* (( (ptr) gf←c97252)+165)/* var←c85028 */ ))+9) ); /*1*/ angle←v25040 = (word) ( *( (fPt) ((* (ptr) pd550 ))))(otherDirVector←v25124, var←c90404, pd550); /*1*/ }; /*1*/ }; SOURCE(43857, 96) /*1*/ { /*1*/ W2 var←c90436; /*1*/ { /*1*/ word pd551; /*1*/ pd551 = (* (( (ptr) (* (( (ptr) gf←c97252)+165)/* var←c85028 */ ))+22) ); /*1*/ (void) ( *( (fPt) ((* (ptr) pd551 ))))((word) &var←c90436, ctrlPoint←v24924, (* (W2Pt) (( (ptr) seg←v13092)+9) ), pd551) /*1*/ ; /*1*/ }; /*1*/ { /*1*/ word pd552; /*1*/ pd552 = (* (( (ptr) (* (( (ptr) gf←c97252)+156)/* var←c83940 */ ))+10) ); /*1*/ partialTransform←v24840 = (word) ( *( (fPt) ((* (ptr) pd552 ))))(var←c90436, pd552); /*1*/ }; /*1*/ }; SOURCE(43955, 20) /*1*/ { /*1*/ word limit553; /*1*/ word xs554; /*1*/ xs554 = (word) ( /*1*/ limit553 = (* (ptr) ctrlPoints←v24952 ), /*1*/ BCK(0, limit553) /*1*/ ); /*1*/ (* (bPt) ((( (bPt) ctrlPoints←v24952)+4) + ((word) xs554 >> 3)) ) |= ((unsigned) 1 << 8 - ((word) (xs554 & 7)+1)); /*1*/ }; SOURCE(43978, 634) /*1*/ if ((editConstraints←v13260 == 1)) { SOURCE(44014, 245) /*1*/ { /*1*/ word tc555; /*1*/ if ( ! XR←EqualWords(&transformedPoint←v25068, (( (ptr) seg←v13092)+9), 2)) { /*1*/ var←c90468.f0 = (* (ptr) &fc123 ); /*1*/ var←c90468.f1 = (* (ptr) &fc123 ); /*1*/ tc555 = (word) ! XR←EqualWords(&otherDirVector←v25124, &var←c90468, 2); /*1*/ } /*1*/ else { /*1*/ tc555 = (word) 0; /*1*/ }; /*1*/ if (tc555) { SOURCE(44124, 135) /*1*/ { /*1*/ W2 var←c90500; /*1*/ { /*1*/ W2 var←c90532; /*1*/ { /*1*/ word pd556; /*1*/ pd556 = (* (( (ptr) (* (( (ptr) gf←c97252)+165)/* var←c85028 */ ))+5) ); /*1*/ (void) ( *( (fPt) ((* (ptr) pd556 ))))((word) &var←c90532, dirVec←v24756, angle←v25040, pd556); /*1*/ }; /*1*/ { /*1*/ W2 var←c0757; /*1*/ { /*1*/ word pd557; /*1*/ pd557 = (* (( (ptr) (* (( (ptr) gf←c97252)+165)/* var←c85028 */ ))+12) ); /*1*/ (void) ( *( (fPt) ((* (ptr) pd557 ))))((word) &var←c0757, var←c90532, distance←v24812, pd557); /*1*/ }; /*1*/ var←c90500 = var←c0757; /*1*/ }; /*1*/ }; /*1*/ { /*1*/ word pd558; /*1*/ pd558 = (* (( (ptr) (* (( (ptr) gf←c97252)+156)/* var←c83940 */ ))+22) ); /*1*/ ctrlLoTrans←v24868 = (word) ( *( (fPt) ((* (ptr) pd558 ))))(partialTransform←v24840, var←c90500, pd558); /*1*/ }; /*1*/ }; /*1*/ }; /*1*/ }; /*1*/ } /*1*/ else { SOURCE(44310, 302) /*1*/ var←c90564.f0 = (* (ptr) &fc123 ); /*1*/ var←c90564.f1 = (* (ptr) &fc123 ); /*1*/ if ( ! XR←EqualWords(&otherDirVector←v25124, &var←c90564, 2)) { SOURCE(44343, 132) /*1*/ { /*1*/ word var←c90596; /*1*/ word var←c01271; /*1*/ { /*1*/ word pd559; /*1*/ word x560; /*1*/ word pd561; /*1*/ word x562; /*1*/ pd559 = (* (( (ptr) (* (( (ptr) gf←c97252)+165)/* var←c85028 */ ))+21) ); /*1*/ pd561 = (* (( (ptr) (* (( (ptr) gf←c97252)+165)/* var←c85028 */ ))+20) ); /*1*/ *(float*)&var←c90596 = ( /*1*/ x560 = (word) ( *( (fPt) ((* (ptr) pd559 ))))((* (W2Pt) (( (ptr) seg←v13092)+9) ), transformedPoint←v25068, pd559), *(float*)&x560 /*1*/ ) / ( /*1*/ x562 = (word) ( *( (fPt) ((* (ptr) pd561 ))))(otherDirVector←v25124, pd561), *(float*)&x562 /*1*/ ); /*1*/ }; /*1*/ { /*1*/ word pd563; /*1*/ pd563 = (* (( (ptr) (* (( (ptr) gf←c97252)+166)/* var←c85540 */ ))+9) ); /*1*/ var←c01271 = (word) ( *( (fPt) ((* (ptr) pd563 ))))(var←c90596, pd563); /*1*/ }; /*1*/ { /*1*/ word x564; /*1*/ word x565; /*1*/ *(float*)&distance←v24812 = ( /*1*/ x564 = var←c01271, *(float*)&x564 /*1*/ ) * ( /*1*/ x565 = distance←v24812, *(float*)&x565 /*1*/ ); /*1*/ }; /*1*/ }; SOURCE(44477, 135) /*1*/ { /*1*/ W2 var←c90628; /*1*/ { /*1*/ W2 var←c90660; /*1*/ { /*1*/ word pd566; /*1*/ pd566 = (* (( (ptr) (* (( (ptr) gf←c97252)+165)/* var←c85028 */ ))+5) ); /*1*/ (void) ( *( (fPt) ((* (ptr) pd566 ))))((word) &var←c90660, dirVec←v24756, angle←v25040, pd566); /*1*/ }; /*1*/ { /*1*/ W2 var←c0763; /*1*/ { /*1*/ word pd567; /*1*/ pd567 = (* (( (ptr) (* (( (ptr) gf←c97252)+165)/* var←c85028 */ ))+12) ); /*1*/ (void) ( *( (fPt) ((* (ptr) pd567 ))))((word) &var←c0763, var←c90660, distance←v24812, pd567); /*1*/ }; /*1*/ var←c90628 = var←c0763; /*1*/ }; /*1*/ }; /*1*/ { /*1*/ word pd568; /*1*/ pd568 = (* (( (ptr) (* (( (ptr) gf←c97252)+156)/* var←c83940 */ ))+22) ); /*1*/ ctrlLoTrans←v24868 = (word) ( *( (fPt) ((* (ptr) pd568 ))))(partialTransform←v24840, var←c90628, pd568); /*1*/ }; /*1*/ }; /*1*/ }; /*1*/ }; /*1*/ }; /*1*/ }; }; }; }; }; }; }; SOURCE(44657, 1538) { word tc569; word limit570; if ( ! XR←ExtractField(ctrlPoints←v24952, 32 + (word) ( limit570 = (* (ptr) ctrlPoints←v24952 ), BCK(1, limit570) ), 1)) { tc569 = (word) (0 == hi←v13204); } else { tc569 = (word) 0; }; if (tc569) { SOURCE(44694, 1541) { word nextSegNum←v25168; word var←c90724; SOURCE(44696, 59) { word pd571; pd571 = (* (( (ptr) (* (( (ptr) gf←c97252)+161)/* var←c84516 */ ))+43) ); nextSegNum←v25168 = (word) ( *( (fPt) ((* (ptr) pd571 ))))(slice←v13008, segNum←v13064, pd571); }; SOURCE(44757, 1438) { word tc572; word pd573; if (( (int)nextSegNum←v25168 != (int) (word) -1)) { pd573 = (* (( (ptr) (* (( (ptr) gf←c97252)+161)/* var←c84516 */ ))+29) ); tc572 = (word) ((* (ptr) (* (ptr) ( *( (fPt) ((* (ptr) pd573 ))))(slice←v13008, SGNCK(nextSegNum←v25168), pd573) ) ) == (* ( ( (ptr) gf←c97252)+27) )); } else { tc572 = (word) 0; }; if (tc572) { SOURCE(44847, 1348) { word limit575; { /*1*/ word var←c90692; /*1*/ var←c90692 = (* (( (ptr) selSeq←v24728)+2) ); /*1*/ { /*1*/ word limit574; /*1*/ var←c90724 = (* ((( (ptr) var←c90692)+1)+( /*1*/ limit574 = (* (ptr) var←c90692 ), /*1*/ BCK(nextSegNum←v25168, limit574) /*1*/ )) ); /*1*/ }; /*1*/ }; if (XR←ExtractField(var←c90724, 32 + (word) ( /*1*/ limit575 = (* (ptr) var←c90724 ), /*1*/ BCK(0, limit575) /*1*/ ), 1)) { SOURCE(44891, 1338) /*1*/ { /*1*/ word angle←v25212; /*1*/ W2 transformedPoint←v25240; /*1*/ W2 otherCtrlPoint←v25268; /*1*/ W2 otherDirVector←v25296; /*1*/ W2 var←c90852; /*1*/ W2 var←c90948; SOURCE(44931, 92) /*1*/ { /*1*/ word var←c90756; /*1*/ { /*1*/ word pd576; /*1*/ pd576 = (* (( (ptr) (* (( (ptr) gf←c97252)+161)/* var←c84516 */ ))+29) ); /*1*/ var←c90756 = (word) ( *( (fPt) ((* (ptr) pd576 ))))(slice←v13008, SGNCK(nextSegNum←v25168), pd576); /*1*/ }; /*1*/ { /*1*/ word pd577; /*1*/ pd577 = (* (( (ptr) (* (ptr) seg←v13092 ))+16) ); /*1*/ (void) ( *( (fPt) ((* (ptr) pd577 ))))((word) &otherCtrlPoint←v25268, var←c90756, 0, pd577); /*1*/ }; /*1*/ }; SOURCE(45025, 75) /*1*/ { /*1*/ word pd578; /*1*/ pd578 = (* (( (ptr) (* (( (ptr) gf←c97252)+165)/* var←c85028 */ ))+22) ); /*1*/ (void) ( *( (fPt) ((* (ptr) pd578 ))))((word) &otherDirVector←v25296, (* (W2Pt) (( (ptr) seg←v13092)+11) ), otherCtrlPoint←v25268, pd578) /*1*/ ; /*1*/ }; SOURCE(45102, 45) /*1*/ { /*1*/ word pd579; /*1*/ pd579 = (* (( (ptr) (* (ptr) seg←v13092 ))+16) ); /*1*/ (void) ( *( (fPt) ((* (ptr) pd579 ))))((word) &ctrlPoint←v24924, seg←v13092, 1, pd579); /*1*/ }; SOURCE(45149, 54) /*1*/ { /*1*/ word pd580; /*1*/ pd580 = (* (( (ptr) (* (( (ptr) gf←c97252)+165)/* var←c85028 */ ))+22) ); /*1*/ (void) ( *( (fPt) ((* (ptr) pd580 ))))((word) &dirVec←v24756, (* (W2Pt) (( (ptr) seg←v13092)+11) ), ctrlPoint←v24924, pd580) /*1*/ ; /*1*/ }; SOURCE(45205, 38) /*1*/ { /*1*/ word pd581; /*1*/ pd581 = (* (( (ptr) (* (( (ptr) gf←c97252)+165)/* var←c85028 */ ))+18) ); /*1*/ distance←v24812 = (word) ( *( (fPt) ((* (ptr) pd581 ))))(dirVec←v24756, pd581); /*1*/ }; SOURCE(45245, 76) /*1*/ { /*1*/ word pd582; /*1*/ pd582 = (* (( (ptr) (* (( (ptr) gf←c97252)+156)/* var←c83940 */ ))+39) ); /*1*/ (void) ( *( (fPt) ((* (ptr) pd582 ))))((word) &transformedPoint←v25240, transform←v13120, otherCtrlPoint←v25268, pd582); /*1*/ }; SOURCE(45323, 115) /*1*/ { /*1*/ W2 var←c90788; /*1*/ { /*1*/ word pd583; /*1*/ pd583 = (* (( (ptr) (* (( (ptr) gf←c97252)+165)/* var←c85028 */ ))+22) ); /*1*/ (void) ( *( (fPt) ((* (ptr) pd583 ))))((word) &var←c90788, (* (W2Pt) (( (ptr) seg←v13092)+11) ), transformedPoint←v25240, pd583) /*1*/ ; /*1*/ }; /*1*/ { /*1*/ word pd584; /*1*/ pd584 = (* (( (ptr) (* (( (ptr) gf←c97252)+165)/* var←c85028 */ ))+9) ); /*1*/ angle←v25212 = (word) ( *( (fPt) ((* (ptr) pd584 ))))(otherDirVector←v25296, var←c90788, pd584); /*1*/ }; /*1*/ }; SOURCE(45440, 96) /*1*/ { /*1*/ W2 var←c90820; /*1*/ { /*1*/ word pd585; /*1*/ pd585 = (* (( (ptr) (* (( (ptr) gf←c97252)+165)/* var←c85028 */ ))+22) ); /*1*/ (void) ( *( (fPt) ((* (ptr) pd585 ))))((word) &var←c90820, ctrlPoint←v24924, (* (W2Pt) (( (ptr) seg←v13092)+11) ), pd585) /*1*/ ; /*1*/ }; /*1*/ { /*1*/ word pd586; /*1*/ pd586 = (* (( (ptr) (* (( (ptr) gf←c97252)+156)/* var←c83940 */ ))+10) ); /*1*/ partialTransform←v24840 = (word) ( *( (fPt) ((* (ptr) pd586 ))))(var←c90820, pd586); /*1*/ }; /*1*/ }; SOURCE(45538, 20) /*1*/ { /*1*/ word limit587; /*1*/ word xs588; /*1*/ xs588 = (word) ( /*1*/ limit587 = (* (ptr) ctrlPoints←v24952 ), /*1*/ BCK(1, limit587) /*1*/ ); /*1*/ (* (bPt) ((( (bPt) ctrlPoints←v24952)+4) + ((word) xs588 >> 3)) ) |= ((unsigned) 1 << 8 - ((word) (xs588 & 7)+1)); /*1*/ }; SOURCE(45561, 634) /*1*/ if ((editConstraints←v13260 == 1)) { SOURCE(45597, 245) /*1*/ { /*1*/ word tc589; /*1*/ if ( ! XR←EqualWords(&transformedPoint←v25240, (( (ptr) seg←v13092)+11), 2)) { /*1*/ var←c90852.f0 = (* (ptr) &fc123 ); /*1*/ var←c90852.f1 = (* (ptr) &fc123 ); /*1*/ tc589 = (word) ! XR←EqualWords(&otherDirVector←v25296, &var←c90852, 2); /*1*/ } /*1*/ else { /*1*/ tc589 = (word) 0; /*1*/ }; /*1*/ if (tc589) { SOURCE(45707, 135) /*1*/ { /*1*/ W2 var←c90884; /*1*/ { /*1*/ W2 var←c90916; /*1*/ { /*1*/ word pd590; /*1*/ pd590 = (* (( (ptr) (* (( (ptr) gf←c97252)+165)/* var←c85028 */ ))+5) ); /*1*/ (void) ( *( (fPt) ((* (ptr) pd590 ))))((word) &var←c90916, dirVec←v24756, angle←v25212, pd590); /*1*/ }; /*1*/ { /*1*/ W2 var←c0785; /*1*/ { /*1*/ word pd591; /*1*/ pd591 = (* (( (ptr) (* (( (ptr) gf←c97252)+165)/* var←c85028 */ ))+12) ); /*1*/ (void) ( *( (fPt) ((* (ptr) pd591 ))))((word) &var←c0785, var←c90916, distance←v24812, pd591); /*1*/ }; /*1*/ var←c90884 = var←c0785; /*1*/ }; /*1*/ }; /*1*/ { /*1*/ word pd592; /*1*/ pd592 = (* (( (ptr) (* (( (ptr) gf←c97252)+156)/* var←c83940 */ ))+22) ); /*1*/ ctrlHiTrans←v24896 = (word) ( *( (fPt) ((* (ptr) pd592 ))))(partialTransform←v24840, var←c90884, pd592); /*1*/ }; /*1*/ }; /*1*/ }; /*1*/ }; /*1*/ } /*1*/ else { SOURCE(45893, 302) /*1*/ var←c90948.f0 = (* (ptr) &fc123 ); /*1*/ var←c90948.f1 = (* (ptr) &fc123 ); /*1*/ if ( ! XR←EqualWords(&otherDirVector←v25296, &var←c90948, 2)) { SOURCE(45926, 132) /*1*/ { /*1*/ word var←c90980; /*1*/ word var←c01272; /*1*/ { /*1*/ word pd593; /*1*/ word x594; /*1*/ word pd595; /*1*/ word x596; /*1*/ pd593 = (* (( (ptr) (* (( (ptr) gf←c97252)+165)/* var←c85028 */ ))+21) ); /*1*/ pd595 = (* (( (ptr) (* (( (ptr) gf←c97252)+165)/* var←c85028 */ ))+20) ); /*1*/ *(float*)&var←c90980 = ( /*1*/ x594 = (word) ( *( (fPt) ((* (ptr) pd593 ))))((* (W2Pt) (( (ptr) seg←v13092)+11) ), transformedPoint←v25240, pd593), *(float*)&x594 /*1*/ ) / ( /*1*/ x596 = (word) ( *( (fPt) ((* (ptr) pd595 ))))(otherDirVector←v25296, pd595), *(float*)&x596 /*1*/ ); /*1*/ }; /*1*/ { /*1*/ word pd597; /*1*/ pd597 = (* (( (ptr) (* (( (ptr) gf←c97252)+166)/* var←c85540 */ ))+9) ); /*1*/ var←c01272 = (word) ( *( (fPt) ((* (ptr) pd597 ))))(var←c90980, pd597); /*1*/ }; /*1*/ { /*1*/ word x598; /*1*/ word x599; /*1*/ *(float*)&distance←v24812 = ( /*1*/ x598 = var←c01272, *(float*)&x598 /*1*/ ) * ( /*1*/ x599 = distance←v24812, *(float*)&x599 /*1*/ ); /*1*/ }; /*1*/ }; SOURCE(46060, 135) /*1*/ { /*1*/ W2 var←c91012; /*1*/ { /*1*/ W2 var←c91044; /*1*/ { /*1*/ word pd600; /*1*/ pd600 = (* (( (ptr) (* (( (ptr) gf←c97252)+165)/* var←c85028 */ ))+5) ); /*1*/ (void) ( *( (fPt) ((* (ptr) pd600 ))))((word) &var←c91044, dirVec←v24756, angle←v25212, pd600); /*1*/ }; /*1*/ { /*1*/ W2 var←c0791; /*1*/ { /*1*/ word pd601; /*1*/ pd601 = (* (( (ptr) (* (( (ptr) gf←c97252)+165)/* var←c85028 */ ))+12) ); /*1*/ (void) ( *( (fPt) ((* (ptr) pd601 ))))((word) &var←c0791, var←c91044, distance←v24812, pd601); /*1*/ }; /*1*/ var←c91012 = var←c0791; /*1*/ }; /*1*/ }; /*1*/ { /*1*/ word pd602; /*1*/ pd602 = (* (( (ptr) (* (( (ptr) gf←c97252)+156)/* var←c83940 */ ))+22) ); /*1*/ ctrlHiTrans←v24896 = (word) ( *( (fPt) ((* (ptr) pd602 ))))(partialTransform←v24840, var←c91012, pd602); /*1*/ }; /*1*/ }; /*1*/ }; /*1*/ }; /*1*/ }; /*1*/ }; }; }; }; }; }; }; SOURCE(46240, 103) { word pd603; pd603 = (* (( (ptr) (* (( (ptr) gf←c97252)+164)/* var←c84836 */ ))+32) ); (void) ( *( (fPt) ((* (ptr) pd603 ))))(seg←v13092, transform←v13120, lo←v13176, hi←v13204, ctrlPoints←v24952, ctrlLoTrans←v24868 , ctrlHiTrans←v24896, curveTo←v13316, pd603); }; SOURCE(46346, 56) { word tc604; word limit605; word limit606; if ( ! XR←ExtractField(ctrlPoints←v24952, 32 + (word) ( limit605 = (* (ptr) ctrlPoints←v24952 ), BCK(0, limit605) ), 1)) { tc604 = (word) ! XR←ExtractField(ctrlPoints←v24952, 32 + (word) ( limit606 = (* (ptr) ctrlPoints←v24952 ), BCK(1, limit606) ), 1); } else { tc604 = (word) 0; }; if (tc604) { SOURCE(46391, 11) return(0); }; }; SOURCE(46404, 39) { word var←c91076; var←c91076 = XR←NewObject(28, (* (( (ptr) gf←c97252)+22) )); (* (ptr) var←c91076 ) = 2; cPointsInSeg←v13416 = var←c91076; }; SOURCE(46460, 193) { word limit607; if (XR←ExtractField(ctrlPoints←v24952, 32 + (word) ( limit607 = (* (ptr) ctrlPoints←v24952 ), BCK(0, limit607) ), 1)) { SOURCE(46484, 103) { W2 var←c91108; { W2 var←c91140; { word pd608; pd608 = (* (( (ptr) (* (ptr) seg←v13092 ))+16) ); (void) ( *( (fPt) ((* (ptr) pd608 ))))((word) &var←c91140, seg←v13092, 0, pd608); }; { W2 var←c0796; { word pd609; pd609 = (* (( (ptr) (* (( (ptr) gf←c97252)+156)/* var←c83940 */ ))+39) ); (void) ( *( (fPt) ((* (ptr) pd609 ))))((word) &var←c0796, ctrlLoTrans←v24868, var←c91140, pd609); }; var←c91108 = var←c0796; }; }; { word limit610; (* (W2Pt) (( (W3Pt) (( (ptr) cPointsInSeg←v13416)+1))+( limit610 = (* (ptr) cPointsInSeg←v13416 ), BCK(0, limit610) )) ) = var←c91108; }; }; SOURCE(46589, 27) { word limit611; (* (( (W3Pt) (( (ptr) cPointsInSeg←v13416)+1))+( limit611 = (* (ptr) cPointsInSeg←v13416 ), BCK(0, limit611) )) ).f2 = 1; }; } else { SOURCE(46625, 28) { word limit612; (* (( (W3Pt) (( (ptr) cPointsInSeg←v13416)+1))+( limit612 = (* (ptr) cPointsInSeg←v13416 ), BCK(0, limit612) )) ).f2 = 0; }; }; }; SOURCE(46655, 193) { word limit613; if (XR←ExtractField(ctrlPoints←v24952, 32 + (word) ( limit613 = (* (ptr) ctrlPoints←v24952 ), BCK(1, limit613) ), 1)) { SOURCE(46679, 103) { W2 var←c91172; { W2 var←c91204; { word pd614; pd614 = (* (( (ptr) (* (ptr) seg←v13092 ))+16) ); (void) ( *( (fPt) ((* (ptr) pd614 ))))((word) &var←c91204, seg←v13092, 1, pd614); }; { W2 var←c0800; { word pd615; pd615 = (* (( (ptr) (* (( (ptr) gf←c97252)+156)/* var←c83940 */ ))+39) ); (void) ( *( (fPt) ((* (ptr) pd615 ))))((word) &var←c0800, ctrlHiTrans←v24896, var←c91204, pd615); }; var←c91172 = var←c0800; }; }; { word limit616; (* (W2Pt) (( (W3Pt) (( (ptr) cPointsInSeg←v13416)+1))+( limit616 = (* (ptr) cPointsInSeg←v13416 ), BCK(1, limit616) )) ) = var←c91172; }; }; SOURCE(46784, 27) { word limit617; (* (( (W3Pt) (( (ptr) cPointsInSeg←v13416)+1))+( limit617 = (* (ptr) cPointsInSeg←v13416 ), BCK(1, limit617) )) ).f2 = 1; }; } else { SOURCE(46820, 28) { word limit618; (* (( (W3Pt) (( (ptr) cPointsInSeg←v13416)+1))+( limit618 = (* (ptr) cPointsInSeg←v13416 ), BCK(1, limit618) )) ).f2 = 0; }; }; }; SOURCE(46850, 20) return(cPointsInSeg←v13416); }; }; SOURCE(40747, 6123) return(cPointsInSeg←v13416); } static void SegMaskStroke←P2160(dc←v13476, formal←c01340) word dc←v13476; word formal←c01340; { W10 var←c97284; /* declaration of seg←v13504 skipped */ register ptr gf←c97316 = (ptr) &globalframe; /* declaration of var←c91236 skipped */ /* declaration of var←c91268 skipped */ /* declaration of pattern←v25396 skipped */ (* (( (ptr) &var←c97284)+4)/* seg←v13504 */ ) = formal←c01340; /* SegMaskStroke: */ SOURCE(46879, 425) { word tmpAddr619; tmpAddr619 = (word) (( (ptr) &var←c97284)+5)/* var←c91236 */ ; (* (ptr) tmpAddr619 ) = ( ((word) (fPt) PatternProc←P7284) ); (* (( (ptr) tmpAddr619) + 1) ) = 1; }; { word tmpAddr620; tmpAddr620 = (word) (( (ptr) &var←c97284)+7)/* var←c91268 */ ; (* (ptr) tmpAddr620 ) = ( ((word) (fPt) MaskPath←P7224) ); (* (( (ptr) tmpAddr620) + 1) ) = 1; }; SOURCE(47115, 37) (* (( (ptr) &var←c97284)+9)/* pattern←v25396 */ ) = (* (( (ptr) (* (( (ptr) &var←c97284)+4)/* seg←v13504 */ ))+5) ); SOURCE(47154, 150) if ((0 != (* (( (ptr) (* (( (ptr) &var←c97284)+4)/* seg←v13504 */ ))+4) ))) { SOURCE(47173, 93) { word pd621; pd621 = (* (( (ptr) (* (( (ptr) gf←c97316)+167)/* var←c86788 */ ))+75) ); (void) ( *( (fPt) ((* (ptr) pd621 ))))(dc←v13476, (word) (( (bPt) &var←c97284)+28)/* var←c91268 */ , (* (ptr) (* (( (ptr) &var←c97284)+9) /* pattern←v25396 */ ) ), (word) (( (bPt) &var←c97284)+20)/* var←c91236 */ , (* (( (ptr) (* (( (ptr) &var←c97284)+4)/* seg←v13504 */ ))+6) ), (* (( (ptr) (* (( (ptr) &var←c97284)+4)/* seg←v13504 */ ))+7) ), pd621); }; } else { SOURCE(47266, 38) { word pd622; pd622 = (* (( (ptr) (* (( (ptr) gf←c97316)+167)/* var←c86788 */ ))+71) ); (void) ( *( (fPt) ((* (ptr) pd622 ))))(dc←v13476, (word) (( (bPt) &var←c97284)+28)/* var←c91268 */ , 0, pd622); }; }; } static void MaskPath←P7224(moveTo←v72856, lineTo←v72884, curveTo←v72912, conicTo←v72940, arcTo←v72968, formal←c97348) word moveTo←v72856; word lineTo←v72884; word curveTo←v72912; word conicTo←v72940; word arcTo←v72968; word formal←c97348; { formal←c97348 = (formal←c97348 - 28); /* MaskPath: */ SOURCE(46938, 103) SOURCE(46968, 14) (void) ( *( (fPt) ((* (ptr) moveTo←v72856 ))))((* (W2Pt) ((( (ptr) (* (( (ptr) formal←c97348)+4) ))+9)) ), moveTo←v72856) ; SOURCE(46984, 57) { word pd623; pd623 = (* (( (ptr) (* (ptr) (* (( (ptr) formal←c97348)+4) ) ))+6) ); (void) ( *( (fPt) ((* (ptr) pd623 ))))((* (( (ptr) formal←c97348)+4) ), lineTo←v72884, curveTo←v72912, conicTo←v72940, arcTo←v72968, pd623) ; }; } static word PatternProc←P7284(i←v25472, formal←c97380) word i←v25472; word formal←c97380; { word var←c25516; formal←c97380 = (formal←c97380 - 20); /* PatternProc: */ SOURCE(47046, 64) SOURCE(47092, 18) { word limit624; return((* ((( (ptr) (* (( (ptr) formal←c97380)+9) ))+1)+( limit624 = (* (ptr) (* (( (ptr) formal←c97380)+9) ) ), BCK(i←v25472, limit624) )) )); }; } static void MaskStroke←P2220(dc←v13564, formal←c01341) word dc←v13564; word formal←c01341; { W10 var←c97412; /* declaration of seg←v13592 skipped */ register ptr gf←c97444 = (ptr) &globalframe; /* declaration of var←c91300 skipped */ /* declaration of var←c91332 skipped */ /* declaration of pattern←v25600 skipped */ (* (( (ptr) &var←c97412)+4)/* seg←v13592 */ ) = formal←c01341; /* MaskStroke: */ SOURCE(47310, 422) { word tmpAddr625; tmpAddr625 = (word) (( (ptr) &var←c97412)+5)/* var←c91300 */ ; (* (ptr) tmpAddr625 ) = ( ((word) (fPt) PatternProc←P7404) ); (* (( (ptr) tmpAddr625) + 1) ) = 1; }; { word tmpAddr626; tmpAddr626 = (word) (( (ptr) &var←c97412)+7)/* var←c91332 */ ; (* (ptr) tmpAddr626 ) = ( ((word) (fPt) MaskPath←P7344) ); (* (( (ptr) tmpAddr626) + 1) ) = 1; }; SOURCE(47543, 37) (* (( (ptr) &var←c97412)+9)/* pattern←v25600 */ ) = (* (( (ptr) (* (( (ptr) &var←c97412)+4)/* seg←v13592 */ ))+5) ); SOURCE(47582, 150) if ((0 != (* (( (ptr) (* (( (ptr) &var←c97412)+4)/* seg←v13592 */ ))+4) ))) { SOURCE(47601, 93) { word pd627; pd627 = (* (( (ptr) (* (( (ptr) gf←c97444)+167)/* var←c86788 */ ))+75) ); (void) ( *( (fPt) ((* (ptr) pd627 ))))(dc←v13564, (word) (( (bPt) &var←c97412)+28)/* var←c91332 */ , (* (ptr) (* (( (ptr) &var←c97412)+9) /* pattern←v25600 */ ) ), (word) (( (bPt) &var←c97412)+20)/* var←c91300 */ , (* (( (ptr) (* (( (ptr) &var←c97412)+4)/* seg←v13592 */ ))+6) ), (* (( (ptr) (* (( (ptr) &var←c97412)+4)/* seg←v13592 */ ))+7) ), pd627); }; } else { SOURCE(47694, 38) { word pd628; pd628 = (* (( (ptr) (* (( (ptr) gf←c97444)+167)/* var←c86788 */ ))+71) ); (void) ( *( (fPt) ((* (ptr) pd628 ))))(dc←v13564, (word) (( (bPt) &var←c97412)+28)/* var←c91332 */ , 0, pd628); }; }; } static void MaskPath←P7344(moveTo←v73028, lineTo←v73056, curveTo←v73084, conicTo←v73112, arcTo←v73140, formal←c97476) word moveTo←v73028; word lineTo←v73056; word curveTo←v73084; word conicTo←v73112; word arcTo←v73140; word formal←c97476; { formal←c97476 = (formal←c97476 - 28); /* MaskPath: */ SOURCE(47366, 103) SOURCE(47396, 14) (void) ( *( (fPt) ((* (ptr) moveTo←v73028 ))))((* (W2Pt) ((( (ptr) (* (( (ptr) formal←c97476)+4) ))+9)) ), moveTo←v73028) ; SOURCE(47412, 57) { word pd629; pd629 = (* (( (ptr) (* (ptr) (* (( (ptr) formal←c97476)+4) ) ))+6) ); (void) ( *( (fPt) ((* (ptr) pd629 ))))((* (( (ptr) formal←c97476)+4) ), lineTo←v73056, curveTo←v73084, conicTo←v73112, arcTo←v73140, pd629) ; }; } static word PatternProc←P7404(i←v25676, formal←c97508) word i←v25676; word formal←c97508; { word var←c25720; formal←c97508 = (formal←c97508 - 20); /* PatternProc: */ SOURCE(47474, 64) SOURCE(47520, 18) { word limit630; return((* ((( (ptr) (* (( (ptr) formal←c97508)+9) ))+1)+( limit630 = (* (ptr) (* (( (ptr) formal←c97508)+9) ) ), BCK(i←v25676, limit630) )) )); }; } static void MaskStrokeTransform←P2280(formal←c01342, formal←c01343, formal←c01344, formal←c01345, formal←c01346, formal←c01347, formal←c01348, formal←c01349, formal←c01350, formal←c01351, formal←c01352, formal←c01353) word formal←c01342; word formal←c01343; word formal←c01344; word formal←c01345; word formal←c01346; word formal←c01347; word formal←c01348; word formal←c01349; word formal←c01350; word formal←c01351; word formal←c01352; word formal←c01353; { W21 var←c97540; /* declaration of dc←v13652 skipped */ /* declaration of seg←v13680 skipped */ /* declaration of transform←v13708 skipped */ /* declaration of entire←v13736 skipped */ /* declaration of lo←v13764 skipped */ /* declaration of hi←v13792 skipped */ /* declaration of controlPoints←v13820 skipped */ /* declaration of slice←v13848 skipped */ /* declaration of transformParts←v13876 skipped */ /* declaration of segNum←v13904 skipped */ /* declaration of camera←v13932 skipped */ /* declaration of editConstraints←v13960 skipped */ register ptr gf←c97572 = (ptr) &globalframe; /* declaration of var←c91364 skipped */ /* declaration of var←c91396 skipped */ /* declaration of pattern←v25804 skipped */ (* (( (ptr) &var←c97540)+4)/* dc←v13652 */ ) = formal←c01342; (* (( (ptr) &var←c97540)+5)/* seg←v13680 */ ) = formal←c01343; (* (( (ptr) &var←c97540)+6)/* transform←v13708 */ ) = formal←c01344; (* (( (ptr) &var←c97540)+7)/* entire←v13736 */ ) = formal←c01345; (* (( (ptr) &var←c97540)+8)/* lo←v13764 */ ) = formal←c01346; (* (( (ptr) &var←c97540)+9)/* hi←v13792 */ ) = formal←c01347; (* (( (ptr) &var←c97540)+10)/* controlPoints←v13820 */ ) = formal←c01348; (* (( (ptr) &var←c97540)+11)/* slice←v13848 */ ) = formal←c01349; (* (( (ptr) &var←c97540)+12)/* transformParts←v13876 */ ) = formal←c01350; (* (( (ptr) &var←c97540)+13)/* segNum←v13904 */ ) = formal←c01351; (* (( (ptr) &var←c97540)+14)/* camera←v13932 */ ) = formal←c01352; (* (( (ptr) &var←c97540)+15)/* editConstraints←v13960 */ ) = formal←c01353; /* MaskStrokeTransform: */ SOURCE(47738, 1377) { word tmpAddr631; tmpAddr631 = (word) (( (ptr) &var←c97540)+16)/* var←c91364 */ ; (* (ptr) tmpAddr631 ) = ( ((word) (fPt) PatternProc←P7524) ); (* (( (ptr) tmpAddr631) + 1) ) = 1; }; { word tmpAddr632; tmpAddr632 = (word) (( (ptr) &var←c97540)+18)/* var←c91396 */ ; (* (ptr) tmpAddr632 ) = ( ((word) (fPt) MaskPath←P7464) ); (* (( (ptr) tmpAddr632) + 1) ) = 1; }; SOURCE(48926, 37) (* (( (ptr) &var←c97540)+20)/* pattern←v25804 */ ) = (* (( (ptr) (* (( (ptr) &var←c97540)+5)/* seg←v13680 */ ))+5) ); SOURCE(48965, 150) if ((0 != (* (( (ptr) (* (( (ptr) &var←c97540)+5)/* seg←v13680 */ ))+4) ))) { SOURCE(48984, 93) { word pd633; pd633 = (* (( (ptr) (* (( (ptr) gf←c97572)+167)/* var←c86788 */ ))+75) ); (void) ( *( (fPt) ((* (ptr) pd633 ))))((* (( (ptr) &var←c97540)+4)/* dc←v13652 */ ), (word) (( (bPt) &var←c97540)+72)/* var←c91396 */ , (* (ptr) (* ( ( (ptr) &var←c97540)+20)/* pattern←v25804 */ ) ), (word) (( (bPt) &var←c97540)+64)/* var←c91364 */ , (* (( (ptr) (* (( (ptr) &var←c97540)+5) /* seg←v13680 */ ))+6) ), (* (( (ptr) (* (( (ptr) &var←c97540)+5)/* seg←v13680 */ ))+7) ), pd633); }; } else { SOURCE(49077, 38) { word pd634; pd634 = (* (( (ptr) (* (( (ptr) gf←c97572)+167)/* var←c86788 */ ))+71) ); (void) ( *( (fPt) ((* (ptr) pd634 ))))((* (( (ptr) &var←c97540)+4)/* dc←v13652 */ ), (word) (( (bPt) &var←c97540)+72)/* var←c91396 */ , 0, pd634) ; }; }; } static void MaskPath←P7464(moveTo←v73200, lineTo←v73228, curveTo←v73256, conicTo←v73284, arcTo←v73312, formal←c97636) word moveTo←v73200; word lineTo←v73228; word curveTo←v73256; word conicTo←v73284; word arcTo←v73312; word formal←c97636; { register ptr gf←c97604 = (ptr) &globalframe; W2 loPoint←v25952; word cpCount←v25980; formal←c97636 = (formal←c97636 - 72); /* MaskPath: */ SOURCE(48003, 835) SOURCE(48049, 47) { word pd635; pd635 = (* (( (ptr) (* (ptr) (* (( (ptr) formal←c97636)+5) ) ))+17) ); cpCount←v25980 = (word) ( *( (fPt) ((* (ptr) pd635 ))))((* ((( (ptr) formal←c97636)+5)) ), pd635); }; SOURCE(48098, 92) if (((0 != (* (( (ptr) formal←c97636)+7) )) || (0 != (* (( (ptr) formal←c97636)+8) )))) { { W2 var←c0847; { word pd636; pd636 = (* (( (ptr) (* (( (ptr) gf←c97604)+156)/* var←c83940 */ ))+39) ); (void) ( *( (fPt) ((* (ptr) pd636 ))))((word) &var←c0847, (* (( (ptr) formal←c97636)+6) ), (* (W2Pt) (( (ptr) (* (( (ptr) formal←c97636)+5) ))+9) ), pd636); }; loPoint←v25952 = var←c0847; }; } else { loPoint←v25952 = (* (W2Pt) (( (ptr) (* (( (ptr) formal←c97636)+5) ))+9) ); }; SOURCE(48192, 15) (void) ( *( (fPt) ((* (ptr) moveTo←v73200 ))))(loPoint←v25952, moveTo←v73200); SOURCE(48209, 322) if ( ( ((* (ptr) (* (ptr) (* (( (ptr) formal←c97636)+5) ) ) ) == (* (( (ptr) gf←c97604)+27) )) ? ((* (( (ptr) formal←c97636)+15) ) != 0) : 0 ) ) { SOURCE(48265, 158) { word var←c91428; var←c91428 = (word) DrawConstrained←P2100((* (( (ptr) formal←c97636)+4) ), (* (( (ptr) formal←c97636)+11) ), (* (( (ptr) formal←c97636)+12) ), (* (( (ptr) formal←c97636)+13) ), (* (( (ptr) formal←c97636)+5) ), (* (( (ptr) formal←c97636)+6) ) , (* (( (ptr) formal←c97636)+7) ), (* (( (ptr) formal←c97636)+8) ), (* (( (ptr) formal←c97636)+9) ), (* (( (ptr) formal←c97636)+10) ), (* (( (ptr) formal←c97636)+15) ), lineTo←v73228 , curveTo←v73256, conicTo←v73284, arcTo←v73312); }; } else { SOURCE(48423, 108) { word pd637; pd637 = (* (( (ptr) (* (ptr) (* (( (ptr) formal←c97636)+5) ) ))+7) ); (void) ( *( (fPt) ((* (ptr) pd637 ))))((* (( (ptr) formal←c97636)+5) ), (* (( (ptr) formal←c97636)+6) ), (* (( (ptr) formal←c97636)+7) ), (* (( (ptr) formal←c97636)+8) ), (* (( (ptr) formal←c97636)+9) ), (* (( (ptr) formal←c97636)+10) ) , lineTo←v73228, curveTo←v73256, conicTo←v73284, arcTo←v73312, pd637); }; }; SOURCE(48533, 305) if ( ( ((* (( (ptr) formal←c97636)+6) ) != 0) ? (0 == (* (( (ptr) formal←c97636)+7) )) : 0 ) ) { SOURCE(48599, 239) { register word j←v26024 = 0; register word noName←c91460; noName←c91460 = cpCount←v25980; if ((j←v26024 >= noName←c91460)) { goto lab←L100113; }; lab←L100116: ; SOURCE(48629, 209) { word limit639; if (((* (( (ptr) formal←c97636)+10) ) == 0)) { goto then0638;}; if (XR←ExtractField((* (( (ptr) formal←c97636)+10) ), 32 + (word) ( limit639 = (* (ptr) (* (( (ptr) formal←c97636)+10) ) ), BCK(j←v26024, limit639) ), 1)) { then0638: ; SOURCE(48675, 165) { W2 cPoint←v26068; SOURCE(48701, 92) { W2 var←c91492; { word pd640; pd640 = (* (( (ptr) (* (ptr) (* (( (ptr) formal←c97636)+5) ) ))+16) ); (void) ( *( (fPt) ((* (ptr) pd640 ))))((word) &var←c91492, (* (( (ptr) formal←c97636)+5) ), j←v26024, pd640); }; { W2 var←c0854; { word pd641; pd641 = (* (( (ptr) (* (( (ptr) gf←c97604)+156)/* var←c83940 */ ))+39) ); (void) ( *( (fPt) ((* (ptr) pd641 ))))((word) &var←c0854, (* (( (ptr) formal←c97636)+6) ), var←c91492, pd641); }; cPoint←v26068 = var←c0854; }; }; SOURCE(48795, 43) { word pd642; pd642 = (* (( (ptr) (* (( (ptr) gf←c97604)+168)/* var←c87012 */ ))+19) ); (void) ( *( (fPt) ((* (ptr) pd642 ))))((* (( (ptr) formal←c97636)+4) ), cPoint←v26068, (* (( (ptr) (* (( (ptr) formal←c97636)+14) ))+4) ), pd642); }; }; }; }; j←v26024 = (j←v26024 + 1); if ((j←v26024 < noName←c91460)) { goto lab←L100116; }; lab←L100113: ; }; }; } static word PatternProc←P7524(i←v25880, formal←c97668) word i←v25880; word formal←c97668; { word var←c25924; formal←c97668 = (formal←c97668 - 64); /* PatternProc: */ SOURCE(48857, 64) SOURCE(48903, 18) { word limit643; return((* ((( (ptr) (* (( (ptr) formal←c97668)+20) ))+1)+( limit643 = (* (ptr) (* (( (ptr) formal←c97668)+20) ) ), BCK(i←v25880, limit643) )) )); }; } static word AllStrokePropsAndColorsEqual←P2340(slice←v14020) word slice←v14020; { register ptr gf←c97700 = (ptr) &globalframe; word var←c14064; word seg←v26112 = 0; word firstSeg←v26140; word width←v26168; word end←v26196; word color←v26224; word dashed←v26252; word pattern←v26280; word offset←v26308; word length←v26336; word hiSegment←v26364; /* AllStrokePropsAndColorsEqual: */ SOURCE(49120, 922) SOURCE(49120, 922) var←c14064 = 0; SOURCE(49211, 49) { word pd644; pd644 = (* (( (ptr) (* (( (ptr) gf←c97700)+161)/* var←c84516 */ ))+29) ); firstSeg←v26140 = (word) ( *( (fPt) ((* (ptr) pd644 ))))(slice←v14020, 0, pd644); }; SOURCE(49262, 34) width←v26168 = (* (( (ptr) firstSeg←v26140)+2) ); SOURCE(49298, 35) end←v26196 = (* (( (ptr) firstSeg←v26140)+3) ); SOURCE(49335, 29) color←v26224 = (* (( (ptr) firstSeg←v26140)+8) ); SOURCE(49366, 30) dashed←v26252 = (* (( (ptr) firstSeg←v26140)+4) ); SOURCE(49398, 42) pattern←v26280 = (* (( (ptr) firstSeg←v26140)+5) ); SOURCE(49442, 30) offset←v26308 = (* (( (ptr) firstSeg←v26140)+6) ); SOURCE(49474, 30) length←v26336 = (* (( (ptr) firstSeg←v26140)+7) ); SOURCE(49506, 40) { word pd645; pd645 = (* (( (ptr) (* (( (ptr) gf←c97700)+161)/* var←c84516 */ ))+37) ); hiSegment←v26364 = (word) ( *( (fPt) ((* (ptr) pd645 ))))(slice←v14020, pd645); }; SOURCE(49548, 494) { register word i←v26408 = 1; register word noName←c91524; noName←c91524 = hiSegment←v26364; if (( (int)i←v26408 > (int)noName←c91524)) { goto lab←L100117; }; lab←L100120: ; SOURCE(49580, 35) { word pd646; pd646 = (* (( (ptr) (* (( (ptr) gf←c97700)+161)/* var←c84516 */ ))+29) ); seg←v26112 = (word) ( *( (fPt) ((* (ptr) pd646 ))))(slice←v14020, SGNCK(i←v26408), pd646); }; SOURCE(49617, 41) if (((* (( (ptr) seg←v26112)+4) ) != dashed←v26252)) { SOURCE(49645, 13) return(0); }; SOURCE(49660, 41) if (((* (( (ptr) seg←v26112)+3) ) != end←v26196)) { SOURCE(49688, 13) return(0); }; SOURCE(49703, 45) { word x647; word x648; if ((( x647 = (* (( (ptr) seg←v26112)+2) ), *(float*)&x647 ) != ( x648 = width←v26168, *(float*)&x648 ))) { SOURCE(49735, 13) return(0); }; }; SOURCE(49750, 70) { word pd649; pd649 = (* (( (ptr) (* (( (ptr) gf←c97700)+170)/* var←c88164 */ ))+35) ); if ((0 == (word) ( *( (fPt) ((* (ptr) pd649 ))))(color←v26224, (* (( (ptr) seg←v26112)+8) ), pd649))) { SOURCE(49807, 13) return(0); }; }; SOURCE(49822, 19) if ((0 == dashed←v26252)) { SOURCE(49841, 4) goto lab←L100119; }; SOURCE(49847, 41) { word x650; word x651; if ((( x650 = (* (( (ptr) seg←v26112)+6) ), *(float*)&x650 ) != ( x651 = offset←v26308, *(float*)&x651 ))) { SOURCE(49875, 13) return(0); }; }; SOURCE(49890, 41) { word x652; word x653; if ((( x652 = (* (( (ptr) seg←v26112)+7) ), *(float*)&x652 ) != ( x653 = length←v26336, *(float*)&x653 ))) { SOURCE(49918, 13) return(0); }; }; SOURCE(49933, 76) { word pd654; pd654 = (* (( (ptr) (* (( (ptr) gf←c97700)+172)/* var←c91556 */ ))+38) ); if ((0 == (word) ( *( (fPt) ((* (ptr) pd654 ))))((* (( (ptr) seg←v26112)+5) ), pattern←v26280, pd654))) { SOURCE(49996, 13) return(0); }; }; lab←L100119: ; if (( (int)i←v26408 >= (int)noName←c91524)) { goto lab←L100117; }; i←v26408 = (i←v26408 + 1); goto lab←L100120; lab←L100117: ; SOURCE(50030, 12) return(1); }; } static word SegmentSelected←P2400(segNum←v14124, selectedSeq←v14152) word segNum←v14124; word selectedSeq←v14152; { word var←c14196; /* SegmentSelected: */ SOURCE(50057, 123) SOURCE(50057, 123) var←c14196 = 0; SOURCE(50144, 36) { word var←c01273; { word var←c91588; var←c91588 = (* (ptr) selectedSeq←v14152 ); { word limit655; var←c01273 = (unsigned) XR←ExtractField(var←c91588, 32 + (word) ( limit655 = (* (ptr) var←c91588 ), BCK(segNum←v14124, limit655) ), 1); }; }; return(var←c01273); }; } static void TrajTransform←P2460(slice←v14256, parts←v14284, transform←v14312, editConstraints←v14340, history←v14368) word slice←v14256; word parts←v14284; word transform←v14312; word editConstraints←v14340; word history←v14368; { register ptr gf←c97732 = (ptr) &globalframe; word joint←v26452 = 0; word seg←v26480 = 0; word trajData←v26508; word trajParts←v26536; word hiSegment←v26564; word hiJoint←v26592; /* TrajTransform: */ SOURCE(50186, 1093) SOURCE(50383, 39) trajData←v26508 = XR←Narrow((* (( (ptr) slice←v14256)+1) ), (* (( (ptr) gf←c97732)+10) )); SOURCE(50424, 36) trajParts←v26536 = XR←Narrow(parts←v14284, (* (( (ptr) gf←c97732)+15) )); SOURCE(50462, 40) { word pd656; pd656 = (* (( (ptr) (* (( (ptr) gf←c97732)+161)/* var←c84516 */ ))+37) ); hiSegment←v26564 = (word) ( *( (fPt) ((* (ptr) pd656 ))))(slice←v14256, pd656); }; SOURCE(50504, 36) { word pd657; pd657 = (* (( (ptr) (* (( (ptr) gf←c97732)+161)/* var←c84516 */ ))+39) ); hiJoint←v26592 = (word) ( *( (fPt) ((* (ptr) pd657 ))))(slice←v14256, pd657); }; SOURCE(50542, 179) { word var←c91620; var←c91620 = (* (ptr) trajData←v26508 ); switch (var←c91620) { case 2: SOURCE(50576, 63) (void) TransformSequenceOpen←P2520(slice←v14256, parts←v14284, transform←v14312, editConstraints←v14340); break; case 0: case 1: SOURCE(50656, 65) (void) TransformSequenceClosed←P2580(slice←v14256, parts←v14284, transform←v14312, editConstraints←v14340); break; default: SOURCE(50734, 5) (void) XR←RaiseUnnamedError(); break; }; }; SOURCE(50741, 186) { register word i←v26636 = 0; register word noName←c91652; word var←c91684; noName←c91652 = hiJoint←v26592; if ((i←v26636 > noName←c91652)) { goto lab←L100121; }; lab←L100124: ; SOURCE(50771, 156) { word limit659; if ((trajParts←v26536 == 0)) { goto then0658;}; var←c91684 = (* (( (ptr) trajParts←v26536)+1) ); if (XR←ExtractField(var←c91684, 32 + (word) ( limit659 = (* (ptr) var←c91684 ), BCK(i←v26636, limit659) ), 1)) { then0658: ; SOURCE(50818, 48) { word pd660; pd660 = (* (( (ptr) (* (( (ptr) gf←c97732)+163)/* var←c84740 */ ))+5) ); joint←v26452 = XR←Narrow((word) ( *( (fPt) ((* (ptr) pd660 ))))((* (( (ptr) trajData←v26508)+3) ), i←v26636, pd660), (* ( ( (ptr) gf←c97732)+20) )); }; SOURCE(50868, 59) { word pd661; pd661 = (* (( (ptr) (* (( (ptr) gf←c97732)+173)/* var←c91716 */ ))+5) ); (void) ( *( (fPt) ((* (ptr) pd661 ))))((word) joint←v26452, transform←v14312, (* (W2Pt) joint←v26452 ), pd661); }; }; }; if ((i←v26636 >= noName←c91652)) { goto lab←L100121; }; i←v26636 = (i←v26636 + 1); goto lab←L100124; lab←L100121: ; }; SOURCE(50941, 28) (void) TrajShapeChangeNotify←P240(slice←v14256); SOURCE(50972, 30) if ((trajParts←v26536 == 0)) { SOURCE(50996, 6) return; }; SOURCE(51004, 275) { register word i←v26680 = 0; register word noName←c91748; noName←c91748 = hiSegment←v26564; if ((i←v26680 > noName←c91748)) { goto lab←L100125; }; lab←L100128: ; { word cpCount←v26724; word var←c91780; SOURCE(51036, 45) { word limit662; var←c91780 = (* (( (ptr) trajParts←v26536)+2) ); cpCount←v26724 = (* (ptr) (* ((( (ptr) var←c91780)+1)+( limit662 = (* (ptr) var←c91780 ), BCK(i←v26680, limit662) )) ) ); }; SOURCE(51083, 48) { word pd663; pd663 = (* (( (ptr) (* (( (ptr) gf←c97732)+163)/* var←c84740 */ ))+5) ); seg←v26480 = XR←Narrow((word) ( *( (fPt) ((* (ptr) pd663 ))))((* (( (ptr) trajData←v26508)+2) ), i←v26680, pd663), (* (( (ptr) gf←c97732)+19) )); }; SOURCE(51133, 146) { register word j←v26768 = 0; register word noName←c91812; word var←c91876; word var←c91908; noName←c91812 = cpCount←v26724; if ((j←v26768 >= noName←c91812)) { goto lab←L100129; }; lab←L100132: ; SOURCE(51163, 116) { word tc664; word limit666; word limit667; { word var←c91844; var←c91844 = (* (( (ptr) trajParts←v26536)+2) ); { word limit665; var←c91876 = (* ((( (ptr) var←c91844)+1)+( limit665 = (* (ptr) var←c91844 ), BCK(i←v26680, limit665) )) ); }; }; if (XR←ExtractField(var←c91876, 32 + (word) ( limit666 = (* (ptr) var←c91876 ), BCK(j←v26768, limit666) ), 1)) { var←c91908 = (* (ptr) trajParts←v26536 ); tc664 = (word) ! XR←ExtractField(var←c91908, 32 + (word) ( limit667 = (* (ptr) var←c91908 ), BCK(i←v26680, limit667) ), 1); } else { tc664 = (word) 0; }; if (tc664) { SOURCE(51233, 46) { word pd668; pd668 = (* (( (ptr) (* (ptr) seg←v26480 ))+10) ); (void) ( *( (fPt) ((* (ptr) pd668 ))))(seg←v26480, transform←v14312, j←v26768, pd668); }; }; }; j←v26768 = (j←v26768 + 1); if ((j←v26768 < noName←c91812)) { goto lab←L100132; }; lab←L100129: ; }; }; if ((i←v26680 >= noName←c91748)) { goto lab←L100125; }; i←v26680 = (i←v26680 + 1); goto lab←L100128; lab←L100125: ; }; } static void TransformSequenceOpen←P2520(slice←v14428, parts←v14456, transform←v14484, editConstraints←v14512) word slice←v14428; word parts←v14456; word transform←v14484; word editConstraints←v14512; { register ptr gf←c97764 = (ptr) &globalframe; word trajParts←v26812; word seg←v26840 = 0; word hiSegment←v26868; /* TransformSequenceOpen: */ SOURCE(51306, 781) SOURCE(51454, 36) trajParts←v26812 = XR←Narrow(parts←v14456, (* (( (ptr) gf←c97764)+15) )); SOURCE(51506, 40) { word pd669; pd669 = (* (( (ptr) (* (( (ptr) gf←c97764)+161)/* var←c84516 */ ))+37) ); hiSegment←v26868 = (word) ( *( (fPt) ((* (ptr) pd669 ))))(slice←v14428, pd669); }; SOURCE(51548, 539) { register word i←v26912 = 0; register word noName←c91940; noName←c91940 = hiSegment←v26868; if ((i←v26912 > noName←c91940)) { goto lab←L100133; }; lab←L100136: ; { word var←c91972; SOURCE(51580, 35) { word pd670; pd670 = (* (( (ptr) (* (( (ptr) gf←c97764)+161)/* var←c84516 */ ))+29) ); seg←v26840 = (word) ( *( (fPt) ((* (ptr) pd670 ))))(slice←v14428, i←v26912, pd670); }; SOURCE(51617, 470) { word limit672; if ((trajParts←v26812 == 0)) { goto then0671;}; var←c91972 = (* (ptr) trajParts←v26812 ); if (XR←ExtractField(var←c91972, 32 + (word) ( limit672 = (* (ptr) var←c91972 ), BCK(i←v26912, limit672) ), 1)) { then0671: ; SOURCE(51666, 42) { word pd673; pd673 = (* (( (ptr) (* (( (ptr) gf←c97764)+164)/* var←c84836 */ ))+26) ); (void) ( *( (fPt) ((* (ptr) pd673 ))))(seg←v26840, transform←v14484, pd673); }; } else { SOURCE(51719, 368) if ( ( ((* (ptr) (* (ptr) seg←v26840 ) ) == (* (( (ptr) gf←c97764)+27) )) ? (editConstraints←v14512 != 0) : 0 ) ) { SOURCE(51781, 70) (void) TransformConstrained←P2640(slice←v14428, parts←v14456, i←v26912, seg←v26840, transform←v14484, editConstraints←v14512) ; } else { { word var←c92004; word var←c92068; word var←c92100; SOURCE(51862, 110) { word limit674; var←c92004 = (* (( (ptr) trajParts←v26812)+1) ); if (XR←ExtractField(var←c92004, 32 + (word) ( /*1*/ limit674 = (* (ptr) var←c92004 ), /*1*/ BCK(i←v26912, limit674) /*1*/ ), 1)) { SOURCE(51890, 82) { /*1*/ W2 var←c92036; /*1*/ { /*1*/ word pd675; /*1*/ pd675 = (* (( (ptr) (* (( (ptr) gf←c97764)+173)/* var←c91716 */ ))+5) ); /*1*/ (void) ( *( (fPt) ((* (ptr) pd675 ))))((word) &var←c92036, transform←v14484, (* (W2Pt) (( (ptr) seg←v26840)+9) ), pd675) /*1*/ ; /*1*/ }; /*1*/ { /*1*/ word pd676; /*1*/ pd676 = (* (( (ptr) (* (( (ptr) gf←c97764)+164)/* var←c84836 */ ))+28) ); /*1*/ (void) ( *( (fPt) ((* (ptr) pd676 ))))(seg←v26840, 1, var←c92036, pd676); /*1*/ }; /*1*/ }; }; }; SOURCE(51974, 113) { word limit677; var←c92068 = (i←v26912 + 1); var←c92100 = (* (( (ptr) trajParts←v26812)+1) ); if (XR←ExtractField(var←c92100, 32 + (word) ( /*1*/ limit677 = (* (ptr) var←c92100 ), /*1*/ BCK(var←c92068, limit677) /*1*/ ), 1)) { SOURCE(52004, 83) { /*1*/ W2 var←c92132; /*1*/ { /*1*/ word pd678; /*1*/ pd678 = (* (( (ptr) (* (( (ptr) gf←c97764)+173)/* var←c91716 */ ))+5) ); /*1*/ (void) ( *( (fPt) ((* (ptr) pd678 ))))((word) &var←c92132, transform←v14484, (* (W2Pt) (( (ptr) seg←v26840)+11) ), pd678) /*1*/ ; /*1*/ }; /*1*/ { /*1*/ word pd679; /*1*/ pd679 = (* (( (ptr) (* (( (ptr) gf←c97764)+164)/* var←c84836 */ ))+28) ); /*1*/ (void) ( *( (fPt) ((* (ptr) pd679 ))))(seg←v26840, 0, var←c92132, pd679); /*1*/ }; /*1*/ }; }; }; }; }; }; }; }; if ((i←v26912 >= noName←c91940)) { goto lab←L100133; }; i←v26912 = (i←v26912 + 1); goto lab←L100136; lab←L100133: ; }; } static void TransformSequenceClosed←P2580(slice←v14572, parts←v14600, transform←v14628, editConstraints←v14656) word slice←v14572; word parts←v14600; word transform←v14628; word editConstraints←v14656; { register ptr gf←c97796 = (ptr) &globalframe; word trajParts←v26956; word seg←v26984 = 0; word hiSegment←v27012; word var←c92388; /* TransformSequenceClosed: */ SOURCE(52108, 1388) SOURCE(52258, 36) trajParts←v26956 = XR←Narrow(parts←v14600, (* (( (ptr) gf←c97796)+15) )); SOURCE(52310, 40) { word pd680; pd680 = (* (( (ptr) (* (( (ptr) gf←c97796)+161)/* var←c84516 */ ))+37) ); hiSegment←v27012 = (word) ( *( (fPt) ((* (ptr) pd680 ))))(slice←v14572, pd680); }; SOURCE(52352, 572) { register word i←v27056 = 0; register word noName←c92164; noName←c92164 = hiSegment←v27012; if ((i←v27056 >= noName←c92164)) { goto lab←L100137; }; lab←L100140: ; { word var←c92196; SOURCE(52384, 35) { word pd681; pd681 = (* (( (ptr) (* (( (ptr) gf←c97796)+161)/* var←c84516 */ ))+29) ); seg←v26984 = (word) ( *( (fPt) ((* (ptr) pd681 ))))(slice←v14572, i←v27056, pd681); }; SOURCE(52421, 503) { word limit683; if ((trajParts←v26956 == 0)) { goto then0682;}; var←c92196 = (* (ptr) trajParts←v26956 ); if (XR←ExtractField(var←c92196, 32 + (word) ( limit683 = (* (ptr) var←c92196 ), BCK(i←v27056, limit683) ), 1)) { then0682: ; SOURCE(52470, 42) { word pd684; pd684 = (* (( (ptr) (* (( (ptr) gf←c97796)+164)/* var←c84836 */ ))+26) ); (void) ( *( (fPt) ((* (ptr) pd684 ))))(seg←v26984, transform←v14628, pd684); }; } else { SOURCE(52523, 401) if ( ( ((* (ptr) (* (ptr) seg←v26984 ) ) == (* (( (ptr) gf←c97796)+27) )) ? (editConstraints←v14656 != 0) : 0 ) ) { SOURCE(52585, 70) (void) TransformConstrained←P2640(slice←v14572, parts←v14600, i←v27056, seg←v26984, transform←v14628, editConstraints←v14656) ; } else { { word var←c92228; word var←c92292; word var←c92324; SOURCE(52699, 110) { word limit685; var←c92228 = (* (( (ptr) trajParts←v26956)+1) ); if (XR←ExtractField(var←c92228, 32 + (word) ( /*1*/ limit685 = (* (ptr) var←c92228 ), /*1*/ BCK(i←v27056, limit685) /*1*/ ), 1)) { SOURCE(52727, 82) { /*1*/ W2 var←c92260; /*1*/ { /*1*/ word pd686; /*1*/ pd686 = (* (( (ptr) (* (( (ptr) gf←c97796)+173)/* var←c91716 */ ))+5) ); /*1*/ (void) ( *( (fPt) ((* (ptr) pd686 ))))((word) &var←c92260, transform←v14628, (* (W2Pt) (( (ptr) seg←v26984)+9) ), pd686) /*1*/ ; /*1*/ }; /*1*/ { /*1*/ word pd687; /*1*/ pd687 = (* (( (ptr) (* (( (ptr) gf←c97796)+164)/* var←c84836 */ ))+28) ); /*1*/ (void) ( *( (fPt) ((* (ptr) pd687 ))))(seg←v26984, 1, var←c92260, pd687); /*1*/ }; /*1*/ }; }; }; SOURCE(52811, 113) { word limit688; var←c92292 = (i←v27056 + 1); var←c92324 = (* (( (ptr) trajParts←v26956)+1) ); if (XR←ExtractField(var←c92324, 32 + (word) ( /*1*/ limit688 = (* (ptr) var←c92324 ), /*1*/ BCK(var←c92292, limit688) /*1*/ ), 1)) { SOURCE(52841, 83) { /*1*/ W2 var←c92356; /*1*/ { /*1*/ word pd689; /*1*/ pd689 = (* (( (ptr) (* (( (ptr) gf←c97796)+173)/* var←c91716 */ ))+5) ); /*1*/ (void) ( *( (fPt) ((* (ptr) pd689 ))))((word) &var←c92356, transform←v14628, (* (W2Pt) (( (ptr) seg←v26984)+11) ), pd689) /*1*/ ; /*1*/ }; /*1*/ { /*1*/ word pd690; /*1*/ pd690 = (* (( (ptr) (* (( (ptr) gf←c97796)+164)/* var←c84836 */ ))+28) ); /*1*/ (void) ( *( (fPt) ((* (ptr) pd690 ))))(seg←v26984, 0, var←c92356, pd690); /*1*/ }; /*1*/ }; }; }; }; }; }; }; }; i←v27056 = (i←v27056 + 1); if ((i←v27056 < noName←c92164)) { goto lab←L100140; }; lab←L100137: ; }; SOURCE(52941, 43) { word pd691; pd691 = (* (( (ptr) (* (( (ptr) gf←c97796)+161)/* var←c84516 */ ))+29) ); seg←v26984 = (word) ( *( (fPt) ((* (ptr) pd691 ))))(slice←v14572, hiSegment←v27012, pd691); }; SOURCE(52986, 510) { word limit693; if ((trajParts←v26956 == 0)) { goto then0692;}; var←c92388 = (* (ptr) trajParts←v26956 ); if (XR←ExtractField(var←c92388, 32 + (word) ( limit693 = (* (ptr) var←c92388 ), BCK(hiSegment←v27012, limit693) ), 1)) { then0692: ; SOURCE(53043, 42) { word pd694; pd694 = (* (( (ptr) (* (( (ptr) gf←c97796)+164)/* var←c84836 */ ))+26) ); (void) ( *( (fPt) ((* (ptr) pd694 ))))(seg←v26984, transform←v14628, pd694); }; } else { SOURCE(53096, 400) if ( ( ((* (ptr) (* (ptr) seg←v26984 ) ) == (* (( (ptr) gf←c97796)+27) )) ? (editConstraints←v14656 != 0) : 0 ) ) { SOURCE(53158, 78) (void) TransformConstrained←P2640(slice←v14572, parts←v14600, hiSegment←v27012, seg←v26984, transform←v14628, editConstraints←v14656) ; } else { { word var←c92420; word var←c92484; SOURCE(53265, 118) { word limit695; var←c92420 = (* (( (ptr) trajParts←v26956)+1) ); if (XR←ExtractField(var←c92420, 32 + (word) ( limit695 = (* (ptr) var←c92420 ), BCK(hiSegment←v27012, limit695) ), 1)) { SOURCE(53301, 82) { W2 var←c92452; { word pd696; pd696 = (* (( (ptr) (* (( (ptr) gf←c97796)+173)/* var←c91716 */ ))+5) ); (void) ( *( (fPt) ((* (ptr) pd696 ))))((word) &var←c92452, transform←v14628, (* (W2Pt) (( (ptr) seg←v26984)+9) ), pd696) ; }; { word pd697; pd697 = (* (( (ptr) (* (( (ptr) gf←c97796)+164)/* var←c84836 */ ))+28) ); (void) ( *( (fPt) ((* (ptr) pd697 ))))(seg←v26984, 1, var←c92452, pd697); }; }; }; }; SOURCE(53385, 111) { word limit698; var←c92484 = (* (( (ptr) trajParts←v26956)+1) ); if (XR←ExtractField(var←c92484, 32 + (word) ( limit698 = (* (ptr) var←c92484 ), BCK(0, limit698) ), 1)) { SOURCE(53413, 83) { W2 var←c92516; { word pd699; pd699 = (* (( (ptr) (* (( (ptr) gf←c97796)+173)/* var←c91716 */ ))+5) ); (void) ( *( (fPt) ((* (ptr) pd699 ))))((word) &var←c92516, transform←v14628, (* (W2Pt) (( (ptr) seg←v26984)+11) ), pd699) ; }; { word pd700; pd700 = (* (( (ptr) (* (( (ptr) gf←c97796)+164)/* var←c84836 */ ))+28) ); (void) ( *( (fPt) ((* (ptr) pd700 ))))(seg←v26984, 0, var←c92516, pd700); }; }; }; }; }; }; }; }; } static void TransformConstrained←P2640(slice←v14716, parts←v14744, segNum←v14772, seg←v14800, transform←v14828, editConstraints←v14856) word slice←v14716; word parts←v14744; word segNum←v14772; word seg←v14800; word transform←v14828; word editConstraints←v14856; { register ptr gf←c97828 = (ptr) &globalframe; word nextJointNum←v27100; W2 dirVec←v27128; word distance←v27156; W2 ctrlPoint←v27184; word ctrlTrans←v27212 = 0; word partialTransform←v27240 = 0; word selSeq←v27268; word var←c92548; word var←c92580; word var←c92612; word var←c92804; word var←c92836; word var←c93284; word var←c93316; word var←c93348; word var←c93540; word var←c93572; /* TransformConstrained: */ SOURCE(53508, 5765) SOURCE(53829, 33) selSeq←v27268 = XR←Narrow(parts←v14744, (* (( (ptr) gf←c97828)+15) )); SOURCE(53864, 2677) { word tc701; word limit702; word limit704; var←c92548 = (* (( (ptr) selSeq←v27268)+1) ); if (XR←ExtractField(var←c92548, 32 + (word) ( limit702 = (* (ptr) var←c92548 ), BCK(segNum←v14772, limit702) ), 1)) { { word limit703; var←c92580 = (* (( (ptr) selSeq←v27268)+2) ); var←c92612 = (* ((( (ptr) var←c92580)+1)+( limit703 = (* (ptr) var←c92580 ), BCK(segNum←v14772, limit703) )) ); }; tc701 = (word) ! XR←ExtractField(var←c92612, 32 + (word) ( limit704 = (* (ptr) var←c92612 ), BCK(0, limit704) ), 1); } else { tc701 = (word) 0; }; if (tc701) { SOURCE(53959, 45) { word pd705; pd705 = (* (( (ptr) (* (ptr) seg←v14800 ))+16) ); (void) ( *( (fPt) ((* (ptr) pd705 ))))((word) &ctrlPoint←v27184, seg←v14800, 0, pd705); }; SOURCE(54006, 54) { word pd706; pd706 = (* (( (ptr) (* (( (ptr) gf←c97828)+165)/* var←c85028 */ ))+22) ); (void) ( *( (fPt) ((* (ptr) pd706 ))))((word) &dirVec←v27128, (* (W2Pt) (( (ptr) seg←v14800)+9) ), ctrlPoint←v27184, pd706) ; }; SOURCE(54062, 82) { W2 var←c92644; { word pd707; pd707 = (* (( (ptr) (* (( (ptr) gf←c97828)+173)/* var←c91716 */ ))+5) ); (void) ( *( (fPt) ((* (ptr) pd707 ))))((word) &var←c92644, transform←v14828, (* (W2Pt) (( (ptr) seg←v14800)+9) ), pd707) ; }; { word pd708; pd708 = (* (( (ptr) (* (( (ptr) gf←c97828)+164)/* var←c84836 */ ))+28) ); (void) ( *( (fPt) ((* (ptr) pd708 ))))(seg←v14800, 1, var←c92644, pd708); }; }; SOURCE(54146, 96) { W2 var←c92676; { word pd709; pd709 = (* (( (ptr) (* (( (ptr) gf←c97828)+165)/* var←c85028 */ ))+22) ); (void) ( *( (fPt) ((* (ptr) pd709 ))))((word) &var←c92676, ctrlPoint←v27184, (* (W2Pt) (( (ptr) seg←v14800)+9) ), pd709) ; }; { word pd710; pd710 = (* (( (ptr) (* (( (ptr) gf←c97828)+156)/* var←c83940 */ ))+10) ); partialTransform←v27240 = (word) ( *( (fPt) ((* (ptr) pd710 ))))(var←c92676, pd710); }; }; SOURCE(54244, 387) if ((editConstraints←v14856 == 1)) { { W2 var←c92708; SOURCE(54324, 48) { word pd711; pd711 = (* (( (ptr) (* (( (ptr) gf←c97828)+165)/* var←c85028 */ ))+19) ); distance←v27156 = (word) ( *( (fPt) ((* (ptr) pd711 ))))((* (W2Pt) (( (ptr) seg←v14800)+9) ), ctrlPoint←v27184, pd711); }; SOURCE(54374, 59) var←c92708.f0 = (* (ptr) &fc123 ); var←c92708.f1 = (* (ptr) &fc123 ); if ( ! XR←EqualWords(&dirVec←v27128, &var←c92708, 2)) { SOURCE(54397, 36) { word pd712; pd712 = (* (( (ptr) (* (( (ptr) gf←c97828)+165)/* var←c85028 */ ))+13) ); (void) ( *( (fPt) ((* (ptr) pd712 ))))((word) &dirVec←v27128, dirVec←v27128, pd712); }; }; SOURCE(54452, 98) { W2 var←c92740; { word pd713; pd713 = (* (( (ptr) (* (( (ptr) gf←c97828)+165)/* var←c85028 */ ))+12) ); (void) ( *( (fPt) ((* (ptr) pd713 ))))((word) &var←c92740, dirVec←v27128, distance←v27156, pd713); }; { word pd714; pd714 = (* (( (ptr) (* (( (ptr) gf←c97828)+156)/* var←c83940 */ ))+22) ); ctrlTrans←v27212 = (word) ( *( (fPt) ((* (ptr) pd714 ))))(partialTransform←v27240, var←c92740, pd714); }; }; }; } else { SOURCE(54559, 72) { word pd715; pd715 = (* (( (ptr) (* (( (ptr) gf←c97828)+156)/* var←c83940 */ ))+22) ); ctrlTrans←v27212 = (word) ( *( (fPt) ((* (ptr) pd715 ))))(partialTransform←v27240, dirVec←v27128, pd715); }; }; SOURCE(54633, 46) { word pd716; pd716 = (* (( (ptr) (* (ptr) seg←v14800 ))+10) ); (void) ( *( (fPt) ((* (ptr) pd716 ))))(seg←v14800, ctrlTrans←v27212, 0, pd716); }; } else { SOURCE(54690, 1851) { word limit718; { word var←c92772; var←c92772 = (* (( (ptr) selSeq←v27268)+2) ); { word limit717; var←c92804 = (* ((( (ptr) var←c92772)+1)+( limit717 = (* (ptr) var←c92772 ), BCK(segNum←v14772, limit717) )) ); }; }; if (XR←ExtractField(var←c92804, 32 + (word) ( limit718 = (* (ptr) var←c92804 ), BCK(0, limit718) ), 1)) { SOURCE(54732, 112) { word limit719; var←c92836 = (* (( (ptr) selSeq←v27268)+1) ); if (XR←ExtractField(var←c92836, 32 + (word) ( limit719 = (* (ptr) var←c92836 ), BCK(segNum←v14772, limit719) ), 1)) { SOURCE(54762, 82) { W2 var←c92868; { word pd720; pd720 = (* (( (ptr) (* (( (ptr) gf←c97828)+173)/* var←c91716 */ ))+5) ); (void) ( *( (fPt) ((* (ptr) pd720 ))))((word) &var←c92868, transform←v14828, (* (W2Pt) (( (ptr) seg←v14800)+9) ), pd720) ; }; { word pd721; pd721 = (* (( (ptr) (* (( (ptr) gf←c97828)+164)/* var←c84836 */ ))+28) ); (void) ( *( (fPt) ((* (ptr) pd721 ))))(seg←v14800, 1, var←c92868, pd721); }; }; }; }; } else { SOURCE(54853, 1696) { word prevSegNum←v27312; word var←c92932; SOURCE(54930, 58) { word pd722; pd722 = (* (( (ptr) (* (( (ptr) gf←c97828)+161)/* var←c84516 */ ))+42) ); prevSegNum←v27312 = (word) ( *( (fPt) ((* (ptr) pd722 ))))(slice←v14716, segNum←v14772, pd722); }; SOURCE(54990, 1551) { word tc723; word pd724; if (( (int)prevSegNum←v27312 != (int) (word) -1)) { pd724 = (* (( (ptr) (* (( (ptr) gf←c97828)+161)/* var←c84516 */ ))+29) ); tc723 = (word) ((* (ptr) (* (ptr) ( *( (fPt) ((* (ptr) pd724 ))))(slice←v14716, SGNCK(prevSegNum←v27312), pd724) ) ) == (* ( ( (ptr) gf←c97828)+27) )); } else { tc723 = (word) 0; }; if (tc723) { SOURCE(55082, 1459) { word limit726; { /*1*/ word var←c92900; /*1*/ var←c92900 = (* (( (ptr) selSeq←v27268)+2) ); /*1*/ { /*1*/ word limit725; /*1*/ var←c92932 = (* ((( (ptr) var←c92900)+1)+( /*1*/ limit725 = (* (ptr) var←c92900 ), /*1*/ BCK(prevSegNum←v27312, limit725) /*1*/ )) ); /*1*/ }; /*1*/ }; if (XR←ExtractField(var←c92932, 32 + (word) ( /*1*/ limit726 = (* (ptr) var←c92932 ), /*1*/ BCK(1, limit726) /*1*/ ), 1)) { SOURCE(55126, 1417) /*1*/ { /*1*/ word angle←v27356; /*1*/ W2 transformedPoint←v27384; /*1*/ W2 otherCtrlPoint←v27412; /*1*/ W2 otherDirVector←v27440; /*1*/ W2 var←c93060; /*1*/ W2 var←c93156; SOURCE(55166, 92) /*1*/ { /*1*/ word var←c92964; /*1*/ { /*1*/ word pd727; /*1*/ pd727 = (* (( (ptr) (* (( (ptr) gf←c97828)+161)/* var←c84516 */ ))+29) ); /*1*/ var←c92964 = (word) ( *( (fPt) ((* (ptr) pd727 ))))(slice←v14716, SGNCK(prevSegNum←v27312), pd727); /*1*/ }; /*1*/ { /*1*/ word pd728; /*1*/ pd728 = (* (( (ptr) (* (ptr) seg←v14800 ))+16) ); /*1*/ (void) ( *( (fPt) ((* (ptr) pd728 ))))((word) &otherCtrlPoint←v27412, var←c92964, 1, pd728); /*1*/ }; /*1*/ }; SOURCE(55260, 75) /*1*/ { /*1*/ word pd729; /*1*/ pd729 = (* (( (ptr) (* (( (ptr) gf←c97828)+165)/* var←c85028 */ ))+22) ); /*1*/ (void) ( *( (fPt) ((* (ptr) pd729 ))))((word) &otherDirVector←v27440, (* (W2Pt) (( (ptr) seg←v14800)+9) ), otherCtrlPoint←v27412, pd729) /*1*/ ; /*1*/ }; SOURCE(55337, 45) /*1*/ { /*1*/ word pd730; /*1*/ pd730 = (* (( (ptr) (* (ptr) seg←v14800 ))+16) ); /*1*/ (void) ( *( (fPt) ((* (ptr) pd730 ))))((word) &ctrlPoint←v27184, seg←v14800, 0, pd730); /*1*/ }; SOURCE(55384, 54) /*1*/ { /*1*/ word pd731; /*1*/ pd731 = (* (( (ptr) (* (( (ptr) gf←c97828)+165)/* var←c85028 */ ))+22) ); /*1*/ (void) ( *( (fPt) ((* (ptr) pd731 ))))((word) &dirVec←v27128, (* (W2Pt) (( (ptr) seg←v14800)+9) ), ctrlPoint←v27184, pd731) /*1*/ ; /*1*/ }; SOURCE(55440, 38) /*1*/ { /*1*/ word pd732; /*1*/ pd732 = (* (( (ptr) (* (( (ptr) gf←c97828)+165)/* var←c85028 */ ))+18) ); /*1*/ distance←v27156 = (word) ( *( (fPt) ((* (ptr) pd732 ))))(dirVec←v27128, pd732); /*1*/ }; SOURCE(55480, 76) /*1*/ { /*1*/ word pd733; /*1*/ pd733 = (* (( (ptr) (* (( (ptr) gf←c97828)+156)/* var←c83940 */ ))+39) ); /*1*/ (void) ( *( (fPt) ((* (ptr) pd733 ))))((word) &transformedPoint←v27384, transform←v14828, otherCtrlPoint←v27412, pd733); /*1*/ }; SOURCE(55558, 115) /*1*/ { /*1*/ W2 var←c92996; /*1*/ { /*1*/ word pd734; /*1*/ pd734 = (* (( (ptr) (* (( (ptr) gf←c97828)+165)/* var←c85028 */ ))+22) ); /*1*/ (void) ( *( (fPt) ((* (ptr) pd734 ))))((word) &var←c92996, (* (W2Pt) (( (ptr) seg←v14800)+9) ), transformedPoint←v27384, pd734) /*1*/ ; /*1*/ }; /*1*/ { /*1*/ word pd735; /*1*/ pd735 = (* (( (ptr) (* (( (ptr) gf←c97828)+165)/* var←c85028 */ ))+9) ); /*1*/ angle←v27356 = (word) ( *( (fPt) ((* (ptr) pd735 ))))(otherDirVector←v27440, var←c92996, pd735); /*1*/ }; /*1*/ }; SOURCE(55675, 96) /*1*/ { /*1*/ W2 var←c93028; /*1*/ { /*1*/ word pd736; /*1*/ pd736 = (* (( (ptr) (* (( (ptr) gf←c97828)+165)/* var←c85028 */ ))+22) ); /*1*/ (void) ( *( (fPt) ((* (ptr) pd736 ))))((word) &var←c93028, ctrlPoint←v27184, (* (W2Pt) (( (ptr) seg←v14800)+9) ), pd736) /*1*/ ; /*1*/ }; /*1*/ { /*1*/ word pd737; /*1*/ pd737 = (* (( (ptr) (* (( (ptr) gf←c97828)+156)/* var←c83940 */ ))+10) ); /*1*/ partialTransform←v27240 = (word) ( *( (fPt) ((* (ptr) pd737 ))))(var←c93028, pd737); /*1*/ }; /*1*/ }; SOURCE(55774, 703) /*1*/ if ((editConstraints←v14856 == 1)) { SOURCE(55810, 283) /*1*/ { /*1*/ word tc738; /*1*/ if ( ! XR←EqualWords(&transformedPoint←v27384, (( (ptr) seg←v14800)+9), 2)) { /*1*/ var←c93060.f0 = (* (ptr) &fc123 ); /*1*/ var←c93060.f1 = (* (ptr) &fc123 ); /*1*/ tc738 = (word) ! XR←EqualWords(&otherDirVector←v27440, &var←c93060, 2); /*1*/ } /*1*/ else { /*1*/ tc738 = (word) 0; /*1*/ }; /*1*/ if (tc738) { SOURCE(55910, 133) /*1*/ { /*1*/ W2 var←c93092; /*1*/ { /*1*/ W2 var←c93124; /*1*/ { /*1*/ word pd739; /*1*/ pd739 = (* (( (ptr) (* (( (ptr) gf←c97828)+165)/* var←c85028 */ ))+5) ); /*1*/ (void) ( *( (fPt) ((* (ptr) pd739 ))))((word) &var←c93124, dirVec←v27128, angle←v27356, pd739); /*1*/ }; /*1*/ { /*1*/ W2 var←c0993; /*1*/ { /*1*/ word pd740; /*1*/ pd740 = (* (( (ptr) (* (( (ptr) gf←c97828)+165)/* var←c85028 */ ))+12) ); /*1*/ (void) ( *( (fPt) ((* (ptr) pd740 ))))((word) &var←c0993, var←c93124, distance←v27156, pd740); /*1*/ }; /*1*/ var←c93092 = var←c0993; /*1*/ }; /*1*/ }; /*1*/ { /*1*/ word pd741; /*1*/ pd741 = (* (( (ptr) (* (( (ptr) gf←c97828)+156)/* var←c83940 */ ))+22) ); /*1*/ ctrlTrans←v27212 = (word) ( *( (fPt) ((* (ptr) pd741 ))))(partialTransform←v27240, var←c93092, pd741); /*1*/ }; /*1*/ }; /*1*/ } /*1*/ else { SOURCE(56052, 41) /*1*/ { /*1*/ word pd742; /*1*/ pd742 = (* (( (ptr) (* (( (ptr) gf←c97828)+156)/* var←c83940 */ ))+7) ); /*1*/ ctrlTrans←v27212 = (word) ( *( (fPt) ((* (ptr) pd742 ))))((* (ptr) (&fc57) ), pd742); /*1*/ }; /*1*/ }; /*1*/ }; /*1*/ } /*1*/ else { SOURCE(56127, 350) /*1*/ var←c93156.f0 = (* (ptr) &fc123 ); /*1*/ var←c93156.f1 = (* (ptr) &fc123 ); /*1*/ if ( ! XR←EqualWords(&otherDirVector←v27440, &var←c93156, 2)) { SOURCE(56160, 132) /*1*/ { /*1*/ word var←c93188; /*1*/ word var←c01274; /*1*/ { /*1*/ word pd743; /*1*/ word x744; /*1*/ word pd745; /*1*/ word x746; /*1*/ pd743 = (* (( (ptr) (* (( (ptr) gf←c97828)+165)/* var←c85028 */ ))+21) ); /*1*/ pd745 = (* (( (ptr) (* (( (ptr) gf←c97828)+165)/* var←c85028 */ ))+20) ); /*1*/ *(float*)&var←c93188 = ( /*1*/ x744 = (word) ( *( (fPt) ((* (ptr) pd743 ))))((* (W2Pt) (( (ptr) seg←v14800)+9) ), transformedPoint←v27384, pd743), *(float*)&x744 /*1*/ ) / ( /*1*/ x746 = (word) ( *( (fPt) ((* (ptr) pd745 ))))(otherDirVector←v27440, pd745), *(float*)&x746 /*1*/ ); /*1*/ }; /*1*/ { /*1*/ word pd747; /*1*/ pd747 = (* (( (ptr) (* (( (ptr) gf←c97828)+166)/* var←c85540 */ ))+9) ); /*1*/ var←c01274 = (word) ( *( (fPt) ((* (ptr) pd747 ))))(var←c93188, pd747); /*1*/ }; /*1*/ { /*1*/ word x748; /*1*/ word x749; /*1*/ *(float*)&distance←v27156 = ( /*1*/ x748 = var←c01274, *(float*)&x748 /*1*/ ) * ( /*1*/ x749 = distance←v27156, *(float*)&x749 /*1*/ ); /*1*/ }; /*1*/ }; SOURCE(56294, 133) /*1*/ { /*1*/ W2 var←c93220; /*1*/ { /*1*/ W2 var←c93252; /*1*/ { /*1*/ word pd750; /*1*/ pd750 = (* (( (ptr) (* (( (ptr) gf←c97828)+165)/* var←c85028 */ ))+5) ); /*1*/ (void) ( *( (fPt) ((* (ptr) pd750 ))))((word) &var←c93252, dirVec←v27128, angle←v27356, pd750); /*1*/ }; /*1*/ { /*1*/ W2 var←c0999; /*1*/ { /*1*/ word pd751; /*1*/ pd751 = (* (( (ptr) (* (( (ptr) gf←c97828)+165)/* var←c85028 */ ))+12) ); /*1*/ (void) ( *( (fPt) ((* (ptr) pd751 ))))((word) &var←c0999, var←c93252, distance←v27156, pd751); /*1*/ }; /*1*/ var←c93220 = var←c0999; /*1*/ }; /*1*/ }; /*1*/ { /*1*/ word pd752; /*1*/ pd752 = (* (( (ptr) (* (( (ptr) gf←c97828)+156)/* var←c83940 */ ))+22) ); /*1*/ ctrlTrans←v27212 = (word) ( *( (fPt) ((* (ptr) pd752 ))))(partialTransform←v27240, var←c93220, pd752); /*1*/ }; /*1*/ }; /*1*/ } /*1*/ else { SOURCE(56436, 41) /*1*/ { /*1*/ word pd753; /*1*/ pd753 = (* (( (ptr) (* (( (ptr) gf←c97828)+156)/* var←c83940 */ ))+7) ); /*1*/ ctrlTrans←v27212 = (word) ( *( (fPt) ((* (ptr) pd753 ))))((* (ptr) (&fc57) ), pd753); /*1*/ }; /*1*/ }; /*1*/ }; SOURCE(56495, 46) /*1*/ { /*1*/ word pd754; /*1*/ pd754 = (* (( (ptr) (* (ptr) seg←v14800 ))+10) ); /*1*/ (void) ( *( (fPt) ((* (ptr) pd754 ))))(seg←v14800, ctrlTrans←v27212, 0, pd754); /*1*/ }; /*1*/ }; /*1*/ }; }; }; }; }; }; }; }; }; SOURCE(56557, 51) { word pd755; word idx756; pd755 = (* (( (ptr) (* (( (ptr) gf←c97828)+161)/* var←c84516 */ ))+44) ); nextJointNum←v27100 = ( idx756 = (word) ( *( (fPt) ((* (ptr) pd755 ))))(slice←v14716, segNum←v14772, pd755), SGNCK(idx756) ); }; SOURCE(56611, 2662) { word tc757; word limit758; word limit760; var←c93284 = (* (( (ptr) selSeq←v27268)+1) ); if (XR←ExtractField(var←c93284, 32 + (word) ( limit758 = (* (ptr) var←c93284 ), BCK(nextJointNum←v27100, limit758) ), 1)) { { word limit759; var←c93316 = (* (( (ptr) selSeq←v27268)+2) ); var←c93348 = (* ((( (ptr) var←c93316)+1)+( limit759 = (* (ptr) var←c93316 ), BCK(segNum←v14772, limit759) )) ); }; tc757 = (word) ! XR←ExtractField(var←c93348, 32 + (word) ( limit760 = (* (ptr) var←c93348 ), BCK(1, limit760) ), 1); } else { tc757 = (word) 0; }; if (tc757) { SOURCE(56713, 45) { word pd761; pd761 = (* (( (ptr) (* (ptr) seg←v14800 ))+16) ); (void) ( *( (fPt) ((* (ptr) pd761 ))))((word) &ctrlPoint←v27184, seg←v14800, 1, pd761); }; SOURCE(56760, 54) { word pd762; pd762 = (* (( (ptr) (* (( (ptr) gf←c97828)+165)/* var←c85028 */ ))+22) ); (void) ( *( (fPt) ((* (ptr) pd762 ))))((word) &dirVec←v27128, (* (W2Pt) (( (ptr) seg←v14800)+11) ), ctrlPoint←v27184, pd762) ; }; SOURCE(56816, 83) { W2 var←c93380; { word pd763; pd763 = (* (( (ptr) (* (( (ptr) gf←c97828)+173)/* var←c91716 */ ))+5) ); (void) ( *( (fPt) ((* (ptr) pd763 ))))((word) &var←c93380, transform←v14828, (* (W2Pt) (( (ptr) seg←v14800)+11) ), pd763) ; }; { word pd764; pd764 = (* (( (ptr) (* (( (ptr) gf←c97828)+164)/* var←c84836 */ ))+28) ); (void) ( *( (fPt) ((* (ptr) pd764 ))))(seg←v14800, 0, var←c93380, pd764); }; }; SOURCE(56901, 96) { W2 var←c93412; { word pd765; pd765 = (* (( (ptr) (* (( (ptr) gf←c97828)+165)/* var←c85028 */ ))+22) ); (void) ( *( (fPt) ((* (ptr) pd765 ))))((word) &var←c93412, ctrlPoint←v27184, (* (W2Pt) (( (ptr) seg←v14800)+11) ), pd765) ; }; { word pd766; pd766 = (* (( (ptr) (* (( (ptr) gf←c97828)+156)/* var←c83940 */ ))+10) ); partialTransform←v27240 = (word) ( *( (fPt) ((* (ptr) pd766 ))))(var←c93412, pd766); }; }; SOURCE(56999, 343) if ((editConstraints←v14856 == 1)) { { W2 var←c93444; SOURCE(57035, 48) { word pd767; pd767 = (* (( (ptr) (* (( (ptr) gf←c97828)+165)/* var←c85028 */ ))+19) ); distance←v27156 = (word) ( *( (fPt) ((* (ptr) pd767 ))))((* (W2Pt) (( (ptr) seg←v14800)+11) ), ctrlPoint←v27184, pd767) ; }; SOURCE(57085, 59) var←c93444.f0 = (* (ptr) &fc123 ); var←c93444.f1 = (* (ptr) &fc123 ); if ( ! XR←EqualWords(&dirVec←v27128, &var←c93444, 2)) { SOURCE(57108, 36) { word pd768; pd768 = (* (( (ptr) (* (( (ptr) gf←c97828)+165)/* var←c85028 */ ))+13) ); (void) ( *( (fPt) ((* (ptr) pd768 ))))((word) &dirVec←v27128, dirVec←v27128, pd768); }; }; SOURCE(57163, 98) { W2 var←c93476; { word pd769; pd769 = (* (( (ptr) (* (( (ptr) gf←c97828)+165)/* var←c85028 */ ))+12) ); (void) ( *( (fPt) ((* (ptr) pd769 ))))((word) &var←c93476, dirVec←v27128, distance←v27156, pd769); }; { word pd770; pd770 = (* (( (ptr) (* (( (ptr) gf←c97828)+156)/* var←c83940 */ ))+22) ); ctrlTrans←v27212 = (word) ( *( (fPt) ((* (ptr) pd770 ))))(partialTransform←v27240, var←c93476, pd770); }; }; }; } else { SOURCE(57270, 72) { word pd771; pd771 = (* (( (ptr) (* (( (ptr) gf←c97828)+156)/* var←c83940 */ ))+22) ); ctrlTrans←v27212 = (word) ( *( (fPt) ((* (ptr) pd771 ))))(partialTransform←v27240, dirVec←v27128, pd771); }; }; SOURCE(57344, 46) { word pd772; pd772 = (* (( (ptr) (* (ptr) seg←v14800 ))+10) ); (void) ( *( (fPt) ((* (ptr) pd772 ))))(seg←v14800, ctrlTrans←v27212, 1, pd772); }; } else { SOURCE(57418, 1855) { word limit774; { word var←c93508; var←c93508 = (* (( (ptr) selSeq←v27268)+2) ); { word limit773; var←c93540 = (* ((( (ptr) var←c93508)+1)+( limit773 = (* (ptr) var←c93508 ), BCK(segNum←v14772, limit773) )) ); }; }; if (XR←ExtractField(var←c93540, 32 + (word) ( limit774 = (* (ptr) var←c93540 ), BCK(1, limit774) ), 1)) { SOURCE(57460, 119) { word limit775; var←c93572 = (* (( (ptr) selSeq←v27268)+1) ); if (XR←ExtractField(var←c93572, 32 + (word) ( limit775 = (* (ptr) var←c93572 ), BCK(nextJointNum←v27100, limit775) ), 1)) { SOURCE(57496, 83) { W2 var←c93604; { word pd776; pd776 = (* (( (ptr) (* (( (ptr) gf←c97828)+173)/* var←c91716 */ ))+5) ); (void) ( *( (fPt) ((* (ptr) pd776 ))))((word) &var←c93604, transform←v14828, (* (W2Pt) (( (ptr) seg←v14800)+11) ), pd776) ; }; { word pd777; pd777 = (* (( (ptr) (* (( (ptr) gf←c97828)+164)/* var←c84836 */ ))+28) ); (void) ( *( (fPt) ((* (ptr) pd777 ))))(seg←v14800, 0, var←c93604, pd777); }; }; }; }; } else { SOURCE(57588, 1693) { word nextSegNum←v27484; word var←c93668; SOURCE(57665, 59) { word pd778; pd778 = (* (( (ptr) (* (( (ptr) gf←c97828)+161)/* var←c84516 */ ))+43) ); nextSegNum←v27484 = (word) ( *( (fPt) ((* (ptr) pd778 ))))(slice←v14716, segNum←v14772, pd778); }; SOURCE(57726, 1547) { word tc779; word pd780; if (( (int)nextSegNum←v27484 != (int) (word) -1)) { pd780 = (* (( (ptr) (* (( (ptr) gf←c97828)+161)/* var←c84516 */ ))+29) ); tc779 = (word) ((* (ptr) (* (ptr) ( *( (fPt) ((* (ptr) pd780 ))))(slice←v14716, SGNCK(nextSegNum←v27484), pd780) ) ) == (* ( ( (ptr) gf←c97828)+27) )); } else { tc779 = (word) 0; }; if (tc779) { SOURCE(57816, 1457) { word limit782; { /*1*/ word var←c93636; /*1*/ var←c93636 = (* (( (ptr) selSeq←v27268)+2) ); /*1*/ { /*1*/ word limit781; /*1*/ var←c93668 = (* ((( (ptr) var←c93636)+1)+( /*1*/ limit781 = (* (ptr) var←c93636 ), /*1*/ BCK(nextSegNum←v27484, limit781) /*1*/ )) ); /*1*/ }; /*1*/ }; if (XR←ExtractField(var←c93668, 32 + (word) ( /*1*/ limit782 = (* (ptr) var←c93668 ), /*1*/ BCK(0, limit782) /*1*/ ), 1)) { SOURCE(57860, 1415) /*1*/ { /*1*/ word angle←v27528; /*1*/ W2 transformedPoint←v27556; /*1*/ W2 otherCtrlPoint←v27584; /*1*/ W2 otherDirVector←v27612; /*1*/ W2 var←c93796; /*1*/ W2 var←c93892; SOURCE(57900, 92) /*1*/ { /*1*/ word var←c93700; /*1*/ { /*1*/ word pd783; /*1*/ pd783 = (* (( (ptr) (* (( (ptr) gf←c97828)+161)/* var←c84516 */ ))+29) ); /*1*/ var←c93700 = (word) ( *( (fPt) ((* (ptr) pd783 ))))(slice←v14716, SGNCK(nextSegNum←v27484), pd783); /*1*/ }; /*1*/ { /*1*/ word pd784; /*1*/ pd784 = (* (( (ptr) (* (ptr) seg←v14800 ))+16) ); /*1*/ (void) ( *( (fPt) ((* (ptr) pd784 ))))((word) &otherCtrlPoint←v27584, var←c93700, 0, pd784); /*1*/ }; /*1*/ }; SOURCE(57994, 75) /*1*/ { /*1*/ word pd785; /*1*/ pd785 = (* (( (ptr) (* (( (ptr) gf←c97828)+165)/* var←c85028 */ ))+22) ); /*1*/ (void) ( *( (fPt) ((* (ptr) pd785 ))))((word) &otherDirVector←v27612, (* (W2Pt) (( (ptr) seg←v14800)+11) ), otherCtrlPoint←v27584, pd785) /*1*/ ; /*1*/ }; SOURCE(58071, 45) /*1*/ { /*1*/ word pd786; /*1*/ pd786 = (* (( (ptr) (* (ptr) seg←v14800 ))+16) ); /*1*/ (void) ( *( (fPt) ((* (ptr) pd786 ))))((word) &ctrlPoint←v27184, seg←v14800, 1, pd786); /*1*/ }; SOURCE(58118, 54) /*1*/ { /*1*/ word pd787; /*1*/ pd787 = (* (( (ptr) (* (( (ptr) gf←c97828)+165)/* var←c85028 */ ))+22) ); /*1*/ (void) ( *( (fPt) ((* (ptr) pd787 ))))((word) &dirVec←v27128, (* (W2Pt) (( (ptr) seg←v14800)+11) ), ctrlPoint←v27184, pd787) /*1*/ ; /*1*/ }; SOURCE(58174, 38) /*1*/ { /*1*/ word pd788; /*1*/ pd788 = (* (( (ptr) (* (( (ptr) gf←c97828)+165)/* var←c85028 */ ))+18) ); /*1*/ distance←v27156 = (word) ( *( (fPt) ((* (ptr) pd788 ))))(dirVec←v27128, pd788); /*1*/ }; SOURCE(58214, 76) /*1*/ { /*1*/ word pd789; /*1*/ pd789 = (* (( (ptr) (* (( (ptr) gf←c97828)+156)/* var←c83940 */ ))+39) ); /*1*/ (void) ( *( (fPt) ((* (ptr) pd789 ))))((word) &transformedPoint←v27556, transform←v14828, otherCtrlPoint←v27584, pd789); /*1*/ }; SOURCE(58292, 115) /*1*/ { /*1*/ W2 var←c93732; /*1*/ { /*1*/ word pd790; /*1*/ pd790 = (* (( (ptr) (* (( (ptr) gf←c97828)+165)/* var←c85028 */ ))+22) ); /*1*/ (void) ( *( (fPt) ((* (ptr) pd790 ))))((word) &var←c93732, (* (W2Pt) (( (ptr) seg←v14800)+11) ), transformedPoint←v27556, pd790) /*1*/ ; /*1*/ }; /*1*/ { /*1*/ word pd791; /*1*/ pd791 = (* (( (ptr) (* (( (ptr) gf←c97828)+165)/* var←c85028 */ ))+9) ); /*1*/ angle←v27528 = (word) ( *( (fPt) ((* (ptr) pd791 ))))(otherDirVector←v27612, var←c93732, pd791); /*1*/ }; /*1*/ }; SOURCE(58409, 96) /*1*/ { /*1*/ W2 var←c93764; /*1*/ { /*1*/ word pd792; /*1*/ pd792 = (* (( (ptr) (* (( (ptr) gf←c97828)+165)/* var←c85028 */ ))+22) ); /*1*/ (void) ( *( (fPt) ((* (ptr) pd792 ))))((word) &var←c93764, ctrlPoint←v27184, (* (W2Pt) (( (ptr) seg←v14800)+11) ), pd792) /*1*/ ; /*1*/ }; /*1*/ { /*1*/ word pd793; /*1*/ pd793 = (* (( (ptr) (* (( (ptr) gf←c97828)+156)/* var←c83940 */ ))+10) ); /*1*/ partialTransform←v27240 = (word) ( *( (fPt) ((* (ptr) pd793 ))))(var←c93764, pd793); /*1*/ }; /*1*/ }; SOURCE(58508, 702) /*1*/ if ((editConstraints←v14856 == 1)) { SOURCE(58544, 283) /*1*/ { /*1*/ word tc794; /*1*/ if ( ! XR←EqualWords(&transformedPoint←v27556, (( (ptr) seg←v14800)+11), 2)) { /*1*/ var←c93796.f0 = (* (ptr) &fc123 ); /*1*/ var←c93796.f1 = (* (ptr) &fc123 ); /*1*/ tc794 = (word) ! XR←EqualWords(&otherDirVector←v27612, &var←c93796, 2); /*1*/ } /*1*/ else { /*1*/ tc794 = (word) 0; /*1*/ }; /*1*/ if (tc794) { SOURCE(58644, 133) /*1*/ { /*1*/ W2 var←c93828; /*1*/ { /*1*/ W2 var←c93860; /*1*/ { /*1*/ word pd795; /*1*/ pd795 = (* (( (ptr) (* (( (ptr) gf←c97828)+165)/* var←c85028 */ ))+5) ); /*1*/ (void) ( *( (fPt) ((* (ptr) pd795 ))))((word) &var←c93860, dirVec←v27128, angle←v27528, pd795); /*1*/ }; /*1*/ { /*1*/ W2 var←c01039; /*1*/ { /*1*/ word pd796; /*1*/ pd796 = (* (( (ptr) (* (( (ptr) gf←c97828)+165)/* var←c85028 */ ))+12) ); /*1*/ (void) ( *( (fPt) ((* (ptr) pd796 ))))((word) &var←c01039, var←c93860, distance←v27156, pd796); /*1*/ }; /*1*/ var←c93828 = var←c01039; /*1*/ }; /*1*/ }; /*1*/ { /*1*/ word pd797; /*1*/ pd797 = (* (( (ptr) (* (( (ptr) gf←c97828)+156)/* var←c83940 */ ))+22) ); /*1*/ ctrlTrans←v27212 = (word) ( *( (fPt) ((* (ptr) pd797 ))))(partialTransform←v27240, var←c93828, pd797); /*1*/ }; /*1*/ }; /*1*/ } /*1*/ else { SOURCE(58786, 41) /*1*/ { /*1*/ word pd798; /*1*/ pd798 = (* (( (ptr) (* (( (ptr) gf←c97828)+156)/* var←c83940 */ ))+7) ); /*1*/ ctrlTrans←v27212 = (word) ( *( (fPt) ((* (ptr) pd798 ))))((* (ptr) (&fc57) ), pd798); /*1*/ }; /*1*/ }; /*1*/ }; /*1*/ } /*1*/ else { SOURCE(58860, 350) /*1*/ var←c93892.f0 = (* (ptr) &fc123 ); /*1*/ var←c93892.f1 = (* (ptr) &fc123 ); /*1*/ if ( ! XR←EqualWords(&otherDirVector←v27612, &var←c93892, 2)) { SOURCE(58893, 132) /*1*/ { /*1*/ word var←c93924; /*1*/ word var←c01275; /*1*/ { /*1*/ word pd799; /*1*/ word x800; /*1*/ word pd801; /*1*/ word x802; /*1*/ pd799 = (* (( (ptr) (* (( (ptr) gf←c97828)+165)/* var←c85028 */ ))+21) ); /*1*/ pd801 = (* (( (ptr) (* (( (ptr) gf←c97828)+165)/* var←c85028 */ ))+20) ); /*1*/ *(float*)&var←c93924 = ( /*1*/ x800 = (word) ( *( (fPt) ((* (ptr) pd799 ))))((* (W2Pt) (( (ptr) seg←v14800)+11) ), transformedPoint←v27556, pd799), *(float*)&x800 /*1*/ ) / ( /*1*/ x802 = (word) ( *( (fPt) ((* (ptr) pd801 ))))(otherDirVector←v27612, pd801), *(float*)&x802 /*1*/ ); /*1*/ }; /*1*/ { /*1*/ word pd803; /*1*/ pd803 = (* (( (ptr) (* (( (ptr) gf←c97828)+166)/* var←c85540 */ ))+9) ); /*1*/ var←c01275 = (word) ( *( (fPt) ((* (ptr) pd803 ))))(var←c93924, pd803); /*1*/ }; /*1*/ { /*1*/ word x804; /*1*/ word x805; /*1*/ *(float*)&distance←v27156 = ( /*1*/ x804 = var←c01275, *(float*)&x804 /*1*/ ) * ( /*1*/ x805 = distance←v27156, *(float*)&x805 /*1*/ ); /*1*/ }; /*1*/ }; SOURCE(59027, 133) /*1*/ { /*1*/ W2 var←c93956; /*1*/ { /*1*/ W2 var←c93988; /*1*/ { /*1*/ word pd806; /*1*/ pd806 = (* (( (ptr) (* (( (ptr) gf←c97828)+165)/* var←c85028 */ ))+5) ); /*1*/ (void) ( *( (fPt) ((* (ptr) pd806 ))))((word) &var←c93988, dirVec←v27128, angle←v27528, pd806); /*1*/ }; /*1*/ { /*1*/ W2 var←c01045; /*1*/ { /*1*/ word pd807; /*1*/ pd807 = (* (( (ptr) (* (( (ptr) gf←c97828)+165)/* var←c85028 */ ))+12) ); /*1*/ (void) ( *( (fPt) ((* (ptr) pd807 ))))((word) &var←c01045, var←c93988, distance←v27156, pd807); /*1*/ }; /*1*/ var←c93956 = var←c01045; /*1*/ }; /*1*/ }; /*1*/ { /*1*/ word pd808; /*1*/ pd808 = (* (( (ptr) (* (( (ptr) gf←c97828)+156)/* var←c83940 */ ))+22) ); /*1*/ ctrlTrans←v27212 = (word) ( *( (fPt) ((* (ptr) pd808 ))))(partialTransform←v27240, var←c93956, pd808); /*1*/ }; /*1*/ }; /*1*/ } /*1*/ else { SOURCE(59169, 41) /*1*/ { /*1*/ word pd809; /*1*/ pd809 = (* (( (ptr) (* (( (ptr) gf←c97828)+156)/* var←c83940 */ ))+7) ); /*1*/ ctrlTrans←v27212 = (word) ( *( (fPt) ((* (ptr) pd809 ))))((* (ptr) (&fc57) ), pd809); /*1*/ }; /*1*/ }; /*1*/ }; SOURCE(59227, 46) /*1*/ { /*1*/ word pd810; /*1*/ pd810 = (* (( (ptr) (* (ptr) seg←v14800 ))+10) ); /*1*/ (void) ( *( (fPt) ((* (ptr) pd810 ))))(seg←v14800, ctrlTrans←v27212, 1, pd810); /*1*/ }; /*1*/ }; /*1*/ }; }; }; }; }; }; }; }; }; } static word TrajIsEmptyParts←P2700(sliceD←v14916) word sliceD←v14916; { register ptr gf←c97860 = (ptr) &globalframe; word var←c14960; word trajParts←v27656; /* TrajIsEmptyParts: */ SOURCE(59290, 174) SOURCE(59290, 174) var←c14960 = 1; SOURCE(59365, 43) trajParts←v27656 = XR←Narrow((* (( (ptr) sliceD←v14916)+1) ), (* (( (ptr) gf←c97860)+15) )); SOURCE(59410, 54) { word tc811; word pd812; if ((trajParts←v27656 == 0)) { tc811 = (word) (unsigned) 1; } else { pd812 = (* (( (ptr) (* (( (ptr) gf←c97860)+159)/* var←c84100 */ ))+25) ); tc811 = (word) (unsigned) (0 != (word) ( *( (fPt) ((* (ptr) pd812 ))))(trajParts←v27656, pd812)); }; return(tc811); }; } static word TrajIsCompleteParts←P2760(sliceD←v15020) word sliceD←v15020; { register ptr gf←c97892 = (ptr) &globalframe; word var←c15064; word trajParts←v27700; /* TrajIsCompleteParts: */ SOURCE(59470, 182) SOURCE(59470, 182) var←c15064 = 0; SOURCE(59549, 43) trajParts←v27700 = XR←Narrow((* (( (ptr) sliceD←v15020)+1) ), (* (( (ptr) gf←c97892)+15) )); SOURCE(59594, 58) { word tc813; word pd814; if ((trajParts←v27700 != 0)) { pd814 = (* (( (ptr) (* (( (ptr) gf←c97892)+159)/* var←c84100 */ ))+26) ); tc813 = (word) (unsigned) (0 != (word) ( *( (fPt) ((* (ptr) pd814 ))))(trajParts←v27700, pd814)); } else { tc813 = (word) (unsigned) 0; }; return(tc813); }; } static word TrajNewParts←P2820(slice←v15124, hitData←v15152, mode←v15180) word slice←v15124; word hitData←v15152; word mode←v15180; { register ptr gf←c97924 = (ptr) &globalframe; word sliceD←v15240; word trajParts←v27744 = 0; word trajData←v27772; word trajHitData←v27800; /* TrajNewParts: */ SOURCE(59658, 2605) SOURCE(59658, 2605) sliceD←v15240 = 0; SOURCE(59788, 39) trajData←v27772 = XR←Narrow((* (( (ptr) slice←v15124)+1) ), (* (( (ptr) gf←c97924)+10) )); SOURCE(59829, 42) trajHitData←v27800 = XR←Narrow(hitData←v15152, (* (( (ptr) gf←c97924)+18) )); SOURCE(59873, 2313) { word var←c94084; var←c94084 = mode←v15180; switch (var←c94084) { case 0: SOURCE(59901, 372) { word hitType←v27844; word segNum←v27872; word cpNum←v27900; word jointNum←v27928; SOURCE(59951, 72) { W6 var←c94116; { word pd815; pd815 = (* (( (ptr) (* (( (ptr) gf←c97924)+161)/* var←c84516 */ ))+53) ); (void) ( *( (fPt) ((* (ptr) pd815 ))))((word) &var←c94116, hitData←v15152, pd815); }; jointNum←v27928 = var←c94116.f3; cpNum←v27900 = var←c94116.f2; segNum←v27872 = var←c94116.f1; hitType←v27844 = var←c94116.f0; }; SOURCE(60025, 246) { word var←c94148; var←c94148 = hitType←v27844; { word pd816; word pd817; word pd818; switch (var←c94148) { case 1: pd816 = (* (( (ptr) (* (( (ptr) gf←c97924)+159)/* var←c84100 */ ))+8) ); trajParts←v27744 = (word) ( *( (fPt) ((* (ptr) pd816 ))))(trajData←v27772, SGNCK(jointNum←v27928), pd816); break; case 2: pd817 = (* (( (ptr) (* (( (ptr) gf←c97924)+159)/* var←c84100 */ ))+11) ); trajParts←v27744 = (word) ( *( (fPt) ((* (ptr) pd817 ))))(trajData←v27772, SGNCK(segNum←v27872), SGNCK(cpNum←v27900), pd817) ; break; case 3: pd818 = (* (( (ptr) (* (( (ptr) gf←c97924)+159)/* var←c84100 */ ))+10) ); trajParts←v27744 = (word) ( *( (fPt) ((* (ptr) pd818 ))))(trajData←v27772, SGNCK(segNum←v27872), pd818); break; default: trajParts←v27744 = ( /*1*/ XR←RaiseUnnamedError(), 0 /*1*/ ); break; }; }; }; }; break; case 8: SOURCE(60286, 44) { word pd819; pd819 = (* (( (ptr) (* (( (ptr) gf←c97924)+159)/* var←c84100 */ ))+6) ); trajParts←v27744 = (word) ( *( (fPt) ((* (ptr) pd819 ))))(trajData←v27772, pd819); }; break; case 6: SOURCE(60346, 47) { word pd820; pd820 = (* (( (ptr) (* (( (ptr) gf←c97924)+159)/* var←c84100 */ ))+7) ); trajParts←v27744 = (word) ( *( (fPt) ((* (ptr) pd820 ))))(trajData←v27772, pd820); }; break; case 1: SOURCE(60409, 1242) { word var←c94180; var←c94180 = (* (ptr) trajHitData←v27800 ); switch (var←c94180) { case 1: SOURCE(60450, 128) { word jointNum←v27972; SOURCE(60467, 36) { word idx821; jointNum←v27972 = ( /*1*/ idx821 = (* (( (ptr) trajHitData←v27800)+3) ), /*1*/ SGNCK(idx821) /*1*/ ); }; SOURCE(60505, 71) { word pd822; pd822 = (* (( (ptr) (* (( (ptr) gf←c97924)+159)/* var←c84100 */ ))+5) ); trajParts←v27744 = (word) ( *( (fPt) ((* (ptr) pd822 ))))(trajData←v27772, jointNum←v27972, jointNum←v27972, pd822); }; }; break; case 3: SOURCE(60592, 892) { word success←v28016 = 0; word segNum←v28044; word cpNum←v28072; word jointNum←v28100; W2 jointPoint←v28128; W2 cpPoint←v28156; W2 caretPt←v28184; word seg←v28212 = 0; SOURCE(60763, 27) { word idx823; segNum←v28044 = ( /*1*/ idx823 = (* (( (ptr) trajHitData←v27800)+1) ), /*1*/ SGNCK(idx823) /*1*/ ); }; SOURCE(60792, 40) { word pd824; pd824 = (* (( (ptr) (* (( (ptr) gf←c97924)+161)/* var←c84516 */ ))+29) ); seg←v28212 = (word) ( *( (fPt) ((* (ptr) pd824 ))))(slice←v15124, segNum←v28044, pd824); }; SOURCE(60834, 30) caretPt←v28184 = (* (W2Pt) (( (ptr) trajHitData←v27800)+4) ); SOURCE(60866, 69) jointNum←v28100 = (word) NearestJointToHitSpot←P2880(caretPt←v28184, slice←v15124, (word) -1, segNum←v28044, 3); SOURCE(60937, 50) { word pd825; pd825 = (* (( (ptr) (* (( (ptr) gf←c97924)+161)/* var←c84516 */ ))+32) ); (void) ( *( (fPt) ((* (ptr) pd825 ))))((word) &jointPoint←v28128, slice←v15124, jointNum←v28100, pd825); }; SOURCE(60989, 101) { W6 var←c94212; { /*1*/ word pd826; /*1*/ pd826 = (* (( (ptr) (* (ptr) seg←v28212 ))+19) ); /*1*/ (void) ( *( (fPt) ((* (ptr) pd826 ))))((word) &var←c94212, seg←v28212, caretPt←v28184, (* (ptr) &fc827 ), pd826); /*1*/ }; success←v28016 = var←c94212.f5; cpNum←v28072 = var←c94212.f4; cpPoint←v28156 = (* (W2Pt) &var←c94212 ); }; SOURCE(61092, 387) if ((0 == success←v28016)) { SOURCE(61112, 77) { /*1*/ word pd828; /*1*/ pd828 = (* (( (ptr) (* (( (ptr) gf←c97924)+159)/* var←c84100 */ ))+5) ); /*1*/ trajParts←v27744 = (word) ( *( (fPt) ((* (ptr) pd828 ))))(trajData←v27772, jointNum←v28100, jointNum←v28100, pd828); /*1*/ }; } else { SOURCE(61189, 292) { /*1*/ word cpDist←v28256; /*1*/ word jointDist←v28284; SOURCE(61191, 58) /*1*/ { /*1*/ word pd829; /*1*/ pd829 = (* (( (ptr) (* (( (ptr) gf←c97924)+165)/* var←c85028 */ ))+21) ); /*1*/ cpDist←v28256 = (word) ( *( (fPt) ((* (ptr) pd829 ))))(cpPoint←v28156, caretPt←v28184, pd829); /*1*/ }; SOURCE(61251, 64) /*1*/ { /*1*/ word pd830; /*1*/ pd830 = (* (( (ptr) (* (( (ptr) gf←c97924)+165)/* var←c85028 */ ))+21) ); /*1*/ jointDist←v28284 = (word) ( *( (fPt) ((* (ptr) pd830 ))))(jointPoint←v28128, caretPt←v28184, pd830); /*1*/ }; SOURCE(61317, 162) /*1*/ { /*1*/ word x831; /*1*/ word x832; /*1*/ word pd833; /*1*/ word pd834; /*1*/ if ((( /*1*/ x831 = cpDist←v28256, *(float*)&x831 /*1*/ ) < ( /*1*/ x832 = jointDist←v28284, *(float*)&x832 /*1*/ ))) { /*1*/ pd833 = (* (( (ptr) (* (( (ptr) gf←c97924)+159)/* var←c84100 */ ))+11) ); /*1*/ trajParts←v27744 = (word) ( *( (fPt) ((* (ptr) pd833 ))))(trajData←v27772, segNum←v28044, cpNum←v28072, pd833); /*1*/ } /*1*/ else { /*1*/ pd834 = (* (( (ptr) (* (( (ptr) gf←c97924)+159)/* var←c84100 */ ))+5) ); /*1*/ trajParts←v27744 = (word) ( *( (fPt) ((* (ptr) pd834 ))))(trajData←v27772, jointNum←v28100, jointNum←v28100, pd834); /*1*/ }; /*1*/ }; /*1*/ }; }; }; break; case 2: SOURCE(61503, 150) { word segNum←v28328; word cpNum←v28356; SOURCE(61525, 27) { word idx835; segNum←v28328 = ( /*1*/ idx835 = (* (( (ptr) trajHitData←v27800)+1) ), /*1*/ SGNCK(idx835) /*1*/ ); }; SOURCE(61554, 25) { word idx836; cpNum←v28356 = ( /*1*/ idx836 = (* (( (ptr) trajHitData←v27800)+2) ), /*1*/ SGNCK(idx836) /*1*/ ); }; SOURCE(61581, 70) { word pd837; pd837 = (* (( (ptr) (* (( (ptr) gf←c97924)+159)/* var←c84100 */ ))+11) ); trajParts←v27744 = (word) ( *( (fPt) ((* (ptr) pd837 ))))(trajData←v27772, segNum←v28328, cpNum←v28356, pd837); }; }; break; default: SOURCE(61668, 5) (void) XR←RaiseUnnamedError(); break; }; }; break; case 3: SOURCE(61691, 401) { word var←c94244; var←c94244 = (* (ptr) trajHitData←v27800 ); switch (var←c94244) { case 1: SOURCE(61732, 260) { word jointNum←v28400; word this←v28428; word previous←v28456; SOURCE(61734, 36) { word idx838; jointNum←v28400 = ( /*1*/ idx838 = (* (( (ptr) trajHitData←v27800)+3) ), /*1*/ SGNCK(idx838) /*1*/ ); }; SOURCE(61772, 69) { word tc839; word pd840; pd840 = (* (( (ptr) (* (( (ptr) gf←c97924)+161)/* var←c84516 */ ))+37) ); if ((jointNum←v28400 > (word) ( *( (fPt) ((* (ptr) pd840 ))))(slice←v15124, pd840))) { /*1*/ tc839 = (word) (word) -1; /*1*/ } else { /*1*/ tc839 = (word) jointNum←v28400; /*1*/ }; this←v28428 = tc839; }; SOURCE(61843, 58) { word pd841; pd841 = (* (( (ptr) (* (( (ptr) gf←c97924)+161)/* var←c84516 */ ))+42) ); previous←v28456 = (word) ( *( (fPt) ((* (ptr) pd841 ))))(slice←v15124, jointNum←v28400, pd841); }; SOURCE(61903, 87) { word pd842; word idx843; pd842 = (* (( (ptr) (* (( (ptr) gf←c97924)+159)/* var←c84100 */ ))+9) ); trajParts←v27744 = (word) ( *( (fPt) ((* (ptr) pd842 ))))(trajData←v27772, ( /*1*/ idx843 = (word) ( ( (int)this←v28428 != (int) (word) -1) ? this←v28428 : previous←v28456 ) , /*1*/ SGNCK(idx843) /*1*/ ), pd842); }; }; break; case 3: case 2: SOURCE(62022, 70) { word pd844; word idx845; pd844 = (* (( (ptr) (* (( (ptr) gf←c97924)+159)/* var←c84100 */ ))+9) ); trajParts←v27744 = (word) ( *( (fPt) ((* (ptr) pd844 ))))(trajData←v27772, ( /*1*/ idx845 = (* (( (ptr) trajHitData←v27800)+1) ), /*1*/ SGNCK(idx845) /*1*/ ), pd844); }; break; default: SOURCE(62109, 5) (void) XR←RaiseUnnamedError(); break; }; }; break; case 5: case 7: SOURCE(62139, 47) { word pd846; pd846 = (* (( (ptr) (* (( (ptr) gf←c97924)+159)/* var←c84100 */ ))+7) ); trajParts←v27744 = (word) ( *( (fPt) ((* (ptr) pd846 ))))(trajData←v27772, pd846); }; break; default: SOURCE(62202, 5) (void) XR←RaiseUnnamedError(); break; }; }; SOURCE(62209, 54) { word pd847; pd847 = (* (( (ptr) (* (( (ptr) gf←c97924)+157)/* var←c84004 */ ))+8) ); sliceD←v15240 = (word) ( *( (fPt) ((* (ptr) pd847 ))))(slice←v15124, trajParts←v27744, pd847); }; SOURCE(59658, 2605) return(sliceD←v15240); } static word NearestJointToHitSpot←P2880(caretPt←v15300, traj←v15328, hitJointNum←v15356, hitSegNum←v15384, hitType←v15412) W2 caretPt←v15300; word traj←v15328; word hitJointNum←v15356; word hitSegNum←v15384; word hitType←v15412; { register ptr gf←c97956 = (ptr) &globalframe; word jointNum←v15456; word nextNum←v28500; W2 p1←v28528; W2 p2←v28556; word d1←v28584; word d2←v28612; /* NearestJointToHitSpot: */ SOURCE(62269, 615) SOURCE(62449, 435) { word var←c94276; var←c94276 = hitType←v15412; switch (var←c94276) { case 1: SOURCE(62480, 22) jointNum←v15456 = SGNCK(hitJointNum←v15356); break; case 3: case 2: SOURCE(62534, 48) { word pd848; word idx849; pd848 = (* (( (ptr) (* (( (ptr) gf←c97956)+161)/* var←c84516 */ ))+44) ); nextNum←v28500 = ( idx849 = (word) ( *( (fPt) ((* (ptr) pd848 ))))(traj←v15328, SGNCK(hitSegNum←v15384), pd848), SGNCK(idx849) ); }; SOURCE(62584, 42) { word pd850; pd850 = (* (( (ptr) (* (( (ptr) gf←c97956)+161)/* var←c84516 */ ))+32) ); (void) ( *( (fPt) ((* (ptr) pd850 ))))((word) &p1←v28528, traj←v15328, SGNCK(hitSegNum←v15384), pd850); }; SOURCE(62628, 40) { word pd851; pd851 = (* (( (ptr) (* (( (ptr) gf←c97956)+161)/* var←c84516 */ ))+32) ); (void) ( *( (fPt) ((* (ptr) pd851 ))))((word) &p2←v28556, traj←v15328, nextNum←v28500, pd851); }; SOURCE(62670, 43) { word pd852; pd852 = (* (( (ptr) (* (( (ptr) gf←c97956)+165)/* var←c85028 */ ))+21) ); d1←v28584 = (word) ( *( (fPt) ((* (ptr) pd852 ))))(p1←v28528, caretPt←v15300, pd852); }; SOURCE(62715, 43) { word pd853; pd853 = (* (( (ptr) (* (( (ptr) gf←c97956)+165)/* var←c85028 */ ))+21) ); d2←v28612 = (word) ( *( (fPt) ((* (ptr) pd853 ))))(p2←v28556, caretPt←v15300, pd853); }; SOURCE(62760, 61) { word x854; word x855; if ((( x854 = d1←v28584, *(float*)&x854 ) <= ( x855 = d2←v28612, *(float*)&x855 ))) { SOURCE(62777, 26) jointNum←v15456 = SGNCK(hitSegNum←v15384); } else { SOURCE(62803, 18) jointNum←v15456 = nextNum←v28500; }; }; break; default: SOURCE(62837, 47) { word var←c01102; var←c01102 = (* (( (ptr) gf←c97956)+31) ); (void) XR←RaiseError((* (( (ptr) gf←c97956)+4)/* Problem←v5492 */ ), (word) &var←c01102); }; break; }; }; SOURCE(62269, 615) return(jointNum←v15456); } static word TrajUnionParts←P2940(partsA←v15516, partsB←v15544) word partsA←v15516; word partsB←v15544; { register ptr gf←c97988 = (ptr) &globalframe; word aPlusB←v15588; /* TrajUnionParts: */ SOURCE(62922, 151) SOURCE(62922, 151) aPlusB←v15588 = 0; SOURCE(63032, 41) { word pd856; pd856 = (* (( (ptr) (* (( (ptr) gf←c97988)+159)/* var←c84100 */ ))+20) ); aPlusB←v15588 = (word) ( *( (fPt) ((* (ptr) pd856 ))))(partsA←v15516, partsB←v15544, pd856); }; SOURCE(62922, 151) return(aPlusB←v15588); } static word TrajDiffParts←P3000(partsA←v15648, partsB←v15676) word partsA←v15648; word partsB←v15676; { register ptr gf←c98020 = (ptr) &globalframe; word aMinusB←v15720; /* TrajDiffParts: */ SOURCE(63079, 157) SOURCE(63079, 157) aMinusB←v15720 = 0; SOURCE(63189, 47) { word pd857; pd857 = (* (( (ptr) (* (( (ptr) gf←c98020)+159)/* var←c84100 */ ))+21) ); aMinusB←v15720 = (word) ( *( (fPt) ((* (ptr) pd857 ))))(partsA←v15648, partsB←v15676, pd857); }; SOURCE(63079, 157) return(aMinusB←v15720); } static void TrajMovingParts←P3060(formal←c01123, slice←v15780, selectedParts←v15808, editConstraints←v15836, bezierDrag←v15864) word formal←c01123; word slice←v15780; word selectedParts←v15808; word editConstraints←v15836; W5 bezierDrag←v15864; { register ptr gf←c98052 = (ptr) &globalframe; word background←v15908; word overlay←v15936; word rubber←v15964; word drag←v15992; word bkgdParts←v28656 = 0; word overParts←v28684 = 0; word rubberParts←v28712 = 0; word dragParts←v28740 = 0; /* TrajMovingParts: */ SOURCE(63242, 618) SOURCE(63242, 618) background←v15908 = 0; SOURCE(63242, 618) overlay←v15936 = 0; SOURCE(63242, 618) rubber←v15964 = 0; SOURCE(63242, 618) drag←v15992 = 0; SOURCE(63505, 126) { W4 var←c94308; { word pd858; pd858 = (* (( (ptr) (* (( (ptr) gf←c98052)+159)/* var←c84100 */ ))+23) ); (void) ( *( (fPt) ((* (ptr) pd858 ))))((word) &var←c94308, slice←v15780, selectedParts←v15808, editConstraints←v15836, bezierDrag←v15864, pd858) ; }; dragParts←v28740 = var←c94308.f3; rubberParts←v28712 = var←c94308.f2; overParts←v28684 = var←c94308.f1; bkgdParts←v28656 = var←c94308.f0; }; SOURCE(63633, 58) { word pd859; pd859 = (* (( (ptr) (* (( (ptr) gf←c98052)+157)/* var←c84004 */ ))+8) ); background←v15908 = (word) ( *( (fPt) ((* (ptr) pd859 ))))(slice←v15780, bkgdParts←v28656, pd859); }; SOURCE(63693, 55) { word pd860; pd860 = (* (( (ptr) (* (( (ptr) gf←c98052)+157)/* var←c84004 */ ))+8) ); overlay←v15936 = (word) ( *( (fPt) ((* (ptr) pd860 ))))(slice←v15780, overParts←v28684, pd860); }; SOURCE(63750, 56) { word pd861; pd861 = (* (( (ptr) (* (( (ptr) gf←c98052)+157)/* var←c84004 */ ))+8) ); rubber←v15964 = (word) ( *( (fPt) ((* (ptr) pd861 ))))(slice←v15780, rubberParts←v28712, pd861); }; SOURCE(63808, 52) { word pd862; pd862 = (* (( (ptr) (* (( (ptr) gf←c98052)+157)/* var←c84004 */ ))+8) ); drag←v15992 = (word) ( *( (fPt) ((* (ptr) pd862 ))))(slice←v15780, dragParts←v28740, pd862); }; /* removed tail goto */ (* (ptr) formal←c01123 ) = background←v15908; (* (( (ptr) formal←c01123)+1) ) = overlay←v15936; (* (( (ptr) formal←c01123)+2) ) = rubber←v15964; (* (( (ptr) formal←c01123)+3) ) = drag←v15992; return; } static word TrajAugmentParts←P3120(sliceD←v16052, selectClass←v16080) word sliceD←v16052; word selectClass←v16080; { register ptr gf←c98084 = (ptr) &globalframe; word more←v16124; word trajParts←v28784; /* TrajAugmentParts: */ SOURCE(63866, 326) SOURCE(63866, 326) more←v16124 = 0; SOURCE(63980, 43) trajParts←v28784 = XR←Narrow((* (( (ptr) sliceD←v16052)+1) ), (* (( (ptr) gf←c98084)+15) )); SOURCE(64025, 63) if ((selectClass←v16080 == 0)) { SOURCE(64054, 34) { word pd863; pd863 = (* (( (ptr) (* (( (ptr) gf←c98084)+159)/* var←c84100 */ ))+14) ); (void) ( *( (fPt) ((* (ptr) pd863 ))))(trajParts←v28784, pd863); }; }; SOURCE(64090, 41) { word pd864; pd864 = (* (( (ptr) (* (( (ptr) gf←c98084)+159)/* var←c84100 */ ))+15) ); (void) ( *( (fPt) ((* (ptr) pd864 ))))(trajParts←v28784, pd864); }; SOURCE(64133, 59) { word pd865; pd865 = (* (( (ptr) (* (( (ptr) gf←c98084)+157)/* var←c84004 */ ))+8) ); more←v16124 = (word) ( *( (fPt) ((* (ptr) pd865 ))))((* (ptr) sliceD←v16052 ), trajParts←v28784, pd865); }; SOURCE(63866, 326) return(more←v16124); } static word TrajAlterParts←P3180(sliceD←v16184, action←v16212) word sliceD←v16184; word action←v16212; { register ptr gf←c98116 = (ptr) &globalframe; word alteredD←v16256; word slice←v28828; word trajData←v28856; word trajParts←v28884; word isACP←v28912 = 0; word jointNum←v28940 = 999; word cpNum←v28968 = 999; word segNum←v28996 = 999; /* TrajAlterParts: */ SOURCE(64198, 1317) SOURCE(64198, 1317) alteredD←v16256 = 0; SOURCE(64299, 27) slice←v28828 = (* (ptr) sliceD←v16184 ); SOURCE(64328, 39) trajData←v28856 = XR←Narrow((* (( (ptr) slice←v28828)+1) ), (* (( (ptr) gf←c98116)+10) )); SOURCE(64369, 43) trajParts←v28884 = XR←Narrow((* (( (ptr) sliceD←v16184)+1) ), (* (( (ptr) gf←c98116)+15) )); SOURCE(64471, 1044) { word var←c94340; var←c94340 = action←v16212; if ((var←c94340 == (* (( (ptr) gf←c98116)+32) )) || (var←c94340 == (* (( (ptr) gf←c98116)+33) ))) { SOURCE(64515, 47) if ((0 != (word) TrajIsCompleteParts←P2760(sliceD←v16184))) { SOURCE(64551, 11) return(0); }; SOURCE(64564, 206) { word pd867; pd867 = (* (( (ptr) (* (( (ptr) gf←c98116)+159)/* var←c84100 */ ))+44) ); if (((word) ( *( (fPt) ((* (ptr) pd867 ))))(trajData←v28856, trajParts←v28884, pd867) == 0)) { SOURCE(64630, 85) { W4 var←c94372; { word pd868; pd868 = (* (( (ptr) (* (( (ptr) gf←c98116)+159)/* var←c84100 */ ))+34) ); (void) ( *( (fPt) ((* (ptr) pd868 ))))((word) &var←c94372, trajParts←v28884, pd868); }; jointNum←v28940 = var←c94372.f3; cpNum←v28968 = var←c94372.f2; segNum←v28996 = var←c94372.f1; isACP←v28912 = var←c94372.f0; }; } else { SOURCE(64715, 55) { word pd869; pd869 = (* (( (ptr) (* (( (ptr) gf←c98116)+159)/* var←c84100 */ ))+35) ); segNum←v28996 = (word) ( *( (fPt) ((* (ptr) pd869 ))))(trajParts←v28884, pd869); }; }; }; if (( (int)jointNum←v28940 != (int)999)) { SOURCE(64807, 122) if ((action←v16212 == (* (( (ptr) gf←c98116)+32) ))) { SOURCE(64833, 55) { word pd870; pd870 = (* (( (ptr) (* (( (ptr) gf←c98116)+161)/* var←c84516 */ ))+44) ); jointNum←v28940 = (word) ( *( (fPt) ((* (ptr) pd870 ))))(slice←v28828, SGNCK(jointNum←v28940), pd870); }; } else { SOURCE(64888, 41) jointNum←v28940 = (word) PreviousJoint←P3240(slice←v28828, jointNum←v28940); }; SOURCE(64931, 124) if (( (int)jointNum←v28940 == (int) (word) -1)) { alteredD←v16256 = 0; } else { { word var←c94404; { word pd871; pd871 = (* (( (ptr) (* (( (ptr) gf←c98116)+159)/* var←c84100 */ ))+8) ); var←c94404 = (word) ( *( (fPt) ((* (ptr) pd871 ))))(trajData←v28856, SGNCK(jointNum←v28940), pd871); }; { word pd872; pd872 = (* (( (ptr) (* (( (ptr) gf←c98116)+157)/* var←c84004 */ ))+8) ); alteredD←v16256 = (word) ( *( (fPt) ((* (ptr) pd872 ))))(slice←v28828, var←c94404, pd872); }; }; }; } else { if ((0 != isACP←v28912)) { SOURCE(65071, 17) alteredD←v16256 = sliceD←v16184; } else { if (( (int)segNum←v28996 != (int)999)) { SOURCE(65131, 131) if ((action←v16212 == (* (( (ptr) gf←c98116)+32) ))) { SOURCE(65157, 56) { word pd873; pd873 = (* (( (ptr) (* (( (ptr) gf←c98116)+161)/* var←c84516 */ ))+43) ); segNum←v28996 = (word) ( *( (fPt) ((* (ptr) pd873 ))))(slice←v28828, SGNCK(segNum←v28996), pd873); }; } else { SOURCE(65213, 49) { word pd874; pd874 = (* (( (ptr) (* (( (ptr) gf←c98116)+161)/* var←c84516 */ ))+42) ); segNum←v28996 = (word) ( *( (fPt) ((* (ptr) pd874 ))))(slice←v28828, SGNCK(segNum←v28996), pd874); }; }; SOURCE(65264, 122) if (( (int)segNum←v28996 == (int) (word) -1)) { alteredD←v16256 = 0; } else { { word var←c94436; { word pd875; pd875 = (* (( (ptr) (* (( (ptr) gf←c98116)+159)/* var←c84100 */ ))+9) ); var←c94436 = (word) ( *( (fPt) ((* (ptr) pd875 ))))(trajData←v28856, SGNCK(segNum←v28996), pd875); }; { word pd876; pd876 = (* (( (ptr) (* (( (ptr) gf←c98116)+157)/* var←c84004 */ ))+8) ); alteredD←v16256 = (word) ( *( (fPt) ((* (ptr) pd876 ))))(slice←v28828, var←c94436, pd876); }; }; }; } else { SOURCE(65402, 5) (void) XR←RaiseUnnamedError(); }; }; }; goto endif0866; }; if ((var←c94340 == (* (( (ptr) gf←c98116)+34) ))) { SOURCE(65421, 46) return((word) TrajNewParts←P2820((* (ptr) sliceD←v16184 ), 0, 6)); }; if ((var←c94340 == (* (( (ptr) gf←c98116)+35) )) || (var←c94340 == (* (( (ptr) gf←c98116)+36) ))) { SOURCE(65504, 11) return(0); }; SOURCE(65528, 5) (void) XR←RaiseUnnamedError(); goto endif0866; endif0866: ; }; SOURCE(64198, 1317) return(alteredD←v16256); } static word PreviousJoint←P3240(slice←v16316, index←v16344) word slice←v16316; word index←v16344; { register ptr gf←c98148 = (ptr) &globalframe; word nextIndex←v16388; word trajData←v29040; /* PreviousJoint: */ SOURCE(65539, 254) SOURCE(65616, 39) trajData←v29040 = XR←Narrow((* (( (ptr) slice←v16316)+1) ), (* (( (ptr) gf←c98148)+10) )); SOURCE(65657, 136) { word var←c94500; var←c94500 = (* (ptr) trajData←v29040 ); switch (var←c94500) { case 2: SOURCE(65691, 21) nextIndex←v16388 = (index←v16344 - 1); break; case 0: case 1: SOURCE(65729, 64) nextIndex←v16388 = IOP2( % , (int)((index←v16344 + (* (( (ptr) trajData←v29040)+1) )) - 1), (int)(* (( (ptr) trajData←v29040)+1) )); break; default: SOURCE(65806, 5) (void) XR←RaiseUnnamedError(); break; }; }; SOURCE(65539, 254) return(nextIndex←v16388); } static void TrajSetSelectedFields←P3300(sliceD←v16448, selected←v16476, selectClass←v16504) word sliceD←v16448; word selected←v16476; word selectClass←v16504; { register ptr gf←c98180 = (ptr) &globalframe; word joint←v29084 = 0; word jointGen←v29112 = 0; word segGen←v29140 = 0; word trajParts←v29168; word trajData←v29196; /* TrajSetSelectedFields: */ SOURCE(65817, 1317) SOURCE(65986, 43) trajParts←v29168 = XR←Narrow((* (( (ptr) sliceD←v16448)+1) ), (* (( (ptr) gf←c98180)+15) )); SOURCE(66031, 46) trajData←v29196 = XR←Narrow((* (( (ptr) (* (ptr) sliceD←v16448 ))+1) ), (* (( (ptr) gf←c98180)+10) )); SOURCE(66079, 226) { word var←c94532; var←c94532 = selectClass←v16504; switch (var←c94532) { case 0: SOURCE(66113, 41) (* (( (ptr) trajData←v29196)+10) ) = selected←v16476; break; case 1: SOURCE(66163, 38) (* (( (ptr) trajData←v29196)+11) ) = selected←v16476; break; case 2: SOURCE(66213, 41) (* (( (ptr) trajData←v29196)+12) ) = selected←v16476; break; case 3: SOURCE(66265, 40) (* (( (ptr) trajData←v29196)+13) ) = selected←v16476; break; }; }; SOURCE(66316, 49) { word pd877; pd877 = (* (( (ptr) (* (( (ptr) gf←c98180)+159)/* var←c84100 */ ))+53) ); jointGen←v29112 = (word) ( *( (fPt) ((* (ptr) pd877 ))))(trajParts←v29168, pd877); }; SOURCE(66367, 375) { register word jointNum←v29240; { word pd878; pd878 = (* (( (ptr) (* (( (ptr) gf←c98180)+159)/* var←c84100 */ ))+61) ); jointNum←v29240 = (word) ( *( (fPt) ((* (ptr) pd878 ))))(jointGen←v29112, pd878); }; lab←L100145: ; if (( (int)jointNum←v29240 != (int) (word) -1)) { } else { goto lab←L100142; }; SOURCE(66473, 49) { word pd879; pd879 = (* (( (ptr) (* (( (ptr) gf←c98180)+161)/* var←c84516 */ ))+31) ); joint←v29084 = (word) ( *( (fPt) ((* (ptr) pd879 ))))((* (ptr) sliceD←v16448 ), SGNCK(jointNum←v29240), pd879); }; SOURCE(66524, 218) { word var←c94564; var←c94564 = selectClass←v16504; switch (var←c94564) { case 0: SOURCE(66558, 39) (* (( (ptr) joint←v29084)+2) ) = selected←v16476; break; case 1: SOURCE(66606, 36) (* (( (ptr) joint←v29084)+3) ) = selected←v16476; break; case 2: SOURCE(66654, 39) (* (( (ptr) joint←v29084)+4) ) = selected←v16476; break; case 3: SOURCE(66704, 38) (* (( (ptr) joint←v29084)+5) ) = selected←v16476; break; }; }; { word pd880; pd880 = (* (( (ptr) (* (( (ptr) gf←c98180)+159)/* var←c84100 */ ))+61) ); jointNum←v29240 = (word) ( *( (fPt) ((* (ptr) pd880 ))))(jointGen←v29112, pd880); }; goto lab←L100145; lab←L100142: ; }; SOURCE(66762, 59) { word pd881; pd881 = (* (( (ptr) (* (( (ptr) gf←c98180)+159)/* var←c84100 */ ))+42) ); segGen←v29140 = (word) ( *( (fPt) ((* (ptr) pd881 ))))(trajData←v29196, trajParts←v29168, pd881); }; SOURCE(66823, 311) { register word seg←v29284; { word pd882; pd882 = (* (( (ptr) (* (( (ptr) gf←c98180)+159)/* var←c84100 */ ))+46) ); seg←v29284 = (word) ( *( (fPt) ((* (ptr) pd882 ))))(segGen←v29140, pd882); }; lab←L100149: ; if ((seg←v29284 != 0)) { } else { goto lab←L100146; }; SOURCE(66924, 210) { word var←c94596; var←c94596 = selectClass←v16504; switch (var←c94596) { case 0: SOURCE(66958, 37) (* (( (ptr) seg←v29284)+17) ) = selected←v16476; break; case 1: SOURCE(67004, 34) (* (( (ptr) seg←v29284)+18) ) = selected←v16476; break; case 2: SOURCE(67050, 37) (* (( (ptr) seg←v29284)+19) ) = selected←v16476; break; case 3: SOURCE(67098, 36) (* (( (ptr) seg←v29284)+20) ) = selected←v16476; break; }; }; { word pd883; pd883 = (* (( (ptr) (* (( (ptr) gf←c98180)+159)/* var←c84100 */ ))+46) ); seg←v29284 = (word) ( *( (fPt) ((* (ptr) pd883 ))))(segGen←v29140, pd883); }; goto lab←L100149; lab←L100146: ; }; } static void Init←P3360() { register ptr gf←c98212 = (ptr) &globalframe; /* Init: */ SOURCE(67216, 129) SOURCE(67231, 54) { word pd884; pd884 = (* (( (ptr) (* (( (ptr) gf←c98212)+156)/* var←c83940 */ ))+4) ); (* (( (ptr) gf←c98212)+6)/* idTransform←v7144 */ ) = (word) ( *( (fPt) ((* (ptr) pd884 ))))((* (ptr) &fc57 ), (* (ptr) &fc123 ), (* (ptr) &fc123 ), (* (ptr) &fc123 ), (* (ptr) &fc57 ), (* (ptr) &fc123 ), pd884) ; }; SOURCE(67300, 45) { word pd885; pd885 = (* (( (ptr) (* (( (ptr) gf←c98212)+169)/* var←c87812 */ ))+4) ); (* (( (ptr) gf←c98212)+7)/* cache←v7172 */ ) = (word) ( *( (fPt) ((* (ptr) pd885 ))))(100, 2147483647, pd885); }; } /* file: GGSliceImplD, module: GGSliceImplD, compiled at: July 11, 1993 8:10:23 pm PDT */ extern void XR←install←GGSliceImplD() { NoName←Q8592(); } extern void XR←run←GGSliceImplD() { XR←Start(&globalframe); }