/* 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); }