/* Generated with C2C (Cedar To C)*/
/* Copyright (C) 1993 by Xerox Corporation. All rights reserved. */
/* time: July 11, 1993 8:06:26 pm PDT */
/* C2C version: April 20, 1993 (sun4) */
/* ref-counting: off */
/* file: GGSliceImplA, module: GGSliceImplA */
/* switches: bcfhklnouw */
#include <cedar/InstallationSupport.h>
#include <cedar/CedarExtra.h>
static char versionStamp[] = "@(#)mob←version [3741280434,3729632976] GGSliceImplA";
typedef unsigned word, *ptr;
typedef unsigned char byte, *bPt;
typedef unsigned short half, *hPt;
typedef struct {word f0, f1, f2, f3;} W4;
typedef W4 *W4Pt;
typedef word (*fPt)();
typedef struct {word f0, f1;} W2;
typedef struct {word f0, f1, f2, f3, f4, f5;} W6;
typedef W2 *W2Pt;
typedef struct {word f0, f1, f2, f3, f4, f5, f6, f7;} W8;
typedef struct {W8 f; W8 r;} W16;
typedef struct {W16 f; W4 r;} W20;
typedef W20 *W20Pt;
typedef struct {word f0, f1, f2;} W3;
typedef W3 *W3Pt;
typedef W6 *W6Pt;
typedef struct {W8 f; W4 r;} W12;
typedef struct {W16 f; W2 r;} W18;
typedef struct {W8 f; W6 r;} W14;
typedef W8 *W8Pt;
typedef struct {W8 f; W2 r;} W10;
typedef struct {word f0, f1, f2, f3, f4, f5, f6;} W7;
typedef struct {W16 f; word r;} W17;
typedef struct {W8 f; word r;} W9;
typedef struct {word f0, f1, f2, f3, f4;} W5;
typedef W5 *W5Pt;
#define SOURCE(p, l) /* source p, l */
#define BCK(idx, lim) ( ((unsigned) idx) >= ((unsigned) lim) ? (XR←RaiseBoundsFault()) : (idx) )
static float fc101 = 2.0;
#define FMAX(x, y, tx, ty) ( (tx=((float) x)) >= (ty=((float) y)) ? tx : ty )
static float fc126 = -999.9;
static float fc135 = 0.707106816;
static float fc137 = 1.0;
#define FMIN(x, y, tx, ty) ( (tx=((float) x)) <= (ty=((float) y)) ? tx : ty )
static float fc216 = 0.0;
#define IOP2(op, x, y) ( (word) ((x) op (y)) )
#define SGNCK(i) ((int) (word) (i) < 0 ? XR←RaiseArithmeticFault(): i )
static float fc401 = 3.0;
static float fc553 = 8605.12;
static float fc558 = 8702.26;
static float fc569 = 8811.30;
static float fc574 = 8704.03;
static float fc583 = 8706.08;
static float fc592 = 8802.04;
static float fc597 = 8905.19;
static float fc603 = 8803.08;
static float fc608 = 8803.24;
static float fc652 = 1E16;
static float fc679 = -1.0;
#define FABS(f, t) ( ((t=(f)) >= (float) 0.0) ? (t) : (- (t)) )
static float fc770 = 0.072;
static float fc814 = 17.0;
static void NoName←Q12060();
static void GGSliceImplA←P0();
static word BuildBoxSliceClass←P60();
static word MakeBoxSlice←P120();
static word MakeBoxFromMaskPixel←P180();
static word BoxFetchSegment←P240();
static void SetBoxText←P300();
static void GetBoxText←P360();
static void GetBoxNodes←P420();
static word BoxMaxStrokeWidth←P480();
static void BoxPointFromIndex←P540();
static void BoxSetSegments←P600();
static word IsChildOfOutline←P660();
static void BoxGetBoundBoxAux←P720();
static void BoxFindBoundBox←P6024();
static word BoxGetBoundBox←P780();
static word BoxGetTightBox←P840();
static word BoxCopy←P900();
static void BoxRestore←P960();
static void BoxBuildPath←P1020();
static void DoBoxPath←P6372();
static void BoxDrawBorder←P1080();
static void DrawBoxPath←P6432();
static void BuildPath←P6600();
static void DoBoxDrawBorder←P6492();
static void PointsForTransform←P1140();
static void TransformedBoxPoints←P1200();
static void TransformBoxObj←P1260();
static void FlipBoxStyle←P1320();
static void BoxDrawParts←P1380();
static void DoBoxDrawParts←P6852();
static void BoxTextDraw←P6912();
static void BoxPathProc←P7020();
static void DoMaskPixel←P7128();
static void BoxDrawTransform←P1440();
static void TransformWholeBox←P7332();
static void RubberbandBox←P7440();
static void BoxDrawAttractorFeedback←P1500();
static void DoDrawAttractorFeedback←P7500();
static word BoxAttractorFeedbackBoundBox←P1560();
static void BoxDrawSelectionFeedback←P1620();
static void RenderText←P1680();
static void DoRenderText←P7944();
static void DrawSingleStrokeBox←P1740();
static void BuildPath←P8004();
static void MaskStrokeBoxPath←P1800();
static word PatternProc←P8064();
static word AllStrokePropsAndColorsEqual←P1860();
static void DrawSelectionFeedbackBox←P1920();
static void DoDrawFeedback←P8172();
static void BoxDrawAll←P1980();
static void BoxPath←P8280();
static void DoMaskPixel←P8388();
static void BoxSaveSelections←P2040();
static void SetPointField←P8544();
static void SetSegmentField←P8604();
static word BoxRemakeSelections←P2100();
static word GetPointField←P8712();
static word GetSegmentField←P8772();
static void BoxTransform←P2160();
static void BoxFullTransform←P8880();
static word BoxDescribeHit←P2220();
static word BoxDescribe←P2280();
static void BoxFileout←P2340();
static word BoxFilein←P2400();
static void MakeComplete←P2460();
static word IsComplete←P2520();
static word IsEmpty←P2580();
static void CountCorners←P2640();
static void CountEdges←P2700();
static word BoxPointsInDescriptor←P2760();
static void BoxWalkPointsInDescriptor←P2820();
static word BoxPointPairsInDescriptor←P2880();
static word BoxSegmentsInDescriptor←P2940();
static word BoxWalkSegments←P3000();
static void BoxNextPoint←P3060();
static void GetBoxPoint←P3120();
static void BoxNextPointPair←P3180();
static void BoxNextSegment←P3240();
static word BoxIsEmptyParts←P3300();
static word BoxIsCompleteParts←P3360();
static void NearestBoxPoint←P3420();
static word BoxNewParts←P3480();
static word BoxUnionParts←P3540();
static word BoxDiffParts←P3600();
static void CornersOfEdge←P3660();
static word OppositeCorner←P3720();
static void BoxPoint←P3780();
static void BoxMovingParts←P3840();
static word BoxAugmentParts←P3900();
static word BoxAlterParts←P3960();
static void BoxClosestPoint←P4020();
static void BoxClosestJointToHitData←P4080();
static void BoxClosestSegment←P4140();
static void BoxFilledPathsUnderPoint←P4200();
static void BoxLineIntersection←P4260();
static word BoxHitDataAsSimpleCurve←P4320();
static void FillBoxEdge←P4380();
static void BoxSetStrokeColor←P4440();
static void BoxGetStrokeColor←P4500();
static void BoxSetFillColor←P4560();
static void BoxGetFillColor←P4620();
static word BoxSetStrokeWidth←P4680();
static void BoxSetDefaults←P4740();
static void BoxGetStrokeWidth←P4800();
static void BoxSetStrokeEnd←P4860();
static void BoxSetStrokeJoint←P4920();
static void BoxGetStrokeJoint←P4980();
static void BoxGetStrokeEnd←P5040();
static void BoxSetDashed←P5100();
static void BoxGetDashed←P5160();
static word BoxSetOrientation←P5220();
static void BoxGetOrientation←P5280();
static void Init←P5340();
static struct {unsigned f; char r[16];} string1 = {917520, "\216\257\300\363\223\326\161\300\017\164\046\072\104\350\000"};
static struct {unsigned f; char r[4];} string2 = {65537, "\001\000\000"};
static struct {unsigned f; char r[44];} string3 = {2752556, "\260\006\005\146\151\162\163\164\257\300\247\031\224\326\300\123\162\224\023\100\164\005\004\162\145\163\164\214\257\300\247\031\224\326\300\123\162\224\023\100\164\261\000"};
static struct {unsigned f; char r[4];} string4 = {131074, "\003\002\000"};
static struct {unsigned f; char r[16];} string5 = {851984, "\257\300\247\365\203\234\300\047\265\225\046\107\144\000\000"};
static struct {unsigned f; char r[4];} string6 = {196611, "\004@\321"};
static struct {unsigned f; char r[16];} string7 = {851984, "\257\300\247\365\203\234\300\047\265\225\046\107\224\000\000"};
static struct {unsigned f; char r[4];} string8 = {131074, "\004\011\000"};
static struct {unsigned f; char r[16];} string9 = {851984, "\257\300\247\365\203\234\300\047\265\225\046\107\210\000\000"};
static struct {unsigned f; char r[20];} string10 = {1179668, "\260\006\005\146\151\162\163\164\217\005\004\162\145\163\164\214\217\261\000"};
static struct {unsigned f; char r[4];} string11 = {131074, "\004\003\000"};
static struct {unsigned f; char r[16];} string12 = {851984, "\257\300\336\377\150\262\300\336\115\256\320\100\230\000\000"};
static struct {unsigned f; char r[48];} string13 = {2883632, "\260\006\005\146\151\162\163\164\216\257\300\247\365\203\234\300\047\265\225\046\100\324\005\004\162\145\163\164\214\216\257\300\247\365\203\234\300\047\265\225\046\100\324\261\000\000\000"};
static struct {unsigned f; char r[16];} string14 = {851984, "\257\300\311\023\117\300\300\337\236\305\170\100\164\000\000"};
static struct {unsigned f; char r[4];} string15 = {196611, "\004A6"};
static struct {unsigned f; char r[16];} string16 = {851984, "\257\300\247\365\203\234\300\047\265\225\046\100\354\000\000"};
static struct {unsigned f; char r[4];} string17 = {131076, "\216\251\000"};
static struct {unsigned f; char r[16];} string18 = {851984, "\257\300\336\377\150\262\300\336\115\256\320\100\200\000\000"};
static struct {unsigned f; char r[24];} string19 = {1376277, "\006\010\000\001\004\001\010\001\024\001\030\001\034\001\044\004\003\100\220\004\017\000\000"};
static struct {unsigned f; char r[16];} string20 = {851984, "\257\300\336\377\150\262\300\336\115\256\320\100\214\000\000"};
static struct {unsigned f; char r[16];} string21 = {851984, "\257\300\247\365\203\234\300\047\265\225\046\100\324\000\000"};
static struct {unsigned f; char r[32];} string22 = {1966110, "\006\015\000\001\004\001\010\001\034\001\040\001\044\001\050\001\054\001\060\001\064\001\074\001\100\110\001\100\130\001\000"};
static struct {unsigned f; char r[4];} string23 = {196612, "Box"};
static struct {unsigned f; char r[8];} string24 = {458760, "Outline"};
static struct {unsigned f; char r[12];} string25 = {720908, "bottom edge"};
static struct {unsigned f; char r[20];} string26 = {1048596, "Broken Invariant\000\000\000"};
static struct {unsigned f; char r[12];} string27 = {655372, "right edge\000"};
static struct {unsigned f; char r[12];} string28 = {524300, "top edge\000\000\000"};
static struct {unsigned f; char r[8];} string29 = {393224, "center\000"};
static struct {unsigned f; char r[16];} string30 = {983056, " of a Box slice"};
static struct {unsigned f; char r[32];} string31 = {1900576, "multiple parts of a Box slice\000\000"};
static struct {unsigned f; char r[12];} string32 = {524300, "NO parts\000\000\000"};
static struct {unsigned f; char r[20];} string33 = {1114132, " strokeWidths: ( \000\000"};
static struct {unsigned f; char r[4];} string34 = {196612, "%g "};
static struct {unsigned f; char r[20];} string35 = {1048596, ") strokeEnds: ( \000\000\000"};
static struct {unsigned f; char r[20];} string36 = {1179668, ") strokeColors: ( \000"};
static struct {unsigned f; char r[16];} string37 = {851984, ") fillColor: \000\000"};
static struct {unsigned f; char r[8];} string38 = {327688, " pa: \000\000"};
static struct {unsigned f; char r[12];} string39 = {720908, " dashes: ( "};
static struct {unsigned f; char r[8];} string40 = {458760, " %g %g "};
static struct {unsigned f; char r[16];} string41 = {786448, " ) props: ( \000\000\000"};
static struct {unsigned f; char r[4];} string42 = {131076, "( \000"};
static struct {unsigned f; char r[4];} string43 = {131076, ") \000"};
static struct {unsigned f; char r[8];} string44 = {458760, ") fwd: "};
static struct {unsigned f; char r[16];} string45 = {917520, " strokeJoint: \000"};
static struct {unsigned f; char r[16];} string46 = {786448, "\012 fillText: \000\000\000"};
static struct {unsigned f; char r[16];} string47 = {983056, "strokeWidths: ("};
static struct {unsigned f; char r[16];} string48 = {983056, ") strokeEnds: ("};
static struct {unsigned f; char r[20];} string49 = {1114132, ") strokeColors: (\000\000"};
static struct {unsigned f; char r[4];} string50 = {196612, "pa:"};
static struct {unsigned f; char r[12];} string51 = {589836, "dashes: (\000\000"};
static struct {unsigned f; char r[12];} string52 = {524300, "props: (\000\000\000"};
static struct {unsigned f; char r[8];} string53 = {262152, "fwd:\000\000\000"};
static struct {unsigned f; char r[16];} string54 = {786448, "strokeJoint:\000\000\000"};
static struct {unsigned f; char r[12];} string55 = {589836, "left edge\000\000"};
static struct {unsigned f; char r[12];} string56 = {589836, "fillText:\000\000"};
static struct {unsigned f; char r[20];} string57 = {1179668, "lower right corner\000"};
static struct {unsigned f; char r[20];} string58 = {1179668, "upper right corner\000"};
static struct {unsigned f; char r[20];} string59 = {1114132, "upper left corner\000\000"};
static struct {unsigned f; char r[8];} string60 = {458760, "Forward"};
static struct {unsigned f; char r[12];} string61 = {524300, "Backward\000\000\000"};
static struct {unsigned f; char r[8];} string62 = {262152, "Grow\000\000\000"};
static struct {unsigned f; char r[16];} string63 = {851984, "ShrinkForward\000\000"};
static struct {unsigned f; char r[16];} string64 = {917520, "ShrinkBackward\000"};
static struct {unsigned f; char r[20];} string65 = {1114132, "lower left corner\000\000"};
static struct {unsigned f; char r[4];} string66 = {196612, "Set"};
static struct {unsigned f; char r[12];} string67 = {589836, "ChangeHue\000\000"};
static struct {unsigned f; char r[16];} string68 = {851984, "\257\300\336\377\150\262\300\336\115\256\320\100\164\000\000"};
static struct {unsigned f; char r[12];} string69 = {720907, "\006\002\030\001\100\170\010\000\004\055\001"};
static struct {unsigned f; char r[16];} string70 = {851984, "\257\300\322\334\347\304\300\124\107\000\027\100\150\000\000"};
static struct {unsigned f; char r[16];} string71 = {851984, "\257\300\265\217\206\011\300\172\271\371\033\100\150\000\000"};
static struct {unsigned f; char r[16];} string72 = {851984, "\257\300\231\005\151\136\300\275\231\323\274\100\150\000\000"};
static struct {unsigned f; char r[16];} string73 = {851984, "\257\300\301\241\007\150\300\032\111\265\237\100\150\000\000"};
static struct {unsigned f; char r[16];} string74 = {851984, "\257\300\236\155\220\261\300\040\017\026\014\100\150\000\000"};
static struct {unsigned f; char r[16];} string75 = {851984, "\257\300\045\215\147\016\300\153\043\150\276\100\150\000\000"};
static struct {unsigned f; char r[16];} string76 = {851984, "\257\300\317\075\344\275\300\105\331\241\110\100\150\000\000"};
static struct {unsigned f; char r[16];} string77 = {851984, "\257\300\347\101\365\007\300\150\102\366\020\100\150\000\000"};
static struct {unsigned f; char r[16];} string78 = {851984, "\257\300\043\211\212\366\300\343\003\307\242\100\150\000\000"};
static struct {unsigned f; char r[16];} string79 = {851984, "\257\300\235\036\354\311\300\234\133\201\260\100\150\000\000"};
static struct {unsigned f; char r[4];} string80 = {1195856748, "ice"};
static struct {unsigned f; char r[16];} string81 = {851984, "\257\300U$)\337\300Xo9\243@t\000\000"};
static struct {unsigned f; char r[16];} string82 = {851984, "\257\300\336\025\013\356\300\216\115\352\271\100\150\000\000"};
static struct {unsigned f; char r[16];} string83 = {851984, "\257\300\104\154\010\164\300\126\073\363\036\100\150\000\000"};
static struct {unsigned f; char r[16];} string84 = {851984, "\257\300\370\132\042\205\300\045\133\011\125\100\150\000\000"};
static struct {unsigned f; char r[16];} string85 = {851984, "\257\300\074\177\166\242\300\203\113\217\044\100\150\000\000"};
static struct {unsigned f; char r[16];} string86 = {851984, "\257\300\121\117\377\026\300\315\013\026\004\100\150\000\000"};
static struct {unsigned f; char r[16];} string87 = {851984, "\257\300\015\277\004\146\300\034\367\146\045\100\164\000\000"};
static struct {unsigned f; char r[16];} string88 = {851984, "\257\300\103\306\166\071\300\047\126\012\237\100\150\000\000"};
static struct {unsigned f; char r[16];} string89 = {851984, "\257\300\363\223\326\161\300\017\164\046\072\100\150\000\000"};
static struct {unsigned f; char r[16];} string90 = {851984, "\257\300\042\224\360\026\300\243\254\175\360\100\150\000\000"};
static struct {unsigned f; char r[16];} string91 = {851984, "\257\300\237\240\030\300\300\003\120\067\262\100\150\000\000"};
static struct {unsigned f; char r[16];} string92 = {851984, "\257\300\233\251\177\064\300\273\157\236\236\100\150\000\000"};
static struct {unsigned f; char r[16];} string93 = {851984, "\257\300\004\142\347\110\300\363\053\254\345\100\150\000\000"};
static W2 dummy661;
static struct {
word f0[75]; word f75; word f76; word f77;
word f78; word f79; word f80; word f81;
word f82; word f83; word f84; word f85;
word f86; word f87; word f88; word f89;
word f90; word f91; word f92; word f93;
word f94; word f95; word f96; word f97;
word f98; word f99; word f100; word f101;
word f102; word f103; word f104; word f105;
word f106; word f107; word f108; word f109;
word f110; word f111; word f112; word f113;
word f114; word f115; word f116; word f117;
word f118; word f119; word f120; word f121;
word f122; word f123; word f124; word f125;
word f126; word f127; word f128; word f129;
word f130; word f131; word f132; word f133;
word f134; word f135; word f136; word f137;
word f138; word f139; word f140; word f141;
word f142; word f143; word f144; word f145;
word f146; word f147; word f148; word f149;
word f150; word f151; word f152; word f153;
word f154; word f155; word f156; word f157;
word f158; word f159; word f160; word f161;
word f162; word f163; word f164; word f165;
word f166; word f167; word f168; word f169;
word f170; word f171; word f172; word f173;
word f174; word f175; word f176; word f177;
word f178; word f179; word f180; word f181;
word f182; word f183; word f184; word f185;
word f186; word f187; word f188; word f189;
word f190; word f191; word f192; word f193;
word f194; word f195; word f196; word f197;
word f198; word f199; word f200; word f201;
word f202; word f203; word f204; word f205;
word f206; word f207; word f208; word f209;
word f210; word f211; word f212; word f213;
word f214; word f215; word f216; word f217;
word f218; word f219; word f220; word f221;
word f222; word f223; word f224; word f225;
word f226; word f227; word f228; word f229;
word f230; word f231; word f232; word f233;
word f234; word f235; word f236; word f237;
word f238; word f239; word f240; word f241;
word f242; word f243; word f244; word f245;
word f246; word f247; word f248; word f249;
word f250; word f251; word f252; word f253;
word f254[69];
} globalframe = {
{0}, (word) Init←P5340, 0, (word) BoxGetOrientation←P5280,
0, (word) BoxSetOrientation←P5220, 0, (word) BoxGetDashed←P5160,
0, (word) BoxSetDashed←P5100, 0, (word) BoxGetStrokeEnd←P5040,
0, (word) BoxGetStrokeJoint←P4980, 0, (word) BoxSetStrokeJoint←P4920,
0, (word) BoxSetStrokeEnd←P4860, 0, (word) BoxGetStrokeWidth←P4800,
0, (word) BoxSetDefaults←P4740, 0, (word) BoxSetStrokeWidth←P4680,
0, (word) BoxGetFillColor←P4620, 0, (word) BoxSetFillColor←P4560,
0, (word) BoxGetStrokeColor←P4500, 0, (word) BoxSetStrokeColor←P4440,
0, (word) FillBoxEdge←P4380, 0, (word) BoxHitDataAsSimpleCurve←P4320,
0, (word) BoxLineIntersection←P4260, 0, (word) BoxFilledPathsUnderPoint←P4200,
0, (word) BoxClosestSegment←P4140, 0, (word) BoxClosestJointToHitData←P4080,
0, (word) BoxClosestPoint←P4020, 0, (word) BoxAlterParts←P3960,
0, (word) BoxAugmentParts←P3900, 0, (word) BoxMovingParts←P3840,
0, (word) BoxPoint←P3780, 0, (word) OppositeCorner←P3720,
0, (word) CornersOfEdge←P3660, 0, (word) BoxDiffParts←P3600,
0, (word) BoxUnionParts←P3540, 0, (word) BoxNewParts←P3480,
0, (word) NearestBoxPoint←P3420, 0, (word) BoxIsCompleteParts←P3360,
0, (word) BoxIsEmptyParts←P3300, 0, (word) BoxNextSegment←P3240,
0, (word) BoxNextPointPair←P3180, 0, (word) GetBoxPoint←P3120,
0, (word) BoxNextPoint←P3060, 0, (word) BoxWalkSegments←P3000,
0, (word) BoxSegmentsInDescriptor←P2940, 0, (word) BoxPointPairsInDescriptor←P2880,
0, (word) BoxWalkPointsInDescriptor←P2820, 0, (word) BoxPointsInDescriptor←P2760,
0, (word) CountEdges←P2700, 0, (word) CountCorners←P2640,
0, (word) IsEmpty←P2580, 0, (word) IsComplete←P2520,
0, (word) MakeComplete←P2460, 0, (word) BoxFilein←P2400,
0, (word) BoxFileout←P2340, 0, (word) BoxDescribe←P2280,
0, (word) BoxDescribeHit←P2220, 0, (word) BoxTransform←P2160,
0, (word) BoxRemakeSelections←P2100, 0, (word) BoxSaveSelections←P2040,
0, (word) BoxDrawAll←P1980, 0, (word) DrawSelectionFeedbackBox←P1920,
0, (word) AllStrokePropsAndColorsEqual←P1860, 0, (word) MaskStrokeBoxPath←P1800,
0, (word) DrawSingleStrokeBox←P1740, 0, (word) RenderText←P1680,
0, (word) BoxDrawSelectionFeedback←P1620, 0, (word) BoxAttractorFeedbackBoundBox←P1560,
0, (word) BoxDrawAttractorFeedback←P1500, 0, (word) BoxDrawTransform←P1440,
0, (word) BoxDrawParts←P1380, 0, (word) FlipBoxStyle←P1320,
0, (word) TransformBoxObj←P1260, 0, (word) TransformedBoxPoints←P1200,
0, (word) PointsForTransform←P1140, 0, (word) BoxDrawBorder←P1080,
0, (word) BoxBuildPath←P1020, 0, (word) BoxRestore←P960,
0, (word) BoxCopy←P900, 0, (word) BoxGetTightBox←P840,
0, (word) BoxGetBoundBox←P780, 0, (word) BoxGetBoundBoxAux←P720,
0, (word) IsChildOfOutline←P660, 0, (word) BoxSetSegments←P600,
0, (word) BoxPointFromIndex←P540, 0, (word) BoxMaxStrokeWidth←P480,
0, (word) GetBoxNodes←P420, 0, (word) GetBoxText←P360,
0, (word) SetBoxText←P300, 0, (word) BoxFetchSegment←P240,
0, (word) MakeBoxFromMaskPixel←P180, 0, (word) MakeBoxSlice←P120,
0, (word) BuildBoxSliceClass←P60, 0, (word) GGSliceImplA←P0,
{0}
};
static void NoName←Q12060()
{
register ptr gf←c01359 = (ptr) &globalframe;
word var←c101928;
(* (( (ptr) gf←c01359)+8) ) = (word) XR←GetTypeIndex((word) &string1, 0, (word) &string2);
(* (( (ptr) gf←c01359)+9) ) = (word) XR←GetTypeIndex((word) &string3, 0, (word) &string4);
(* (( (ptr) gf←c01359)+10) ) = (word) XR←GetTypeIndex((word) &string5, 0, (word) &string6);
(* (( (ptr) gf←c01359)+11) ) = (word) XR←GetTypeIndex((word) &string7, 0, (word) &string8);
(* (( (ptr) gf←c01359)+12) ) = (word) XR←GetTypeIndex((word) &string9, 0, (word) &string8);
(* (( (ptr) gf←c01359)+14) ) = (word) XR←GetTypeIndex((word) &string10, 0, (word) &string11);
(* (( (ptr) gf←c01359)+15) ) = (word) XR←GetTypeIndexS((word) (&string12));
(* (( (ptr) gf←c01359)+16) ) = (word) XR←GetTypeIndex((word) &string13, 0, (word) &string11);
(* (( (ptr) gf←c01359)+17) ) = (word) XR←GetTypeIndex((word) &string14, 0, (word) &string15);
(* (( (ptr) gf←c01359)+21) ) = (word) XR←GetTypeIndex((word) &string16, 0, (word) &string2);
(* (( (ptr) gf←c01359)+22) ) = (word) XR←GetTypeIndex((word) &string17, 0, (word) &string2);
(* (( (ptr) gf←c01359)+25) ) = (word) XR←GetTypeIndex((word) &string18, 0, (word) &string19);
(* (( (ptr) gf←c01359)+28) ) = (word) XR←GetTypeIndexS((word) (&string20));
(* (( (ptr) gf←c01359)+29) ) = (word) XR←GetTypeIndex((word) &string21, 0, (word) &string22);
(* (ptr) (( (bPt) gf←c01359)+120) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c01359)+22) ), (word) &string23);
(* (ptr) (( (bPt) gf←c01359)+124) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c01359)+22) ), (word) &string24);
(* (ptr) (( (bPt) gf←c01359)+128) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c01359)+8) ), (word) &string25);
(* (ptr) (( (bPt) gf←c01359)+132) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c01359)+8) ), (word) &string26);
(* (ptr) (( (bPt) gf←c01359)+136) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c01359)+8) ), (word) &string27);
(* (ptr) (( (bPt) gf←c01359)+140) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c01359)+8) ), (word) &string28);
(* (ptr) (( (bPt) gf←c01359)+144) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c01359)+8) ), (word) &string29);
(* (ptr) (( (bPt) gf←c01359)+148) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c01359)+8) ), (word) &string30);
(* (ptr) (( (bPt) gf←c01359)+152) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c01359)+8) ), (word) &string31);
(* (ptr) (( (bPt) gf←c01359)+156) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c01359)+8) ), (word) &string32);
(* (ptr) (( (bPt) gf←c01359)+160) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c01359)+8) ), (word) &string33);
(* (ptr) (( (bPt) gf←c01359)+164) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c01359)+8) ), (word) &string34);
(* (ptr) (( (bPt) gf←c01359)+168) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c01359)+8) ), (word) &string35);
(* (ptr) (( (bPt) gf←c01359)+172) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c01359)+8) ), (word) &string36);
(* (ptr) (( (bPt) gf←c01359)+176) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c01359)+8) ), (word) &string37);
(* (ptr) (( (bPt) gf←c01359)+180) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c01359)+8) ), (word) &string38);
(* (ptr) (( (bPt) gf←c01359)+184) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c01359)+8) ), (word) &string39);
(* (ptr) (( (bPt) gf←c01359)+188) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c01359)+8) ), (word) &string40);
(* (ptr) (( (bPt) gf←c01359)+192) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c01359)+8) ), (word) &string41);
(* (ptr) (( (bPt) gf←c01359)+196) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c01359)+8) ), (word) &string42);
(* (ptr) (( (bPt) gf←c01359)+200) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c01359)+8) ), (word) &string43);
(* (ptr) (( (bPt) gf←c01359)+204) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c01359)+8) ), (word) &string44);
(* (ptr) (( (bPt) gf←c01359)+208) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c01359)+8) ), (word) &string45);
(* (ptr) (( (bPt) gf←c01359)+212) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c01359)+8) ), (word) &string46);
(* (ptr) (( (bPt) gf←c01359)+216) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c01359)+8) ), (word) &string47);
(* (ptr) (( (bPt) gf←c01359)+220) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c01359)+8) ), (word) &string48);
(* (ptr) (( (bPt) gf←c01359)+224) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c01359)+8) ), (word) &string49);
(* (ptr) (( (bPt) gf←c01359)+228) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c01359)+8) ), (word) &string50);
(* (ptr) (( (bPt) gf←c01359)+232) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c01359)+8) ), (word) &string51);
(* (ptr) (( (bPt) gf←c01359)+236) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c01359)+8) ), (word) &string52);
(* (ptr) (( (bPt) gf←c01359)+240) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c01359)+8) ), (word) &string53);
(* (ptr) (( (bPt) gf←c01359)+244) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c01359)+8) ), (word) &string54);
(* (ptr) (( (bPt) gf←c01359)+248) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c01359)+8) ), (word) &string55);
(* (ptr) (( (bPt) gf←c01359)+252) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c01359)+8) ), (word) &string56);
(* (ptr) (( (bPt) gf←c01359)+256) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c01359)+8) ), (word) &string57);
(* (ptr) (( (bPt) gf←c01359)+260) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c01359)+8) ), (word) &string58);
(* (ptr) (( (bPt) gf←c01359)+264) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c01359)+8) ), (word) &string59);
(* (ptr) (( (bPt) gf←c01359)+268) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c01359)+22) ), (word) &string60);
(* (ptr) (( (bPt) gf←c01359)+272) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c01359)+22) ), (word) &string61);
(* (ptr) (( (bPt) gf←c01359)+276) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c01359)+22) ), (word) &string62);
(* (ptr) (( (bPt) gf←c01359)+280) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c01359)+22) ), (word) &string63);
(* (ptr) (( (bPt) gf←c01359)+284) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c01359)+22) ), (word) &string64);
(* (ptr) (( (bPt) gf←c01359)+288) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c01359)+8) ), (word) &string65);
(* (ptr) (( (bPt) gf←c01359)+292) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c01359)+22) ), (word) &string66);
(* (ptr) (( (bPt) gf←c01359)+296) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c01359)+22) ), (word) &string67);
(void) XR←DeclareGlobalFrame((word) "GGSliceImplA", &globalframe, (word) XR←GetTypeIndex((word) &string68, 0, (word) &string69)
, (word) (( (bPt) gf←c01359)+1012)/* var←c91368 */ );
var←c101928 = (word) XR←ImportInterface((word) "Feedback", (word) XR←GetTypeIndexS((word) (&string70)), 25);
(* (( (ptr) gf←c01359)+299)/* var←c91880 */ ) = var←c101928;
var←c101928 = (word) XR←ImportInterface((word) "GGBoundBox", (word) XR←GetTypeIndexS((word) (&string71)), 24);
(* (( (ptr) gf←c01359)+304)/* var←c92328 */ ) = var←c101928;
(void) XR←ImportProcS(var←c101928, 337647364);
(void) XR←ImportProcS(var←c101928, 69210370);
(void) XR←ImportProcS(var←c101928, 337647108);
(void) XR←ImportProcS(var←c101928, 68162051);
(void) XR←ImportProcS(var←c101928, 527618);
(void) XR←ImportProcS(var←c101928, 67371777);
(void) XR←ImportProcS(var←c101928, 789250);
(void) XR←ImportProcS(var←c101928, 68681990);
(void) XR←ImportProcS(var←c101928, 67634434);
(void) XR←ImportProcS(var←c101928, 67373057);
(void) XR←ImportProcS(var←c101928, 67109376);
var←c101928 = (word) XR←ImportInterface((word) "GGCoreOps", (word) XR←GetTypeIndexS((word) (&string72)), 37);
(* (( (ptr) gf←c01359)+310)/* var←c93352 */ ) = var←c101928;
(void) XR←ImportProcS(var←c101928, 67641602);
(void) XR←ImportProcS(var←c101928, 67641090);
(void) XR←ImportProcS(var←c101928, 794627);
(void) XR←ImportProcS(var←c101928, 67379713);
var←c101928 = (word) XR←ImportInterface((word) "GGParent", (word) XR←GetTypeIndexS((word) (&string73)), 83);
(* (( (ptr) gf←c01359)+309)/* var←c93128 */ ) = var←c101928;
(void) XR←ImportProcS(var←c101928, 67386369);
var←c101928 = (word) XR←ImportInterface((word) "GGParseIn", (word) XR←GetTypeIndexS((word) (&string74)), 26);
(* (( (ptr) gf←c01359)+317)/* var←c98408 */ ) = var←c101928;
(void) XR←ImportProcS(var←c101928, 134745602);
(void) XR←ImportProcS(var←c101928, 67376641);
(void) XR←ImportProcS(var←c101928, 67373825);
(void) XR←ImportProcS(var←c101928, 67373313);
(void) XR←ImportProcS(var←c101928, 525826);
(void) XR←ImportProcS(var←c101928, 67375873);
(void) XR←ImportProcS(var←c101928, 67376129);
(void) XR←ImportProcS(var←c101928, 67374337);
(void) XR←ImportProcS(var←c101928, 67636226);
(void) XR←ImportProcS(var←c101928, 67373569);
(void) XR←ImportProcS(var←c101928, 67376897);
(void) XR←ImportProcS(var←c101928, 525570);
(void) XR←ImportProcS(var←c101928, 67375105);
(void) XR←ImportProcS(var←c101928, 134483713);
var←c101928 = (word) XR←ImportInterface((word) "GGParseOut", (word) XR←GetTypeIndexS((word) (&string75)), 15);
(* (( (ptr) gf←c01359)+315)/* var←c97960 */ ) = var←c101928;
(void) XR←ImportProcS(var←c101928, 787459);
(void) XR←ImportProcS(var←c101928, 524546);
(void) XR←ImportProcS(var←c101928, 526594);
(void) XR←ImportProcS(var←c101928, 526850);
(void) XR←ImportProcS(var←c101928, 527106);
(void) XR←ImportProcS(var←c101928, 525058);
(void) XR←ImportProcS(var←c101928, 524802);
(void) XR←ImportProcS(var←c101928, 524290);
(void) XR←ImportProcS(var←c101928, 525826);
(void) XR←ImportProcS(var←c101928, 787714);
var←c101928 = (word) XR←ImportInterface((word) "GGProps", (word) XR←GetTypeIndexS((word) (&string76)), 11);
(* (( (ptr) gf←c01359)+311)/* var←c93384 */ ) = var←c101928;
(void) XR←ImportProcS(var←c101928, 1050116);
var←c101928 = (word) XR←ImportInterface((word) "GGScene", (word) XR←GetTypeIndexS((word) (&string77)), 50);
(* (( (ptr) gf←c01359)+308)/* var←c93064 */ ) = var←c101928;
(void) XR←ImportProcS(var←c101928, 67379969);
var←c101928 = (word) XR←ImportInterface((word) "GGSegment", (word) XR←GetTypeIndexS((word) (&string78)), 47);
(* (( (ptr) gf←c01359)+302)/* var←c92200 */ ) = var←c101928;
(void) XR←ImportProcS(var←c101928, 527362);
(void) XR←ImportProcS(var←c101928, 1579268);
(void) XR←ImportProcS(var←c101928, 67374337);
(void) XR←ImportProcS(var←c101928, 1054723);
(void) XR←ImportProcS(var←c101928, 68419843);
var←c101928 = (word) XR←ImportInterface((word) "GGShapes", (word) XR←GetTypeIndexS((word) (&string79)), 20);
(* (( (ptr) gf←c01359)+312)/* var←c95848 */ ) = var←c101928;
(void) XR←ImportProcS(var←c101928, 1314820);
(void) XR←ImportProcS(var←c101928, 1315076);
(void) XR←ImportProcS(var←c101928, 1052419);
var←c101928 = (word) XR←ImportInterface((word) &string80, (word) XR←GetTypeIndexS((word) (&string81)), 128);
(* (( (ptr) gf←c01359)+300)/* var←c91944 */ ) = var←c101928;
(void) XR←ImportProcS(var←c101928, 1321732);
(void) XR←ImportProcS(var←c101928, 201600001);
(void) XR←ImportProcS(var←c101928, 278529);
(void) XR←ImportProcS(var←c101928, 67634178);
(void) XR←ImportProcS(var←c101928, 67371777);
(void) XR←ImportProcS(var←c101928, 134511105);
(void) XR←ImportProcS(var←c101928, 1341701);
(void) XR←ImportProcS(var←c101928, 134769666);
(void) XR←ImportProcS(var←c101928, 470837251);
(void) XR←ImportProcS(var←c101928, 810499);
(void) XR←ImportProcS(var←c101928, 279297);
(void) XR←ImportProcS(var←c101928, 68189956);
var←c101928 = (word) XR←ImportInterface((word) "GGSliceOps", (word) XR←GetTypeIndexS((word) (&string82)), 73);
(* (( (ptr) gf←c01359)+305)/* var←c92456 */ ) = var←c101928;
(void) XR←ImportProcS(var←c101928, 67633922);
(void) XR←ImportProcS(var←c101928, 67901699);
(void) XR←ImportProcS(var←c101928, 67634434);
(void) XR←ImportProcS(var←c101928, 67371521);
var←c101928 = (word) XR←ImportInterface((word) "GGTransform", (word) XR←GetTypeIndexS((word) (&string83)), 7);
(* (( (ptr) gf←c01359)+319)/* var←c100616 */ ) = var←c101928;
(void) XR←ImportProcS(var←c101928, 135004418);
(void) XR←ImportProcS(var←c101928, 67108864);
var←c101928 = (word) XR←ImportInterface((word) "GGUtility", (word) XR←GetTypeIndexS((word) (&string84)), 42);
(* (( (ptr) gf←c01359)+313)/* var←c96552 */ ) = var←c101928;
(void) XR←ImportProcS(var←c101928, 67641346);
(void) XR←ImportProcS(var←c101928, 67641858);
var←c101928 = (word) XR←ImportInterface((word) "Imager", (word) XR←GetTypeIndexS((word) (&string85)), 84);
(* (( (ptr) gf←c01359)+303)/* var←c92232 */ ) = var←c101928;
(void) XR←ImportProcS(var←c101928, 803587);
(void) XR←ImportProcS(var←c101928, 1591046);
(void) XR←ImportProcS(var←c101928, 541186);
(void) XR←ImportProcS(var←c101928, 540930);
(void) XR←ImportProcS(var←c101928, 540674);
(void) XR←ImportProcS(var←c101928, 536578);
(void) XR←ImportProcS(var←c101928, 542978);
(void) XR←ImportProcS(var←c101928, 526850);
(void) XR←ImportProcS(var←c101928, 801283);
(void) XR←ImportProcS(var←c101928, 526338);
var←c101928 = (word) XR←ImportInterface((word) "ImagerTransformation", (word) XR←GetTypeIndexS((word) (&string86)), 55);
(* (( (ptr) gf←c01359)+301)/* var←c91976 */ ) = var←c101928;
(void) XR←ImportProcS(var←c101928, 67634689);
(void) XR←ImportProcS(var←c101928, 68160004);
(void) XR←ImportProcS(var←c101928, 135013378);
(void) XR←ImportProcS(var←c101928, 67635458);
(void) XR←ImportProcS(var←c101928, 67371521);
(void) XR←ImportProcS(var←c101928, 135013122);
(void) XR←ImportProcS(var←c101928, 402927105);
(void) XR←ImportProcS(var←c101928, 67383041);
var←c101928 = (word) XR←ImportInterface((word) "IO", (word) XR←GetTypeIndexS((word) (&string87)), 103);
(* (( (ptr) gf←c01359)+316)/* var←c97992 */ ) = var←c101928;
(void) XR←ImportProcS(var←c101928, 67917827);
(void) XR←ImportProcS(var←c101928, 67372801);
(void) XR←ImportProcS(var←c101928, 67374849);
(void) XR←ImportProcS(var←c101928, 2111493);
(void) XR←ImportProcS(var←c101928, 1063171);
(void) XR←ImportProcS(var←c101928, 1071364);
(void) XR←ImportProcS(var←c101928, 528642);
var←c101928 = (word) XR←ImportInterface((word) "Lines2d", (word) XR←GetTypeIndexS((word) (&string88)), 50);
(* (( (ptr) gf←c01359)+321)/* var←c101224 */ ) = var←c101928;
(void) XR←ImportProcS(var←c101928, 1317123);
(void) XR←ImportProcS(var←c101928, 793091);
(void) XR←ImportProcS(var←c101928, 67114240);
(void) XR←ImportProcS(var←c101928, 201858818);
(void) XR←ImportProcS(var←c101928, 67635970);
var←c101928 = (word) XR←ImportInterface((word) "Rope", (word) XR←GetTypeIndexS((word) (&string89)), 43);
(* (( (ptr) gf←c01359)+314)/* var←c97832 */ ) = var←c101928;
(void) XR←ImportProcS(var←c101928, 67633666);
var←c101928 = (word) XR←ImportInterface((word) "TextNode", (word) XR←GetTypeIndexS((word) (&string90)), 34);
(* (( (ptr) gf←c01359)+307)/* var←c92616 */ ) = var←c101928;
(void) XR←ImportProcS(var←c101928, 67377153);
var←c101928 = (word) XR←ImportInterface((word) "TiogaImager", (word) XR←GetTypeIndexS((word) (&string91)), 19);
(* (( (ptr) gf←c01359)+306)/* var←c92584 */ ) = var←c101928;
(void) XR←ImportProcS(var←c101928, 1051651);
(void) XR←ImportProcS(var←c101928, 203161861);
var←c101928 = (word) XR←ImportInterface((word) "TiogaIO", (word) XR←GetTypeIndexS((word) (&string92)), 17);
(* (( (ptr) gf←c01359)+318)/* var←c98760 */ ) = var←c101928;
(void) XR←ImportProcS(var←c101928, 67372545);
var←c101928 = (word) XR←ImportInterface((word) "Vectors2d", (word) XR←GetTypeIndexS((word) (&string93)), 21);
(* (( (ptr) gf←c01359)+320)/* var←c100744 */ ) = var←c101928;
(void) XR←ImportProcS(var←c101928, 135268098);
(void) XR←ImportProcS(var←c101928, 68158722);
(void) XR←ImportProcS(var←c101928, 135270914);
(void) XR←ImportProcS(var←c101928, 68161282);
var←c101928 = (word) XR←ExportInterface((word) &string80, (word) XR←GetTypeIndexS((word) (&string81)), 128);
(* (( (ptr) gf←c01359)+322)/* var←c101960 */ ) = var←c101928;
(void) XR←ExportProcS(var←c101928, (word) (( (bPt) gf←c01359)+1004)/* var←c91336 */ , 67118848, (word) "BuildBoxSliceClass")
;
(void) XR←ExportProcS(var←c101928, (word) (( (bPt) gf←c01359)+988)/* var←c91272 */ , 68167684, (word) "MakeBoxFromMaskPixel")
;
(void) XR←ExportProcS(var←c101928, (word) (( (bPt) gf←c01359)+996)/* var←c91304 */ , 67905795, (word) "MakeBoxSlice");
(void) XR←ExportProcS(var←c101928, (word) (( (bPt) gf←c01359)+980)/* var←c91240 */ , 67643906, (word) "BoxFetchSegment");
(void) XR←ExportProcS(var←c101928, (word) (( (bPt) gf←c01359)+972)/* var←c91208 */ , 1321732, (word) "SetBoxText");
(void) XR←ExportProcS(var←c101928, (word) (( (bPt) gf←c01359)+964)/* var←c91176 */ , 201600001, (word) "GetBoxText");
(void) XR←ExportProcS(var←c101928, (word) (( (bPt) gf←c01359)+956)/* var←c91144 */ , 201600257, (word) "GetBoxNodes");
(void) XR←ExportProcS(var←c101928, (word) (( (bPt) gf←c01359)+788)/* var←c90472 */ , 1060356, (word) "RenderText");
(void) XR←ExportVar(var←c101928, 63, (word) (( (bPt) gf←c01359)+20)/* copyRestore←v5688 */ );
}
static void GGSliceImplA←P0(formal←c0129, formal←c0128)
word formal←c0129;
word formal←c0128;
{
register ptr gf←c101992 = (ptr) &globalframe;
/* GGSliceImplA: */
SOURCE(413, 81943)
XR←FillWords(&(* (W4Pt) ((( (ptr) gf←c101992)+283)/* var←c91656 */ )), 4, 1);
XR←FillWords(&(* (W4Pt) ((( (ptr) gf←c101992)+287)/* var←c91720 */ )), 4, 1);
SOURCE(4418, 17)
(* (( (ptr) gf←c101992)+4)/* Problem←v5660 */ ) = (* (ptr) (* (( (ptr) (* (( (ptr) gf←c101992)+299)/* var←c91880 */ ))+28)
) );
SOURCE(4471, 31)
(* (( (ptr) gf←c101992)+5)/* copyRestore←v5688 */ ) = 1;
SOURCE(82350, 6)
(void) Init←P5340();
}
static word BuildBoxSliceClass←P60()
{
register ptr gf←c102024 = (ptr) &globalframe;
word class←v9320;
/* BuildBoxSliceClass: */
SOURCE(4542, 2266)
SOURCE(4542, 2266)
class←v9320 = 0;
SOURCE(4623, 2185)
{
word var←c91912;
var←c91912 = XR←NewObject(252, (* (( (ptr) gf←c102024)+21) ));
(* (ptr) var←c91912 ) = (* (( (ptr) gf←c102024)+30) );
(* (( (ptr) var←c91912)+1) ) = (word) (( (bPt) gf←c102024)+908)/* var←c90952 */ ;
(* (( (ptr) var←c91912)+2) ) = (* (( (ptr) (* (( (ptr) gf←c102024)+300)/* var←c91944 */ ))+131) );
(* (( (ptr) var←c91912)+3) ) = (word) (( (bPt) gf←c102024)+900)/* var←c90920 */ ;
(* (( (ptr) var←c91912)+4) ) = (word) (( (bPt) gf←c102024)+892)/* var←c90888 */ ;
(* (( (ptr) var←c91912)+5) ) = (* (( (ptr) (* (( (ptr) gf←c102024)+300)/* var←c91944 */ ))+71) );
(* (( (ptr) var←c91912)+6) ) = (word) (( (bPt) gf←c102024)+884)/* var←c90856 */ ;
(* (( (ptr) var←c91912)+7) ) = (word) (( (bPt) gf←c102024)+876)/* var←c90824 */ ;
(* (( (ptr) var←c91912)+8) ) = (word) (( (bPt) gf←c102024)+868)/* var←c90792 */ ;
(* (( (ptr) var←c91912)+9) ) = (word) (( (bPt) gf←c102024)+828)/* var←c90632 */ ;
(* (( (ptr) var←c91912)+10) ) = (word) (( (bPt) gf←c102024)+820)/* var←c90600 */ ;
(* (( (ptr) var←c91912)+11) ) = (word) (( (bPt) gf←c102024)+796)/* var←c90504 */ ;
(* (( (ptr) var←c91912)+12) ) = (word) (( (bPt) gf←c102024)+812)/* var←c90568 */ ;
(* (( (ptr) var←c91912)+13) ) = (word) (( (bPt) gf←c102024)+804)/* var←c90536 */ ;
(* (( (ptr) var←c91912)+14) ) = (word) (( (bPt) gf←c102024)+740)/* var←c90280 */ ;
(* (( (ptr) var←c91912)+15) ) = (word) (( (bPt) gf←c102024)+732)/* var←c90248 */ ;
(* (( (ptr) var←c91912)+16) ) = (word) (( (bPt) gf←c102024)+724)/* var←c90216 */ ;
(* (( (ptr) var←c91912)+17) ) = (word) (( (bPt) gf←c102024)+708)/* var←c90152 */ ;
(* (( (ptr) var←c91912)+18) ) = (word) (( (bPt) gf←c102024)+716)/* var←c90184 */ ;
(* (( (ptr) var←c91912)+19) ) = (word) (( (bPt) gf←c102024)+700)/* var←c90120 */ ;
(* (( (ptr) var←c91912)+20) ) = (word) (( (bPt) gf←c102024)+692)/* var←c90088 */ ;
(* (( (ptr) var←c91912)+21) ) = (word) (( (bPt) gf←c102024)+572)/* var←c89608 */ ;
(* (( (ptr) var←c91912)+22) ) = (word) (( (bPt) gf←c102024)+564)/* var←c89576 */ ;
(* (( (ptr) var←c91912)+23) ) = (word) (( (bPt) gf←c102024)+548)/* var←c89512 */ ;
(* (( (ptr) var←c91912)+24) ) = (word) (( (bPt) gf←c102024)+540)/* var←c89480 */ ;
(* (( (ptr) var←c91912)+25) ) = (word) (( (bPt) gf←c102024)+532)/* var←c89448 */ ;
(* (( (ptr) var←c91912)+26) ) = (word) (( (bPt) gf←c102024)+500)/* var←c89320 */ ;
(* (( (ptr) var←c91912)+27) ) = (word) (( (bPt) gf←c102024)+492)/* var←c89288 */ ;
(* (( (ptr) var←c91912)+28) ) = (word) (( (bPt) gf←c102024)+484)/* var←c89256 */ ;
(* (( (ptr) var←c91912)+29) ) = XR←CheckProc(* (( (ptr) (* (( (ptr) gf←c102024)+300)/* var←c91944 */ ))+98) );
(* (( (ptr) var←c91912)+30) ) = (word) (( (bPt) gf←c102024)+644)/* var←c89896 */ ;
(* (( (ptr) var←c91912)+31) ) = (word) (( (bPt) gf←c102024)+636)/* var←c89864 */ ;
(* (( (ptr) var←c91912)+32) ) = (word) (( (bPt) gf←c102024)+628)/* var←c89832 */ ;
(* (( (ptr) var←c91912)+33) ) = (word) (( (bPt) gf←c102024)+620)/* var←c89800 */ ;
(* (( (ptr) var←c91912)+34) ) = (word) (( (bPt) gf←c102024)+612)/* var←c89768 */ ;
(* (( (ptr) var←c91912)+35) ) = (word) (( (bPt) gf←c102024)+604)/* var←c89736 */ ;
(* (( (ptr) var←c91912)+36) ) = (word) (( (bPt) gf←c102024)+588)/* var←c89672 */ ;
(* (( (ptr) var←c91912)+37) ) = (word) (( (bPt) gf←c102024)+580)/* var←c89640 */ ;
(* (( (ptr) var←c91912)+38) ) = (word) (( (bPt) gf←c102024)+476)/* var←c89224 */ ;
(* (( (ptr) var←c91912)+39) ) = (word) (( (bPt) gf←c102024)+468)/* var←c89192 */ ;
(* (( (ptr) var←c91912)+40) ) = XR←CheckProc(* (( (ptr) (* (( (ptr) gf←c102024)+300)/* var←c91944 */ ))+108) );
(* (( (ptr) var←c91912)+41) ) = (word) (( (bPt) gf←c102024)+460)/* var←c89160 */ ;
(* (( (ptr) var←c91912)+42) ) = (word) (( (bPt) gf←c102024)+452)/* var←c89128 */ ;
(* (( (ptr) var←c91912)+43) ) = (word) (( (bPt) gf←c102024)+444)/* var←c89096 */ ;
(* (( (ptr) var←c91912)+44) ) = XR←CheckProc(* (( (ptr) (* (( (ptr) gf←c102024)+300)/* var←c91944 */ ))+112) );
(* (( (ptr) var←c91912)+45) ) = (word) (( (bPt) gf←c102024)+436)/* var←c89064 */ ;
(* (( (ptr) var←c91912)+46) ) = (word) (( (bPt) gf←c102024)+380)/* var←c88840 */ ;
(* (( (ptr) var←c91912)+47) ) = (word) (( (bPt) gf←c102024)+388)/* var←c88872 */ ;
(* (( (ptr) var←c91912)+48) ) = (word) (( (bPt) gf←c102024)+372)/* var←c88808 */ ;
(* (( (ptr) var←c91912)+49) ) = (word) (( (bPt) gf←c102024)+364)/* var←c88776 */ ;
(* (( (ptr) var←c91912)+50) ) = (word) (( (bPt) gf←c102024)+340)/* var←c88680 */ ;
(* (( (ptr) var←c91912)+51) ) = (word) (( (bPt) gf←c102024)+356)/* var←c88744 */ ;
(* (( (ptr) var←c91912)+52) ) = (word) (( (bPt) gf←c102024)+348)/* var←c88712 */ ;
(* (( (ptr) var←c91912)+53) ) = (word) (( (bPt) gf←c102024)+420)/* var←c89000 */ ;
(* (( (ptr) var←c91912)+54) ) = (word) (( (bPt) gf←c102024)+412)/* var←c88968 */ ;
(* (( (ptr) var←c91912)+55) ) = (word) (( (bPt) gf←c102024)+404)/* var←c88936 */ ;
(* (( (ptr) var←c91912)+56) ) = (word) (( (bPt) gf←c102024)+396)/* var←c88904 */ ;
(* (( (ptr) var←c91912)+57) ) = XR←CheckProc(* (( (ptr) (* (( (ptr) gf←c102024)+300)/* var←c91944 */ ))+125) );
(* (( (ptr) var←c91912)+58) ) = XR←CheckProc(* (( (ptr) (* (( (ptr) gf←c102024)+300)/* var←c91944 */ ))+126) );
(* (( (ptr) var←c91912)+59) ) = (word) (( (bPt) gf←c102024)+332)/* var←c88648 */ ;
(* (( (ptr) var←c91912)+60) ) = (word) (( (bPt) gf←c102024)+324)/* var←c88616 */ ;
(* (( (ptr) var←c91912)+61) ) = (word) (( (bPt) gf←c102024)+316)/* var←c88584 */ ;
(* (( (ptr) var←c91912)+62) ) = (word) (( (bPt) gf←c102024)+308)/* var←c88552 */ ;
class←v9320 = var←c91912;
};
SOURCE(4542, 2266)
return(class←v9320);
}
static word MakeBoxSlice←P120(box←v9380, corner←v9408, transform←v9436)
word box←v9380;
word corner←v9408;
word transform←v9436;
{
register ptr gf←c102056 = (ptr) &globalframe;
word sliceD←v9480;
word boxSlice←v23204 = 0;
word inverse←v23232;
word boxData←v23260;
word boxParts←v23288;
word cIndex←v23316;
/* MakeBoxSlice: */
SOURCE(6814, 1580)
SOURCE(6814, 1580)
sliceD←v9480 = 0;
SOURCE(6979, 64)
{
word pd94;
pd94 = (* (( (ptr) (* (( (ptr) gf←c102056)+301)/* var←c91976 */ ))+51) );
inverse←v23232 = (word) ( *( (fPt) ((* (ptr) pd94 ))))(transform←v9436, pd94);
};
SOURCE(7045, 177)
{
W6 var←c0140;
W2 var←c92008;
word var←c92040;
{
word pd95;
pd95 = (* (( (ptr) (* (( (ptr) gf←c102056)+301)/* var←c91976 */ ))+50) );
(void) ( *( (fPt) ((* (ptr) pd95 ))))((word) &var←c0140, inverse←v23232, pd95);
};
var←c92008 = (* (W2Pt) (( (ptr) &var←c0140)+1) );
var←c92040 = XR←NewObject(160, (* (( (ptr) gf←c102056)+25) ));
(* (ptr) var←c92040 ) = box←v9380;
(* (( (ptr) var←c92040)+1) ) = transform←v9436;
(* (( (ptr) var←c92040)+2) ) = inverse←v23232;
(* (W2Pt) (( (ptr) var←c92040)+3) ) = var←c92008;
(* (( (ptr) var←c92040)+14) ) = 2;
(* (( (ptr) var←c92040)+15) ) = 1;
(* (W20Pt) (( (ptr) var←c92040)+16) ) = (* (W20Pt) (( (ptr) gf←c102056)+255)/* var←c91464 */ );
(* (W4Pt) (( (ptr) var←c92040)+36) ) = (* (W4Pt) (( (ptr) gf←c102056)+275)/* var←c91528 */ );
boxData←v23260 = var←c92040;
};
SOURCE(7224, 96)
boxParts←v23288 = XR←NewObject(36, (* (( (ptr) gf←c102056)+28) ));
SOURCE(7322, 74)
{
word var←c92104;
var←c92104 = corner←v9408;
switch (var←c92104) {
case 1:
cIndex←v23316 = 0;
break;
case 2:
cIndex←v23316 = 1;
break;
case 3:
cIndex←v23316 = 2;
break;
case 4:
cIndex←v23316 = 3;
break;
default:
cIndex←v23316 = 2;
break;
};
};
SOURCE(7398, 31)
(* (( (ptr) boxParts←v23288)+BCK(cIndex←v23316, 4)) ) = 1;
SOURCE(7431, 76)
{
word x96;
word x97;
if (((
x96 = (* (ptr) box←v9380 ), *(float*)&x96
) > (
x97 = (* (( (ptr) box←v9380)+2) ), *(float*)&x97
))) {
SOURCE(7457, 50)
{
word t←v23360;
SOURCE(7458, 17)
t←v23360 = (* (ptr) box←v9380 );
SOURCE(7477, 17)
(* (ptr) box←v9380 ) = (* (( (ptr) box←v9380)+2) );
SOURCE(7496, 11)
(* (( (ptr) box←v9380)+2) ) = t←v23360;
};
};
};
SOURCE(7510, 76)
{
word x98;
word x99;
if (((
x98 = (* (( (ptr) box←v9380)+1) ), *(float*)&x98
) > (
x99 = (* (( (ptr) box←v9380)+3) ), *(float*)&x99
))) {
SOURCE(7536, 50)
{
word t←v23404;
SOURCE(7537, 17)
t←v23404 = (* (( (ptr) box←v9380)+1) );
SOURCE(7556, 17)
(* (( (ptr) box←v9380)+1) ) = (* (( (ptr) box←v9380)+3) );
SOURCE(7575, 11)
(* (( (ptr) box←v9380)+3) ) = t←v23404;
};
};
};
SOURCE(7589, 295)
{
register word i←v23448 = 0;
lab←L100003: ;
{
word newSeg←v23492;
SOURCE(7613, 137)
{
W2 var←c92136;
W2 var←c92168;
(void) BoxPointFromIndex←P540((word) &var←c92136, (* (ptr) boxData←v23260 ), BCK(i←v23448, 4));
(void) BoxPointFromIndex←P540((word) &var←c92168, (* (ptr) boxData←v23260 ), ((i←v23448 + 1) & 3));
{
word pd100;
pd100 = (* (( (ptr) (* (( (ptr) gf←c102056)+302)/* var←c92200 */ ))+5) );
newSeg←v23492 = (word) ( *( (fPt) ((* (ptr) pd100 ))))(var←c92136, var←c92168, 0, pd100);
};
};
SOURCE(7752, 24)
(* (( (ptr) newSeg←v23492)+2) ) = (* (ptr) &fc101 );
SOURCE(7778, 24)
(* (( (ptr) newSeg←v23492)+3) ) = 2;
SOURCE(7804, 21)
(* (( (ptr) newSeg←v23492)+4) ) = 0;
SOURCE(7827, 27)
(* (( (ptr) newSeg←v23492)+8) ) = (* (ptr) (* (( (ptr) (* (( (ptr) gf←c102056)+303)/* var←c92232 */ ))+54) ) );
SOURCE(7856, 28)
(* ((( (ptr) boxData←v23260)+36)+BCK(i←v23448, 4)) ) = newSeg←v23492;
};
if ((i←v23448 >= 3)) {
goto lab←L100000;
};
i←v23448 = (i←v23448 + 1);
goto lab←L100003;
lab←L100000: ;
};
SOURCE(7950, 225)
{
word var←c92264;
word var←c92296;
word var←c92360;
word var←c92392;
{
word pd102;
pd102 = (* (( (ptr) (* (( (ptr) gf←c102056)+300)/* var←c91944 */ ))+7) );
var←c92264 = (word) ( *( (fPt) ((* (ptr) pd102 ))))((* ((( (ptr) gf←c102056)+30)) ), pd102);
};
{
word pd103;
pd103 = (* (( (ptr) (* (( (ptr) gf←c102056)+304)/* var←c92328 */ ))+6) );
var←c92296 = (word) ( *( (fPt) ((* (ptr) pd103 ))))(pd103);
};
{
word pd104;
pd104 = (* (( (ptr) (* (( (ptr) gf←c102056)+304)/* var←c92328 */ ))+6) );
var←c92360 = (word) ( *( (fPt) ((* (ptr) pd104 ))))(pd104);
};
var←c92392 = XR←NewObject(92, (* (( (ptr) gf←c102056)+29) ));
(* (ptr) var←c92392 ) = var←c92264;
(* (( (ptr) var←c92392)+1) ) = boxData←v23260;
(* (W4Pt) (( (ptr) var←c92392)+3) ) = (* (W4Pt) (( (ptr) gf←c102056)+279)/* var←c91592 */ );
(* (( (ptr) var←c92392)+13) ) = var←c92296;
(* (( (ptr) var←c92392)+15) ) = var←c92360;
(* (( (ptr) var←c92392)+21) ) = (word) -1;
boxSlice←v23204 = var←c92392;
};
SOURCE(8177, 68)
{
word pd105;
pd105 = (* (( (ptr) (* (( (ptr) gf←c102056)+300)/* var←c91944 */ ))+8) );
(* (( (ptr) boxSlice←v23204)+11) ) = (word) ( *( (fPt) ((* (ptr) pd105 ))))(boxSlice←v23204, 0, pd105);
};
SOURCE(8247, 34)
(void) BoxSetSegments←P600(boxSlice←v23204, boxParts←v23288);
SOURCE(8338, 56)
{
word pd106;
pd106 = (* (( (ptr) (* (( (ptr) gf←c102056)+300)/* var←c91944 */ ))+8) );
sliceD←v9480 = (word) ( *( (fPt) ((* (ptr) pd106 ))))(boxSlice←v23204, boxParts←v23288, pd106);
};
SOURCE(6814, 1580)
return(sliceD←v9480);
}
static word MakeBoxFromMaskPixel←P180(pa←v9540, color←v9568, router←v9596, transform←v9624)
word pa←v9540;
word color←v9568;
word router←v9596;
word transform←v9624;
{
register ptr gf←c102088 = (ptr) &globalframe;
word slice←v9668;
word boxData←v23536 = 0;
word boundBox←v23564;
/* MakeBoxFromMaskPixel: */
SOURCE(8400, 424)
SOURCE(8400, 424)
slice←v9668 = 0;
SOURCE(8569, 56)
{
word pd107;
pd107 = (* (( (ptr) (* (( (ptr) gf←c102088)+304)/* var←c92328 */ ))+12) );
boundBox←v23564 = (word) ( *( (fPt) ((* (ptr) pd107 ))))(pa←v9540, pd107);
};
SOURCE(8628, 53)
slice←v9668 = (* (ptr) MakeBoxSlice←P120(boundBox←v23564, 0, transform←v9624) );
SOURCE(8683, 28)
boxData←v23536 = XR←Narrow((* (( (ptr) slice←v9668)+1) ), (* (( (ptr) gf←c102088)+25) ));
SOURCE(8713, 27)
(* (( (ptr) boxData←v23536)+6) ) = pa←v9540;
SOURCE(8742, 25)
(* (( (ptr) boxData←v23536)+5) ) = color←v9568;
SOURCE(8769, 55)
{
register word i←v23608 = 0;
lab←L100007: ;
SOURCE(8793, 31)
(* (( (ptr) (* ((( (ptr) boxData←v23536)+36)+BCK(i←v23608, 4)) ))+8) ) = 0;
if ((i←v23608 >= 3)) {
goto lab←L100004;
};
i←v23608 = (i←v23608 + 1);
goto lab←L100007;
lab←L100004: ;
};
SOURCE(8400, 424)
return(slice←v9668);
}
static word BoxFetchSegment←P240(slice←v9728, index←v9756)
word slice←v9728;
word index←v9756;
{
register ptr gf←c102120 = (ptr) &globalframe;
word seg←v9800;
word boxData←v23652;
/* BoxFetchSegment: */
SOURCE(8839, 151)
SOURCE(8839, 151)
seg←v9800 = 0;
SOURCE(8922, 37)
boxData←v23652 = XR←Narrow((* (( (ptr) slice←v9728)+1) ), (* (( (ptr) gf←c102120)+25) ));
SOURCE(8961, 29)
seg←v9800 = (* ((( (ptr) boxData←v23652)+36)+BCK(index←v9756, 4)) );
SOURCE(8839, 151)
return(seg←v9800);
}
static void SetBoxText←P300(slice←v9860, loc←v9888, screenStyle←v9916, history←v9944)
word slice←v9860;
W2 loc←v9888;
word screenStyle←v9916;
word history←v9944;
{
register ptr gf←c102152 = (ptr) &globalframe;
W3 nilFormattedNodes←v23696;
/* SetBoxText: */
SOURCE(8996, 1004)
SOURCE(9113, 63)
nilFormattedNodes←v23696.f0 = 0;
nilFormattedNodes←v23696.f1 = 0;
nilFormattedNodes←v23696.f2 = 0;
SOURCE(9178, 822)
{
word var←c92488;
{
word pd108;
pd108 = (* (( (ptr) (* (( (ptr) gf←c102152)+305)/* var←c92456 */ ))+6) );
var←c92488 = (word) ( *( (fPt) ((* (ptr) pd108 ))))(slice←v9860, pd108);
};
if ((var←c92488 == (* (( (ptr) gf←c102152)+30) ))) {
SOURCE(9224, 778)
{
word boxData←v23740;
word box←v23768;
SOURCE(9226, 37)
boxData←v23740 = XR←Narrow((* (( (ptr) slice←v9860)+1) ), (* (( (ptr) gf←c102152)+25) ));
SOURCE(9265, 27)
box←v23768 = (* (ptr) boxData←v23740 );
SOURCE(9294, 607)
if ((0 != (word) IsChildOfOutline←P660(slice←v9860))) {
SOURCE(9384, 175)
{
W3 var←c92520;
if ((loc←v9888.f0 != 0)) {
{
W3 var←c0179;
{
W2 var←c92552;
{
/*1*/ word x109;
/*1*/ word x110;
/*1*/ *(float*)&var←c92552.f0 = (
/*1*/ x109 = (* (( (ptr) box←v23768)+2) ), *(float*)&x109
/*1*/ ) - (
/*1*/ x110 = (* (ptr) box←v23768 ), *(float*)&x110
/*1*/ );
/*1*/ };
{
/*1*/ word x111;
/*1*/ word x112;
/*1*/ *(float*)&var←c92552.f1 = (
/*1*/ x111 = (* (( (ptr) box←v23768)+3) ), *(float*)&x111
/*1*/ ) - (
/*1*/ x112 = (* (( (ptr) box←v23768)+1) ), *(float*)&x112
/*1*/ );
/*1*/ };
{
/*1*/ word pd113;
/*1*/ pd113 = (* (( (ptr) (* (( (ptr) gf←c102152)+306)/* var←c92584 */ ))+5) );
/*1*/ (void) ( *( (fPt) ((* (ptr) pd113 ))))((word) &var←c0179, loc←v9888, var←c92552, ( (0 != screenStyle←v9916) ? 0 : 1 ) , 0, 0, pd113)
/*1*/ ;
/*1*/ };
};
var←c92520 = var←c0179;
};
}
else {
var←c92520 = nilFormattedNodes←v23696;
};
(* (W3Pt) (( (ptr) boxData←v23740)+9) ) = var←c92520;
};
}
else {
SOURCE(9568, 335)
{
word firstChildNode←v23812;
SOURCE(9642, 60)
{
word pd114;
pd114 = (* (( (ptr) (* (( (ptr) gf←c102152)+307)/* var←c92616 */ ))+28) );
firstChildNode←v23812 = (word) ( *( (fPt) ((* (ptr) pd114 ))))(loc←v9888.f0, pd114);
};
SOURCE(9704, 197)
{
W3 var←c92648;
if ((firstChildNode←v23812 != 0)) {
{
W3 var←c0184;
{
/*1*/ W2 var←c92680;
/*1*/ W2 var←c92712;
/*1*/ var←c92680.f0 = firstChildNode←v23812;
/*1*/ var←c92680.f1 = 0;
/*1*/ {
/*1*/ word x115;
/*1*/ word x116;
/*1*/ *(float*)&var←c92712.f0 = (
/*1*/ x115 = (* (( (ptr) box←v23768)+2) ), *(float*)&x115
/*1*/ ) - (
/*1*/ x116 = (* (ptr) box←v23768 ), *(float*)&x116
/*1*/ );
/*1*/ };
/*1*/ {
/*1*/ word x117;
/*1*/ word x118;
/*1*/ *(float*)&var←c92712.f1 = (
/*1*/ x117 = (* (( (ptr) box←v23768)+3) ), *(float*)&x117
/*1*/ ) - (
/*1*/ x118 = (* (( (ptr) box←v23768)+1) ), *(float*)&x118
/*1*/ );
/*1*/ };
/*1*/ {
/*1*/ word pd119;
/*1*/ pd119 = (* (( (ptr) (* (( (ptr) gf←c102152)+306)/* var←c92584 */ ))+5) );
/*1*/ (void) ( *( (fPt) ((* (ptr) pd119 ))))((word) &var←c0184, var←c92680, var←c92712, ( (0 != screenStyle←v9916) ? 0 : 1 ) , 0, 0, pd119)
/*1*/ ;
/*1*/ };
/*1*/ };
var←c92648 = var←c0184;
};
}
else {
var←c92648 = nilFormattedNodes←v23696;
};
(* (W3Pt) (( (ptr) boxData←v23740)+9) ) = var←c92648;
};
};
};
SOURCE(9906, 33)
(* (( (ptr) boxData←v23740)+12) ) = screenStyle←v9916;
SOURCE(9941, 35)
(* (( (ptr) boxData←v23740)+13) ) = screenStyle←v9916;
SOURCE(9978, 22)
(* (W2Pt) (( (ptr) boxData←v23740)+7) ) = loc←v9888;
};
}
else {
};
};
}
static void GetBoxText←P360(formal←c0191, slice←v10004)
word formal←c0191;
word slice←v10004;
{
register ptr gf←c102184 = (ptr) &globalframe;
W2 loc←v10048;
word screenStyle←v10076;
/* GetBoxText: */
SOURCE(10076, 393)
SOURCE(10076, 393)
loc←v10048.f0 = 0;
loc←v10048.f1 = 0;
SOURCE(10076, 393)
screenStyle←v10076 = 0;
SOURCE(10179, 290)
{
word var←c92744;
{
word pd120;
pd120 = (* (( (ptr) (* (( (ptr) gf←c102184)+305)/* var←c92456 */ ))+6) );
var←c92744 = (word) ( *( (fPt) ((* (ptr) pd120 ))))(slice←v10004, pd120);
};
if ((var←c92744 == (* (( (ptr) gf←c102184)+30) ))) {
SOURCE(10225, 100)
{
word boxData←v23856;
SOURCE(10227, 37)
boxData←v23856 = XR←Narrow((* (( (ptr) slice←v10004)+1) ), (* (( (ptr) gf←c102184)+25) ));
SOURCE(10266, 22)
loc←v10048 = (* (W2Pt) (( (ptr) boxData←v23856)+7) );
SOURCE(10290, 33)
screenStyle←v10076 = (* (( (ptr) boxData←v23856)+12) );
};
}
else {
if ((var←c92744 == (* (( (ptr) gf←c102184)+31) ))) {
SOURCE(10340, 131)
{
word outlineData←v23900;
SOURCE(10342, 55)
outlineData←v23900 = XR←Narrow((* (( (ptr) slice←v10004)+1) ), (* (( (ptr) gf←c102184)+17) ));
SOURCE(10399, 31)
loc←v10048.f0 = (* (( (ptr) outlineData←v23900)+2) );
loc←v10048.f1 = 0;
SOURCE(10432, 37)
screenStyle←v10076 = (* (( (ptr) outlineData←v23900)+3) );
};
};
};
};
/* removed tail goto */
(* (W2Pt) formal←c0191 ) = loc←v10048;
(* (( (ptr) formal←c0191)+2) ) = screenStyle←v10076;
return;
}
static void GetBoxNodes←P420(formal←c0196, slice←v10136)
word formal←c0196;
word slice←v10136;
{
register ptr gf←c102216 = (ptr) &globalframe;
W3 nodes←v10180;
/* GetBoxNodes: */
SOURCE(10487, 203)
SOURCE(10487, 203)
nodes←v10180.f0 = 0;
nodes←v10180.f1 = 0;
nodes←v10180.f2 = 0;
SOURCE(10575, 115)
{
word var←c92776;
var←c92776 = (* (( (ptr) slice←v10136)+1) );
if ((var←c92776 == 0)) {
goto lab←L100010;
};
if (((* (( (ptr) gf←c102216)+25) ) == XR←GetReferentType(var←c92776))) {
{
word boxData←v23944;
boxData←v23944 = var←c92776;
SOURCE(10623, 30)
nodes←v10180 = (* (W3Pt) (( (ptr) boxData←v23944)+9) );
};
}
else {
lab←L100010: ;
SOURCE(10666, 24)
nodes←v10180.f0 = 0;
nodes←v10180.f1 = 0;
nodes←v10180.f2 = 0;
};
};
/* removed tail goto */
(* (W3Pt) formal←c0196 ) = nodes←v10180;
return;
}
static word BoxMaxStrokeWidth←P480(boxData←v10240)
word boxData←v10240;
{
word maxWidth←v10284;
/* BoxMaxStrokeWidth: */
SOURCE(10696, 197)
SOURCE(10768, 42)
maxWidth←v10284 = (* (( (ptr) (* (( (ptr) boxData←v10240)+36) ))+2) );
SOURCE(10812, 81)
{
register word i←v23988 = 1;
lab←L100014: ;
SOURCE(10836, 57)
{
word x121;
float tf122;
float tf123;
word x124;
float tf125;
maxWidth←v10284 = (
tf125 = FMAX((
x121 = maxWidth←v10284, *(float*)&x121
), (
x124 = (* (( (ptr) (* ((( (ptr) boxData←v10240)+36)+BCK(i←v23988, 4)) ))+2) ), *(float*)&x124
), tf122, tf123), *(word*)&tf125
);
};
if ((i←v23988 >= 3)) {
goto lab←L100011;
};
i←v23988 = (i←v23988 + 1);
goto lab←L100014;
lab←L100011: ;
};
SOURCE(10696, 197)
return(maxWidth←v10284);
}
static void BoxPointFromIndex←P540(formal←c0210, box←v10344, index←v10372)
word formal←c0210;
word box←v10344;
word index←v10372;
{
W2 point←v10436;
/* BoxPointFromIndex: */
SOURCE(10908, 237)
SOURCE(10990, 155)
{
word var←c92808;
var←c92808 = index←v10372;
switch (var←c92808) {
case 0:
point←v10436.f0 = (* (ptr) box←v10344 );
point←v10436.f1 = (* (( (ptr) box←v10344)+1) );
break;
case 1:
point←v10436.f0 = (* (ptr) box←v10344 );
point←v10436.f1 = (* (( (ptr) box←v10344)+3) );
break;
case 2:
point←v10436.f0 = (* (( (ptr) box←v10344)+2) );
point←v10436.f1 = (* (( (ptr) box←v10344)+3) );
break;
case 3:
point←v10436.f0 = (* (( (ptr) box←v10344)+2) );
point←v10436.f1 = (* (( (ptr) box←v10344)+1) );
break;
default:
point←v10436.f0 = (* (ptr) &fc126 );
point←v10436.f1 = (* (ptr) &fc126 );
break;
};
};
/* removed tail goto */
(* (W2Pt) formal←c0210 ) = point←v10436;
return;
}
static void BoxSetSegments←P600(slice←v10496, parts←v10524)
word slice←v10496;
word parts←v10524;
{
register ptr gf←c102248 = (ptr) &globalframe;
word boxData←v24032;
/* BoxSetSegments: */
SOURCE(11151, 431)
SOURCE(11224, 37)
boxData←v24032 = XR←Narrow((* (( (ptr) slice←v10496)+1) ), (* (( (ptr) gf←c102248)+25) ));
SOURCE(11263, 319)
{
register word i←v24076 = 0;
lab←L100019: ;
{
W2 lo←v24120;
W2 hi←v24148;
SOURCE(11287, 45)
(void) BoxPointFromIndex←P540((word) &lo←v24120, (* (ptr) boxData←v24032 ), BCK(i←v24076, 4));
SOURCE(11334, 55)
(void) BoxPointFromIndex←P540((word) &hi←v24148, (* (ptr) boxData←v24032 ), ((i←v24076 + 1) & 3));
SOURCE(11391, 94)
if ( ! XR←EqualWords(&lo←v24120, (( (ptr) (* ((( (ptr) boxData←v24032)+36)+BCK(i←v24076, 4)) ))+9), 2)) {
SOURCE(11425, 60)
{
word pd127;
pd127 = (* (( (ptr) (* (( (ptr) gf←c102248)+302)/* var←c92200 */ ))+28) );
(void) ( *( (fPt) ((* (ptr) pd127 ))))((* ((( (ptr) boxData←v24032)+36)+BCK(i←v24076, 4)) ), 1, lo←v24120, pd127);
};
};
SOURCE(11487, 95)
if ( ! XR←EqualWords(&hi←v24148, (( (ptr) (* ((( (ptr) boxData←v24032)+36)+BCK(i←v24076, 4)) ))+11), 2)) {
SOURCE(11521, 61)
{
word pd128;
pd128 = (* (( (ptr) (* (( (ptr) gf←c102248)+302)/* var←c92200 */ ))+28) );
(void) ( *( (fPt) ((* (ptr) pd128 ))))((* ((( (ptr) boxData←v24032)+36)+BCK(i←v24076, 4)) ), 0, hi←v24148, pd128);
};
};
};
if ((i←v24076 >= 3)) {
goto lab←L100016;
};
i←v24076 = (i←v24076 + 1);
goto lab←L100019;
lab←L100016: ;
};
}
static word IsChildOfOutline←P660(slice←v10584)
word slice←v10584;
{
register ptr gf←c102280 = (ptr) &globalframe;
word var←c10628;
/* IsChildOfOutline: */
SOURCE(11597, 154)
SOURCE(11654, 97)
{
word var←c01478;
{
word pd129;
pd129 = (* (( (ptr) (* (( (ptr) gf←c102280)+308)/* var←c93064 */ ))+39) );
if ((0 == (word) ( *( (fPt) ((* (ptr) pd129 ))))(slice←v10584, pd129))) {
{
word var←c93096;
word var←c01477;
{
word pd130;
pd130 = (* (( (ptr) (* (( (ptr) gf←c102280)+309)/* var←c93128 */ ))+64) );
var←c93096 = (word) ( *( (fPt) ((* (ptr) pd130 ))))(slice←v10584, pd130);
};
{
word pd131;
pd131 = (* (( (ptr) (* (( (ptr) gf←c102280)+305)/* var←c92456 */ ))+6) );
var←c01477 = (word) ( *( (fPt) ((* (ptr) pd131 ))))(var←c93096, pd131);
};
var←c01478 = (unsigned) (var←c01477 == (* (( (ptr) gf←c102280)+31) ));
};
}
else {
var←c01478 = (unsigned) 0;
};
};
return(var←c01478);
};
}
static void BoxGetBoundBoxAux←P720(formal←c0229, slice←v10688, parts←v10716)
word formal←c0229;
word slice←v10688;
word parts←v10716;
{
W6 var←c102312;
register ptr gf←c102344 = (ptr) &globalframe;
word tightBox←v10760;
word boundBox←v10788;
/* declaration of var←c93160 skipped */
/* BoxGetBoundBoxAux: */
SOURCE(11788, 2050)
{
word tmpAddr132;
tmpAddr132 = (word) (( (ptr) &var←c102312)+4)/* var←c93160 */ ;
(* (ptr) tmpAddr132 ) = ( ((word) (fPt) BoxFindBoundBox←P6024) );
(* (( (ptr) tmpAddr132) + 1) ) = 1;
};
SOURCE(11788, 2050)
tightBox←v10760 = 0;
SOURCE(11788, 2050)
boundBox←v10788 = 0;
SOURCE(13521, 52)
{
W2 var←c93192;
(void) BoxFindBoundBox←P6024((word) &var←c93192, slice←v10688, parts←v10716, (word) (( (bPt) &var←c102312)+16)/* var←c93160 */ )
;
boundBox←v10788 = var←c93192.f1;
tightBox←v10760 = var←c93192.f0;
};
SOURCE(13602, 236)
if ((parts←v10716 == 0)) {
SOURCE(13669, 34)
{
word pd133;
pd133 = (* (( (ptr) (* (( (ptr) gf←c102344)+300)/* var←c91944 */ ))+68) );
(void) ( *( (fPt) ((* (ptr) pd133 ))))((* ((( (ptr) slice←v10688)+2)) ), pd133);
};
SOURCE(13735, 25)
(* (( (ptr) slice←v10688)+15) ) = boundBox←v10788;
SOURCE(13762, 25)
(* (( (ptr) slice←v10688)+13) ) = tightBox←v10760;
SOURCE(13789, 21)
(* (( (ptr) slice←v10688)+16) ) = 1;
SOURCE(13812, 26)
(* (( (ptr) slice←v10688)+14) ) = 1;
};
/* removed tail goto */
(* (ptr) formal←c0229 ) = tightBox←v10760;
(* (( (ptr) formal←c0229)+1) ) = boundBox←v10788;
return;
}
static void BoxFindBoundBox←P6024(formal←c0253, slice←v24268, parts←v24296, formal←c102408)
word formal←c0253;
word slice←v24268;
word parts←v24296;
word formal←c102408;
{
register ptr gf←c102376 = (ptr) &globalframe;
word tightBox←v24340;
word boundBox←v24368;
word strokeWidth←v24396;
word pad←v24424;
word boxData←v24452;
word boxParts←v24480;
formal←c102408 = (formal←c102408 - 16);
/* BoxFindBoundBox: */
SOURCE(11889, 1626)
SOURCE(11889, 1626)
tightBox←v24340 = 0;
SOURCE(11889, 1626)
boundBox←v24368 = 0;
SOURCE(11988, 57)
{
word var←c93224;
var←c93224 = XR←Narrow((* (( (ptr) slice←v24268)+1) ), (* (( (ptr) gf←c102376)+25) ));
strokeWidth←v24396 = (word) BoxMaxStrokeWidth←P480(var←c93224);
};
SOURCE(12047, 40)
{
word x134;
word x136;
word x138;
*(float*)&pad←v24424 = ((
x134 = strokeWidth←v24396, *(float*)&x134
) * (
x136 = (* (ptr) &fc135 ), *(float*)&x136
)) + (
x138 = (* (ptr) &fc137 ), *(float*)&x138
);
};
SOURCE(12139, 37)
boxData←v24452 = XR←Narrow((* (( (ptr) slice←v24268)+1) ), (* (( (ptr) gf←c102376)+25) ));
SOURCE(12178, 34)
boxParts←v24480 = XR←Narrow(parts←v24296, (* (( (ptr) gf←c102376)+28) ));
{
W2 var←c0239;
word var←c01479;
W2 var←c0240;
word var←c01480;
SOURCE(12214, 61)
if ( ( (boxParts←v24480 != 0) ? (0 != (word) IsEmpty←P2580(boxParts←v24480)) : 0 ) ) {
SOURCE(12259, 16)
tightBox←v24340 = 0;
boundBox←v24368 = 0;
goto lab←L100021;
};
SOURCE(12277, 1104)
if ((boxParts←v24480 == 0)) { goto then0139;};
if ((0 != (* (( (ptr) boxParts←v24480)+8) ))) { goto then0139;};
(void) CountCorners←P2640((word) &var←c0239, (* (W4Pt) boxParts←v24480 ));
var←c01479 = var←c0239.f0;
if (( (int)var←c01479 > (int)2)) { goto then0139;};
(void) CountEdges←P2700((word) &var←c0240, (* (W4Pt) (( (ptr) boxParts←v24480)+4) ));
var←c01480 = var←c0240.f0;
if (( (int)var←c01480 > (int)1)) {
then0139: ;
SOURCE(12429, 72)
{
word pd140;
pd140 = (* (( (ptr) (* (( (ptr) gf←c102376)+304)/* var←c92328 */ ))+9) );
tightBox←v24340 = (word) ( *( (fPt) ((* (ptr) pd140 ))))((* (ptr) boxData←v24452 ), (* (( (ptr) boxData←v24452)+1) ), pd140)
;
};
}
else {
SOURCE(12551, 477)
{
register word i←v24524 = 0;
lab←L100025: ;
SOURCE(12623, 405)
if ((0 != (* ((( (ptr) boxParts←v24480)+4)+BCK(i←v24524, 4)) ))) {
SOURCE(12649, 381)
{
W2 p1←v24568;
W2 p2←v24596;
SOURCE(12651, 36)
(void) BoxPoint←P3780((word) &p1←v24568, (* (ptr) boxData←v24452 ), i←v24524);
SOURCE(12689, 46)
(void) BoxPoint←P3780((word) &p2←v24596, (* (ptr) boxData←v24452 ), ((i←v24524 + 1) & 3));
SOURCE(12737, 58)
{
word pd141;
pd141 = (* (( (ptr) (* (( (ptr) gf←c102376)+301)/* var←c91976 */ ))+39) );
(void) ( *( (fPt) ((* (ptr) pd141 ))))((word) &p1←v24568, (* (( (ptr) boxData←v24452)+1) ), p1←v24568, pd141);
};
SOURCE(12797, 58)
{
word pd142;
pd142 = (* (( (ptr) (* (( (ptr) gf←c102376)+301)/* var←c91976 */ ))+39) );
(void) ( *( (fPt) ((* (ptr) pd142 ))))((word) &p2←v24596, (* (( (ptr) boxData←v24452)+1) ), p2←v24596, pd142);
};
SOURCE(12857, 171)
if ((tightBox←v24340 == 0)) {
SOURCE(12878, 111)
{
word pd143;
word x144;
float tf145;
float tf146;
word x147;
float tf148;
word x149;
float tf150;
float tf151;
word x152;
float tf153;
word x154;
float tf155;
float tf156;
word x157;
float tf158;
word x159;
float tf160;
float tf161;
word x162;
float tf163;
pd143 = (* (( (ptr) (* (( (ptr) gf←c102376)+304)/* var←c92328 */ ))+5) );
tightBox←v24340 = (word) ( *( (fPt) ((* (ptr) pd143 ))))((
/*1*/ tf148 = FMIN((
/*1*/ x144 = p1←v24568.f0, *(float*)&x144
/*1*/ ), (
/*1*/ x147 = p2←v24596.f0, *(float*)&x147
/*1*/ ), tf145, tf146), *(word*)&tf148
/*1*/ ), (
/*1*/ tf153 = FMIN((
/*1*/ x149 = p1←v24568.f1, *(float*)&x149
/*1*/ ), (
/*1*/ x152 = p2←v24596.f1, *(float*)&x152
/*1*/ ), tf150, tf151), *(word*)&tf153
/*1*/ ), (
/*1*/ tf158 = FMAX((
/*1*/ x154 = p1←v24568.f0, *(float*)&x154
/*1*/ ), (
/*1*/ x157 = p2←v24596.f0, *(float*)&x157
/*1*/ ), tf155, tf156), *(word*)&tf158
/*1*/ ), (
/*1*/ tf163 = FMAX((
/*1*/ x159 = p1←v24568.f1, *(float*)&x159
/*1*/ ), (
/*1*/ x162 = p2←v24596.f1, *(float*)&x162
/*1*/ ), tf160, tf161), *(word*)&tf163
/*1*/ ), 0, 0, pd143);
};
}
else {
SOURCE(12989, 39)
{
word var←c0248;
var←c0248 = (* (( (ptr) gf←c102376)+33) );
(void) (XR←RaiseSignal((* (( (ptr) gf←c102376)+4)/* Problem←v5660 */ ), 0, (word) &var←c0248));
};
};
};
};
if ((i←v24524 >= 3)) {
goto lab←L100022;
};
i←v24524 = (i←v24524 + 1);
goto lab←L100025;
lab←L100022: ;
};
SOURCE(13042, 339)
{
register word i←v24640 = 0;
lab←L100029: ;
SOURCE(13118, 263)
if ((0 != (* (( (ptr) boxParts←v24480)+BCK(i←v24640, 4)) ))) {
SOURCE(13146, 237)
{
W2 p1←v24684;
SOURCE(13148, 36)
(void) BoxPoint←P3780((word) &p1←v24684, (* (ptr) boxData←v24452 ), i←v24640);
SOURCE(13186, 58)
{
word pd164;
pd164 = (* (( (ptr) (* (( (ptr) gf←c102376)+301)/* var←c91976 */ ))+39) );
(void) ( *( (fPt) ((* (ptr) pd164 ))))((word) &p1←v24684, (* (( (ptr) boxData←v24452)+1) ), p1←v24684, pd164);
};
SOURCE(13246, 135)
if ((tightBox←v24340 == 0)) {
SOURCE(13267, 75)
{
word pd165;
word x166;
word x167;
float tf168;
word x169;
word x170;
float tf171;
pd165 = (* (( (ptr) (* (( (ptr) gf←c102376)+304)/* var←c92328 */ ))+5) );
tightBox←v24340 = (word) ( *( (fPt) ((* (ptr) pd165 ))))(p1←v24684.f0, p1←v24684.f1, (
/*1*/ tf168 = (
/*1*/ x166 = p1←v24684.f0, *(float*)&x166
/*1*/ ) + (
/*1*/ x167 = (* (ptr) &fc137 ), *(float*)&x167
/*1*/ ), *(word*)&tf168
/*1*/ ), (
/*1*/ tf171 = (
/*1*/ x169 = p1←v24684.f1, *(float*)&x169
/*1*/ ) + (
/*1*/ x170 = (* (ptr) &fc137 ), *(float*)&x170
/*1*/ ), *(word*)&tf171
/*1*/ ), 0, 0, pd165);
};
}
else {
SOURCE(13342, 39)
{
word pd172;
pd172 = (* (( (ptr) (* (( (ptr) gf←c102376)+304)/* var←c92328 */ ))+15) );
(void) ( *( (fPt) ((* (ptr) pd172 ))))(tightBox←v24340, p1←v24684, pd172);
};
};
};
};
if ((i←v24640 >= 3)) {
goto lab←L100026;
};
i←v24640 = (i←v24640 + 1);
goto lab←L100029;
lab←L100026: ;
};
};
SOURCE(13398, 44)
{
word pd173;
pd173 = (* (( (ptr) (* (( (ptr) gf←c102376)+304)/* var←c92328 */ ))+7) );
boundBox←v24368 = (word) ( *( (fPt) ((* (ptr) pd173 ))))(tightBox←v24340, pd173);
};
SOURCE(13444, 41)
{
word pd174;
pd174 = (* (( (ptr) (* (( (ptr) gf←c102376)+304)/* var←c92328 */ ))+17) );
(void) ( *( (fPt) ((* (ptr) pd174 ))))(boundBox←v24368, pad←v24424, pd174);
};
SOURCE(13487, 28)
(void) BoxSetSegments←P600(slice←v24268, parts←v24296);
};
/* removed tail goto */
lab←L100021: ;
(* (ptr) formal←c0253 ) = tightBox←v24340;
(* (( (ptr) formal←c0253)+1) ) = boundBox←v24368;
return;
}
static word BoxGetBoundBox←P780(slice←v10848, parts←v10876)
word slice←v10848;
word parts←v10876;
{
word box←v10920;
/* BoxGetBoundBox: */
SOURCE(13847, 205)
SOURCE(13847, 205)
box←v10920 = 0;
SOURCE(13930, 59)
if ( ( (0 != (* (( (ptr) slice←v10848)+16) )) ? (parts←v10876 == 0) : 0 ) ) {
SOURCE(13967, 22)
return((* (( (ptr) slice←v10848)+15) ));
};
SOURCE(14004, 48)
{
word var←c01481;
W2 var←c0257;
(void) BoxGetBoundBoxAux←P720((word) &var←c0257, slice←v10848, parts←v10876);
var←c01481 = var←c0257.f1;
return(var←c01481);
};
}
static word BoxGetTightBox←P840(slice←v10980, parts←v11008)
word slice←v10980;
word parts←v11008;
{
word box←v11052;
/* BoxGetTightBox: */
SOURCE(14086, 205)
SOURCE(14086, 205)
box←v11052 = 0;
SOURCE(14169, 59)
if ( ( (0 != (* (( (ptr) slice←v10980)+16) )) ? (parts←v11008 == 0) : 0 ) ) {
SOURCE(14206, 22)
return((* (( (ptr) slice←v10980)+13) ));
};
SOURCE(14243, 48)
{
word var←c01482;
W2 var←c0261;
(void) BoxGetBoundBoxAux←P720((word) &var←c0261, slice←v10980, parts←v11008);
var←c01482 = var←c0261.f0;
return(var←c01482);
};
}
static word BoxCopy←P900(slice←v11112, parts←v11140)
word slice←v11112;
word parts←v11140;
{
register ptr gf←c102440 = (ptr) &globalframe;
word copy←v11184;
word copySlice←v24728 = 0;
word copyData←v24756 = 0;
word boxData←v24784;
word box←v24812;
word transform←v24840;
/* BoxCopy: */
SOURCE(14325, 1100)
SOURCE(14325, 1100)
copy←v11184 = 0;
SOURCE(14450, 37)
boxData←v24784 = XR←Narrow((* (( (ptr) slice←v11112)+1) ), (* (( (ptr) gf←c102440)+25) ));
SOURCE(14489, 52)
{
word pd175;
pd175 = (* (( (ptr) (* (( (ptr) gf←c102440)+304)/* var←c92328 */ ))+7) );
box←v24812 = (word) ( *( (fPt) ((* (ptr) pd175 ))))((* (ptr) (boxData←v24784) ), pd175);
};
SOURCE(14543, 72)
{
word pd176;
pd176 = (* (( (ptr) (* (( (ptr) gf←c102440)+301)/* var←c91976 */ ))+6) );
transform←v24840 = (word) ( *( (fPt) ((* (ptr) pd176 ))))((* ((( (ptr) boxData←v24784)+1)) ), pd176);
};
SOURCE(14617, 50)
copySlice←v24728 = (* (ptr) MakeBoxSlice←P120(box←v24812, 3, transform←v24840) );
SOURCE(14693, 33)
copyData←v24756 = XR←Narrow((* (( (ptr) copySlice←v24728)+1) ), (* (( (ptr) gf←c102440)+25) ));
SOURCE(14728, 163)
{
register word i←v24884 = 0;
lab←L100033: ;
SOURCE(14753, 70)
{
word var←c93320;
{
word pd177;
pd177 = (* (( (ptr) (* (( (ptr) gf←c102440)+302)/* var←c92200 */ ))+17) );
var←c93320 = (word) ( *( (fPt) ((* (ptr) pd177 ))))((* (((( (ptr) boxData←v24784)+36)+BCK(i←v24884, 4))) ), pd177);
};
(* ((( (ptr) copyData←v24756)+36)+BCK(i←v24884, 4)) ) = var←c93320;
};
SOURCE(14825, 66)
(* (( (W4Pt) (( (ptr) copyData←v24756)+16))+BCK(i←v24884, 5)) ) = (* (( (W4Pt) (( (ptr) boxData←v24784)+16))+BCK(i←v24884, 5)
) );
if ((i←v24884 >= 3)) {
goto lab←L100030;
};
i←v24884 = (i←v24884 + 1);
goto lab←L100033;
lab←L100030: ;
};
SOURCE(14902, 66)
(* (W4Pt) (( (ptr) copyData←v24756)+32) ) = (* (W4Pt) (( (ptr) boxData←v24784)+32) );
SOURCE(14970, 34)
(* (( (ptr) copyData←v24756)+15) ) = (* (( (ptr) boxData←v24784)+15) );
SOURCE(15006, 59)
{
word pd178;
pd178 = (* (( (ptr) (* (( (ptr) gf←c102440)+310)/* var←c93352 */ ))+38) );
(* (( (ptr) copyData←v24756)+5) ) = (word) ( *( (fPt) ((* (ptr) pd178 ))))((* ((( (ptr) boxData←v24784)+5)) ), pd178);
};
SOURCE(15067, 48)
(* (( (ptr) copyData←v24756)+6) ) = (* (( (ptr) boxData←v24784)+6) );
SOURCE(15117, 42)
(* (( (ptr) copyData←v24756)+14) ) = (* (( (ptr) boxData←v24784)+14) );
SOURCE(15161, 101)
if ((0 == (word) IsChildOfOutline←P660(slice←v11112))) {
SOURCE(15197, 65)
(void) SetBoxText←P300(copySlice←v24728, (* (W2Pt) (( (ptr) boxData←v24784)+7) ), (* (( (ptr) boxData←v24784)+12) ), 0);
};
SOURCE(15347, 53)
{
word pd179;
pd179 = (* (( (ptr) (* (( (ptr) gf←c102440)+311)/* var←c93384 */ ))+10) );
(void) ( *( (fPt) ((* (ptr) pd179 ))))(slice←v11112, copySlice←v24728, 0, 0, pd179);
};
SOURCE(15402, 23)
{
word var←c93448;
word var←c93480;
var←c93448 = XR←NewObject(8, (* (( (ptr) gf←c102440)+16) ));
var←c93480 = var←c93448;
(* (ptr) var←c93480 ) = copySlice←v24728;
return(var←c93448);
};
}
static void BoxRestore←P960(from←v11328, to←v11356)
word from←v11328;
word to←v11356;
{
register ptr gf←c102472 = (ptr) &globalframe;
/* BoxRestore: */
SOURCE(15431, 1355)
SOURCE(15477, 27)
if ((to←v11356 == 0) || (from←v11328 == 0)) {
SOURCE(15504, 5)
(void) XR←RaiseUnnamedError();
};
SOURCE(15511, 28)
if (((* (ptr) to←v11356 ) != (* (ptr) from←v11328 ))) {
SOURCE(15539, 5)
(void) XR←RaiseUnnamedError();
};
SOURCE(15546, 27)
if (((* (ptr) (* (ptr) to←v11356 ) ) != (* (( (ptr) gf←c102472)+30) ))) {
SOURCE(15573, 5)
(void) XR←RaiseUnnamedError();
};
SOURCE(15580, 1208)
{
word fromData←v24928;
word toData←v24956;
SOURCE(15586, 37)
fromData←v24928 = XR←Narrow((* (( (ptr) from←v11328)+1) ), (* (( (ptr) gf←c102472)+25) ));
SOURCE(15625, 33)
toData←v24956 = XR←Narrow((* (( (ptr) to←v11356)+1) ), (* (( (ptr) gf←c102472)+25) ));
SOURCE(15661, 595)
if ((0 != (* (ptr) (* (( (ptr) (* (( (ptr) gf←c102472)+300)/* var←c91944 */ ))+67) ) ))) {
SOURCE(15691, 27)
(* (W6Pt) (* (ptr) toData←v24956 ) ) = (* (W6Pt) (* (ptr) fromData←v24928 ) );
SOURCE(15720, 37)
(* (( (ptr) toData←v24956)+1) ) = (* (( (ptr) fromData←v24928)+1) );
SOURCE(15759, 33)
(* (( (ptr) toData←v24956)+2) ) = (* (( (ptr) fromData←v24928)+2) );
SOURCE(15794, 43)
(* (W2Pt) (( (ptr) toData←v24956)+3) ) = (* (W2Pt) (( (ptr) fromData←v24928)+3) );
SOURCE(15839, 37)
(* (( (ptr) toData←v24956)+5) ) = (* (( (ptr) fromData←v24928)+5) );
SOURCE(15878, 35)
(* (W2Pt) (( (ptr) toData←v24956)+7) ) = (* (W2Pt) (( (ptr) fromData←v24928)+7) );
SOURCE(15915, 47)
(* (W3Pt) (( (ptr) toData←v24956)+9) ) = (* (W3Pt) (( (ptr) fromData←v24928)+9) );
SOURCE(15964, 41)
(* (( (ptr) toData←v24956)+12) ) = (* (( (ptr) fromData←v24928)+12) );
SOURCE(16007, 45)
(* (( (ptr) toData←v24956)+13) ) = (* (( (ptr) fromData←v24928)+13) );
SOURCE(16054, 41)
(* (( (ptr) toData←v24956)+14) ) = (* (( (ptr) fromData←v24928)+14) );
SOURCE(16097, 33)
(* (( (ptr) toData←v24956)+15) ) = (* (( (ptr) fromData←v24928)+15) );
SOURCE(16132, 59)
(* (W20Pt) (( (ptr) toData←v24956)+16) ) = (* (W20Pt) (( (ptr) fromData←v24928)+16) );
SOURCE(16193, 35)
(* (W4Pt) (( (ptr) toData←v24956)+36) ) = (* (W4Pt) (( (ptr) fromData←v24928)+36) );
}
else {
SOURCE(16237, 19)
(* (( (ptr) to←v11356)+1) ) = (* (( (ptr) from←v11328)+1) );
};
SOURCE(16259, 39)
(* (W4Pt) (( (ptr) to←v11356)+3) ) = (* (W4Pt) (( (ptr) from←v11328)+3) );
SOURCE(16318, 28)
(* (( (ptr) to←v11356)+7) ) = 0;
SOURCE(16372, 25)
(* (( (ptr) to←v11356)+8) ) = 0;
SOURCE(16423, 28)
(* (( (ptr) to←v11356)+9) ) = 0;
SOURCE(16477, 27)
(* (( (ptr) to←v11356)+10) ) = 0;
SOURCE(16530, 29)
(* (W6Pt) (* (( (ptr) to←v11356)+13) ) ) = (* (W6Pt) (* (( (ptr) from←v11328)+13) ) );
SOURCE(16561, 37)
(* (( (ptr) to←v11356)+14) ) = (* (( (ptr) from←v11328)+14) );
SOURCE(16600, 29)
(* (W6Pt) (* (( (ptr) to←v11356)+15) ) ) = (* (W6Pt) (* (( (ptr) from←v11328)+15) ) );
SOURCE(16631, 27)
(* (( (ptr) to←v11356)+16) ) = (* (( (ptr) from←v11328)+16) );
SOURCE(16660, 29)
(* (( (ptr) to←v11356)+17) ) = (* (( (ptr) from←v11328)+17) );
SOURCE(16691, 33)
(* (( (ptr) to←v11356)+18) ) = (* (( (ptr) from←v11328)+18) );
SOURCE(16726, 27)
(* (( (ptr) to←v11356)+19) ) = (* (( (ptr) from←v11328)+19) );
SOURCE(16755, 31)
(* (( (ptr) to←v11356)+20) ) = (* (( (ptr) from←v11328)+20) );
};
}
static void BoxBuildPath←P1020(slice←v11416, transformParts←v11444, transform←v11472, formal←c01516, formal←c01517, curveTo←v11556, conicTo←v11584, arcTo←v11612, editConstraints←v11640)
word slice←v11416;
word transformParts←v11444;
word transform←v11472;
word formal←c01516;
word formal←c01517;
word curveTo←v11556;
word conicTo←v11584;
word arcTo←v11612;
word editConstraints←v11640;
{
W12 var←c102504;
/* declaration of moveTo←v11500 skipped */
/* declaration of lineTo←v11528 skipped */
register ptr gf←c102536 = (ptr) &globalframe;
/* declaration of var←c93512 skipped */
/* declaration of point←v25028 skipped */
/* declaration of oppositePoint←v25056 skipped */
word boxData←v25084;
word boxTransformParts←v25112;
word box←v25140;
word transformEntire←v25168 = 0;
word none←v25196 = 0;
(* (( (ptr) &var←c102504)+4)/* moveTo←v11500 */ ) = formal←c01516;
(* (( (ptr) &var←c102504)+5)/* lineTo←v11528 */ ) = formal←c01517;
/* BoxBuildPath: */
SOURCE(16797, 1665)
{
word tmpAddr180;
tmpAddr180 = (word) (( (ptr) &var←c102504)+6)/* var←c93512 */ ;
(* (ptr) tmpAddr180 ) = ( ((word) (fPt) DoBoxPath←P6372) );
(* (( (ptr) tmpAddr180) + 1) ) = 1;
};
SOURCE(17985, 37)
boxData←v25084 = XR←Narrow((* (( (ptr) slice←v11416)+1) ), (* (( (ptr) gf←c102536)+25) ));
SOURCE(18024, 52)
boxTransformParts←v25112 = XR←Narrow(transformParts←v11444, (* (( (ptr) gf←c102536)+28) ));
SOURCE(18078, 27)
box←v25140 = (* (ptr) boxData←v25084 );
SOURCE(18145, 110)
{
W6 var←c93544;
(void) PointsForTransform←P1140((word) &var←c93544, box←v25140, boxData←v25084, boxTransformParts←v25112, transform←v11472)
;
none←v25196 = var←c93544.f5;
transformEntire←v25168 = var←c93544.f4;
(* (W2Pt) (( (ptr) &var←c102504)+10)/* oppositePoint←v25056 */ ) = (* (W2Pt) (( (ptr) &var←c93544)+2) );
(* (W2Pt) (( (ptr) &var←c102504)+8)/* point←v25028 */ ) = (* (W2Pt) &var←c93544 );
};
SOURCE(18257, 205)
if ((0 != transformEntire←v25168)) {
SOURCE(18281, 93)
(void) DoBoxPath←P6372(boxData←v25084, transform←v11472, 1, box←v25140, (word) (( (bPt) &var←c102504)+24)/* var←c93512 */ )
;
}
else {
SOURCE(18374, 88)
if ((0 != none←v25196)) {
SOURCE(18387, 40)
(void) DoBoxPath←P6372(boxData←v25084, 0, 1, box←v25140, (word) (( (bPt) &var←c102504)+24)/* var←c93512 */ );
}
else {
SOURCE(18427, 35)
(void) DoBoxPath←P6372(boxData←v25084, 0, 0, box←v25140, (word) (( (bPt) &var←c102504)+24)/* var←c93512 */ );
};
};
}
static void DoBoxPath←P6372(boxData←v25272, plusTransform←v25300, useBox←v25328, box←v25356, formal←c102600)
word boxData←v25272;
word plusTransform←v25300;
word useBox←v25328;
word box←v25356;
word formal←c102600;
{
register ptr gf←c102568 = (ptr) &globalframe;
W8 pts←v25384;
W2 boxLo←v25412;
W2 boxHi←v25440;
W2 tLL←v25468;
W2 tUR←v25496;
word fullTransform←v25524 = 0;
formal←c102600 = (formal←c102600 - 24);
/* DoBoxPath: */
SOURCE(17060, 890)
SOURCE(17248, 52)
if ((0 != useBox←v25328)) {
boxLo←v25412.f0 = (* (ptr) box←v25356 );
boxLo←v25412.f1 = (* (( (ptr) box←v25356)+1) );
}
else {
boxLo←v25412 = (* (W2Pt) (( (ptr) formal←c102600)+8) );
};
SOURCE(17302, 60)
if ((0 != useBox←v25328)) {
boxHi←v25440.f0 = (* (( (ptr) box←v25356)+2) );
boxHi←v25440.f1 = (* (( (ptr) box←v25356)+3) );
}
else {
boxHi←v25440 = (* (W2Pt) (( (ptr) formal←c102600)+10) );
};
SOURCE(17364, 132)
{
word pd181;
if ((plusTransform←v25300 == 0)) {
fullTransform←v25524 = (* (( (ptr) boxData←v25272)+1) );
}
else {
pd181 = (* (( (ptr) (* (( (ptr) gf←c102568)+301)/* var←c91976 */ ))+13) );
fullTransform←v25524 = (word) ( *( (fPt) ((* (ptr) pd181 ))))((* (( (ptr) boxData←v25272)+1) ), plusTransform←v25300, pd181)
;
};
};
SOURCE(17498, 53)
{
word x182;
float tf183;
float tf184;
word x185;
float tf186;
tLL←v25468.f0 = (
tf186 = FMIN((
x182 = boxLo←v25412.f0, *(float*)&x182
), (
x185 = boxHi←v25440.f0, *(float*)&x185
), tf183, tf184), *(word*)&tf186
);
};
{
word x187;
float tf188;
float tf189;
word x190;
float tf191;
tLL←v25468.f1 = (
tf191 = FMIN((
x187 = boxLo←v25412.f1, *(float*)&x187
), (
x190 = boxHi←v25440.f1, *(float*)&x190
), tf188, tf189), *(word*)&tf191
);
};
SOURCE(17553, 53)
{
word x192;
float tf193;
float tf194;
word x195;
float tf196;
tUR←v25496.f0 = (
tf196 = FMAX((
x192 = boxLo←v25412.f0, *(float*)&x192
), (
x195 = boxHi←v25440.f0, *(float*)&x195
), tf193, tf194), *(word*)&tf196
);
};
{
word x197;
float tf198;
float tf199;
word x200;
float tf201;
tUR←v25496.f1 = (
tf201 = FMAX((
x197 = boxLo←v25412.f1, *(float*)&x197
), (
x200 = boxHi←v25440.f1, *(float*)&x200
), tf198, tf199), *(word*)&tf201
);
};
SOURCE(17608, 38)
{
W2 var←c93640;
{
word pd202;
pd202 = (* (( (ptr) (* (( (ptr) gf←c102568)+301)/* var←c91976 */ ))+39) );
(void) ( *( (fPt) ((* (ptr) pd202 ))))((word) &var←c93640, fullTransform←v25524, tLL←v25468, pd202);
};
(* (W2Pt) &pts←v25384 ) = var←c93640;
};
SOURCE(17648, 50)
{
W2 var←c93672;
{
W2 var←c0313;
{
W2 var←c93704;
var←c93704.f0 = tLL←v25468.f0;
var←c93704.f1 = tUR←v25496.f1;
{
word pd203;
pd203 = (* (( (ptr) (* (( (ptr) gf←c102568)+301)/* var←c91976 */ ))+39) );
(void) ( *( (fPt) ((* (ptr) pd203 ))))((word) &var←c0313, fullTransform←v25524, var←c93704, pd203);
};
};
var←c93672 = var←c0313;
};
(* (W2Pt) (( (ptr) &pts←v25384)+2) ) = var←c93672;
};
SOURCE(17700, 38)
{
W2 var←c93736;
{
word pd204;
pd204 = (* (( (ptr) (* (( (ptr) gf←c102568)+301)/* var←c91976 */ ))+39) );
(void) ( *( (fPt) ((* (ptr) pd204 ))))((word) &var←c93736, fullTransform←v25524, tUR←v25496, pd204);
};
(* (W2Pt) (( (ptr) &pts←v25384)+4) ) = var←c93736;
};
SOURCE(17740, 50)
{
W2 var←c93768;
{
W2 var←c0318;
{
W2 var←c93800;
var←c93800.f0 = tUR←v25496.f0;
var←c93800.f1 = tLL←v25468.f1;
{
word pd205;
pd205 = (* (( (ptr) (* (( (ptr) gf←c102568)+301)/* var←c91976 */ ))+39) );
(void) ( *( (fPt) ((* (ptr) pd205 ))))((word) &var←c0318, fullTransform←v25524, var←c93800, pd205);
};
};
var←c93768 = var←c0318;
};
(* (W2Pt) (( (ptr) &pts←v25384)+6) ) = var←c93768;
};
SOURCE(17792, 158)
if ((0 != (* (( (ptr) boxData←v25272)+15) ))) {
SOURCE(17817, 14)
{
word pd206;
pd206 = (* (( (ptr) formal←c102600)+4) );
(void) ( *( (fPt) ((* (ptr) pd206 ))))((* (W2Pt) (&pts←v25384) ), pd206);
};
SOURCE(17833, 14)
{
word pd207;
pd207 = (* (( (ptr) formal←c102600)+5) );
(void) ( *( (fPt) ((* (ptr) pd207 ))))((* (W2Pt) ((( (ptr) &pts←v25384)+2)) ), pd207);
};
SOURCE(17849, 14)
{
word pd208;
pd208 = (* (( (ptr) formal←c102600)+5) );
(void) ( *( (fPt) ((* (ptr) pd208 ))))((* (W2Pt) ((( (ptr) &pts←v25384)+4)) ), pd208);
};
SOURCE(17865, 14)
{
word pd209;
pd209 = (* (( (ptr) formal←c102600)+5) );
(void) ( *( (fPt) ((* (ptr) pd209 ))))((* (W2Pt) ((( (ptr) &pts←v25384)+6)) ), pd209);
};
}
else {
SOURCE(17888, 14)
{
word pd210;
pd210 = (* (( (ptr) formal←c102600)+4) );
(void) ( *( (fPt) ((* (ptr) pd210 ))))((* (W2Pt) ((( (ptr) &pts←v25384)+6)) ), pd210);
};
SOURCE(17904, 14)
{
word pd211;
pd211 = (* (( (ptr) formal←c102600)+5) );
(void) ( *( (fPt) ((* (ptr) pd211 ))))((* (W2Pt) ((( (ptr) &pts←v25384)+4)) ), pd211);
};
SOURCE(17920, 14)
{
word pd212;
pd212 = (* (( (ptr) formal←c102600)+5) );
(void) ( *( (fPt) ((* (ptr) pd212 ))))((* (W2Pt) ((( (ptr) &pts←v25384)+2)) ), pd212);
};
SOURCE(17936, 14)
{
word pd213;
pd213 = (* (( (ptr) formal←c102600)+5) );
(void) ( *( (fPt) ((* (ptr) pd213 ))))((* (W2Pt) (&pts←v25384) ), pd213);
};
};
}
static void BoxDrawBorder←P1080(formal←c01518, drawParts←v11728, formal←c01519, formal←c01520, formal←c01521, camera←v11840, quick←v11868, editConstraints←v11896)
word formal←c01518;
word drawParts←v11728;
word formal←c01519;
word formal←c01520;
word formal←c01521;
word camera←v11840;
word quick←v11868;
word editConstraints←v11896;
{
W18 var←c102632;
/* declaration of slice←v11700 skipped */
/* declaration of transformParts←v11756 skipped */
/* declaration of transform←v11784 skipped */
/* declaration of dc←v11812 skipped */
register ptr gf←c102664 = (ptr) &globalframe;
/* declaration of var←c93832 skipped */
/* declaration of var←c93864 skipped */
/* declaration of point←v25660 skipped */
/* declaration of oppositePoint←v25688 skipped */
/* declaration of boxDrawParts←v25716 skipped */
/* declaration of drawAll←v25744 skipped */
(* (( (ptr) &var←c102632)+4)/* slice←v11700 */ ) = formal←c01518;
(* (( (ptr) &var←c102632)+5)/* transformParts←v11756 */ ) = formal←c01519;
(* (( (ptr) &var←c102632)+6)/* transform←v11784 */ ) = formal←c01520;
(* (( (ptr) &var←c102632)+7)/* dc←v11812 */ ) = formal←c01521;
/* BoxDrawBorder: */
SOURCE(18524, 2041)
{
word tmpAddr214;
tmpAddr214 = (word) (( (ptr) &var←c102632)+8)/* var←c93832 */ ;
(* (ptr) tmpAddr214 ) = ( ((word) (fPt) DoBoxDrawBorder←P6492) );
(* (( (ptr) tmpAddr214) + 1) ) = 1;
};
{
word tmpAddr215;
tmpAddr215 = (word) (( (ptr) &var←c102632)+10)/* var←c93864 */ ;
(* (ptr) tmpAddr215 ) = ( ((word) (fPt) DrawBoxPath←P6432) );
(* (( (ptr) tmpAddr215) + 1) ) = 1;
};
SOURCE(20377, 40)
(* (( (ptr) &var←c102632)+12) ) = (* (ptr) &fc216 );
(* (( (ptr) &var←c102632)+13) ) = (* (ptr) &fc216 );
(* (W2Pt) (( (ptr) &var←c102632)+14)/* oppositePoint←v25688 */ ) = (* (W2Pt) (( (ptr) &var←c102632)+12)/* point←v25660 */ );
SOURCE(20419, 42)
(* (( (ptr) &var←c102632)+16)/* boxDrawParts←v25716 */ ) = XR←Narrow(drawParts←v11728, (* (( (ptr) gf←c102664)+28) ));
SOURCE(20463, 66)
(* (( (ptr) &var←c102632)+17)/* drawAll←v25744 */ ) = (unsigned) ( ((* (( (ptr) &var←c102632)+16)/* boxDrawParts←v25716 */ ) == 0) ? 1 : XR←EqualWords(
(( (ptr) (* (( (ptr) &var←c102632)+16)/* boxDrawParts←v25716 */ ))+4), (( (ptr) gf←c102664)+283)/* var←c91656 */ , 4) ) ;
SOURCE(20531, 34)
{
word pd217;
pd217 = (* (( (ptr) (* (( (ptr) gf←c102664)+303)/* var←c92232 */ ))+12) );
(void) ( *( (fPt) ((* (ptr) pd217 ))))((* (( (ptr) &var←c102632)+7)/* dc←v11812 */ ), (word) (( (bPt) &var←c102632)+32)
/* var←c93832 */ , pd217);
};
}
static void DrawBoxPath←P6432(boxData←v25820, boxDrawParts←v25848, plusTransform←v25876, useBox←v25904, box←v25932, formal←c102760)
word boxData←v25820;
word boxDrawParts←v25848;
word plusTransform←v25876;
word useBox←v25904;
word box←v25932;
word formal←c102760;
{
W14 var←c102696;
register ptr gf←c102728 = (ptr) &globalframe;
/* declaration of var←c93928 skipped */
/* declaration of pts←v25976 skipped */
W2 boxLo←v26004;
W2 boxHi←v26032;
word fullTransform←v26060 = 0;
formal←c102760 = (formal←c102760 - 40);
(* (ptr) &var←c102696 ) = formal←c102760;
/* DrawBoxPath: */
SOURCE(18771, 915)
{
word tmpAddr218;
tmpAddr218 = (word) (( (ptr) &var←c102696)+4)/* var←c93928 */ ;
(* (ptr) tmpAddr218 ) = ( ((word) (fPt) BuildPath←P6600) );
(* (( (ptr) tmpAddr218) + 1) ) = 1;
};
SOURCE(18976, 52)
if ((0 != useBox←v25904)) {
boxLo←v26004.f0 = (* (ptr) box←v25932 );
boxLo←v26004.f1 = (* (( (ptr) box←v25932)+1) );
}
else {
boxLo←v26004 = (* (W2Pt) (( (ptr) formal←c102760)+12) );
};
SOURCE(19030, 60)
if ((0 != useBox←v25904)) {
boxHi←v26032.f0 = (* (( (ptr) box←v25932)+2) );
boxHi←v26032.f1 = (* (( (ptr) box←v25932)+3) );
}
else {
boxHi←v26032 = (* (W2Pt) (( (ptr) formal←c102760)+14) );
};
SOURCE(19092, 111)
{
word pd219;
if ((plusTransform←v25876 == 0)) {
fullTransform←v26060 = (* (( (ptr) boxData←v25820)+1) );
}
else {
pd219 = (* (( (ptr) (* (( (ptr) gf←c102728)+301)/* var←c91976 */ ))+13) );
fullTransform←v26060 = (word) ( *( (fPt) ((* (ptr) pd219 ))))((* (( (ptr) boxData←v25820)+1) ), plusTransform←v25876, pd219)
;
};
};
SOURCE(19205, 88)
{
W8 var←c0346;
{
W6 var←c94024;
var←c94024.f0 = boxLo←v26004.f0;
var←c94024.f1 = boxLo←v26004.f1;
var←c94024.f2 = boxHi←v26032.f0;
var←c94024.f3 = boxHi←v26032.f1;
var←c94024.f4 = 0;
var←c94024.f5 = 0;
(void) TransformBoxObj←P1260((word) &var←c0346, var←c94024, fullTransform←v26060);
};
(* (W8Pt) (( (ptr) &var←c102696)+6)/* pts←v25976 */ ) = var←c0346;
};
SOURCE(19295, 391)
if ((0 != (word) AllStrokePropsAndColorsEqual←P1860(boxData←v25820))) {
SOURCE(19341, 159)
SOURCE(19457, 41)
(void) MaskStrokeBoxPath←P1800((* (( (ptr) formal←c102760)+7) ), boxData←v25820, (word) (( (bPt) &var←c102696)+16)/* var←c93928 */ )
;
}
else {
SOURCE(19509, 177)
{
register word edge←v26184 = 0;
if (( (int)edge←v26184 > (int)3)) {
goto lab←L100034;
};
lab←L100037: ;
SOURCE(19540, 146)
if ((0 != (* (( (ptr) formal←c102760)+17) ))) { goto then0220;};
if ((0 != (* ((( (ptr) boxDrawParts←v25848)+4)+BCK(edge←v26184, 4)) ))) {
then0220: ;
SOURCE(19584, 104)
{
word seg←v26228;
SOURCE(19586, 37)
seg←v26228 = (* ((( (ptr) boxData←v25820)+36)+BCK(edge←v26184, 4)) );
SOURCE(19625, 61)
{
word pd221;
word idx222;
pd221 = (* (( (ptr) (* (( (ptr) gf←c102728)+302)/* var←c92200 */ ))+29) );
(void) ( *( (fPt) ((* (ptr) pd221 ))))((* (( (ptr) formal←c102760)+7) ), (* (( (W2Pt) (( (ptr) &var←c102696)+6)/* pts←v25976 */ )+BCK(
edge←v26184, 4)) ), (* (( (W2Pt) (( (ptr) &var←c102696)+6)/* pts←v25976 */ )+(
idx222 = (word) IOP2( % , (int)(edge←v26184 + 1), (int)4),
BCK(idx222, 4)
)) ), seg←v26228, pd221);
};
};
};
if (( (int)edge←v26184 >= (int)3)) {
goto lab←L100034;
};
edge←v26184 = (edge←v26184 + 1);
goto lab←L100037;
lab←L100034: ;
};
};
}
static void BuildPath←P6600(moveTo←v73508, lineTo←v73536, curveTo←v73564, conicTo←v73592, arcTo←v73620, formal←c102792)
word moveTo←v73508;
word lineTo←v73536;
word curveTo←v73564;
word conicTo←v73592;
word arcTo←v73620;
word formal←c102792;
{
formal←c102792 = (formal←c102792 - 16);
/* BuildPath: */
SOURCE(19343, 29)
SOURCE(19374, 14)
(void) ( *( (fPt) ((* (ptr) moveTo←v73508 ))))((* (W2Pt) ((( (ptr) formal←c102792)+6)) ), moveTo←v73508);
SOURCE(19390, 14)
(void) ( *( (fPt) ((* (ptr) lineTo←v73536 ))))((* (W2Pt) ((( (ptr) formal←c102792)+8)) ), lineTo←v73536);
SOURCE(19406, 14)
(void) ( *( (fPt) ((* (ptr) lineTo←v73536 ))))((* (W2Pt) ((( (ptr) formal←c102792)+10)) ), lineTo←v73536);
SOURCE(19422, 14)
(void) ( *( (fPt) ((* (ptr) lineTo←v73536 ))))((* (W2Pt) ((( (ptr) formal←c102792)+12)) ), lineTo←v73536);
SOURCE(19438, 14)
(void) ( *( (fPt) ((* (ptr) lineTo←v73536 ))))((* (W2Pt) ((( (ptr) formal←c102792)+6)) ), lineTo←v73536);
}
static void DoBoxDrawBorder←P6492(formal←c102856)
word formal←c102856;
{
register ptr gf←c102824 = (ptr) &globalframe;
word boxData←v26272;
word boxTransformParts←v26300;
word box←v26328;
word transformEntire←v26356 = 0;
word none←v26384 = 0;
formal←c102856 = (formal←c102856 - 32);
/* DoBoxDrawBorder: */
SOURCE(19706, 610)
SOURCE(19732, 37)
boxData←v26272 = XR←Narrow((* (( (ptr) (* (( (ptr) formal←c102856)+4) ))+1) ), (* (( (ptr) gf←c102824)+25) ));
SOURCE(19771, 52)
boxTransformParts←v26300 = XR←Narrow((* (( (ptr) formal←c102856)+5) ), (* (( (ptr) gf←c102824)+28) ));
SOURCE(19825, 27)
box←v26328 = (* (ptr) boxData←v26272 );
SOURCE(19892, 57)
if ( ( ((* (( (ptr) formal←c102856)+16) ) != 0) ? (0 != (word) IsEmpty←P2580((* ((( (ptr) formal←c102856)+16)) ))) : 0 ) ) {
SOURCE(19943, 6)
return;
};
SOURCE(19951, 110)
{
W6 var←c94056;
(void) PointsForTransform←P1140((word) &var←c94056, box←v26328, boxData←v26272, boxTransformParts←v26300, (* (( (ptr) formal←c102856)+6)
));
none←v26384 = var←c94056.f5;
transformEntire←v26356 = var←c94056.f4;
(* (W2Pt) (( (ptr) formal←c102856)+14) ) = (* (W2Pt) (( (ptr) &var←c94056)+2) );
(* (W2Pt) (( (ptr) formal←c102856)+12) ) = (* (W2Pt) &var←c94056 );
};
SOURCE(20063, 253)
if ((0 != transformEntire←v26356)) {
SOURCE(20087, 109)
(void) DrawBoxPath←P6432(boxData←v26272, (* (( (ptr) formal←c102856)+16) ), (* (( (ptr) formal←c102856)+6) ), 1, box←v26328, (word) (
( (bPt) formal←c102856)+40));
}
else {
SOURCE(20196, 120)
if ((0 != none←v26384)) {
SOURCE(20209, 56)
(void) DrawBoxPath←P6432(boxData←v26272, (* (( (ptr) formal←c102856)+16) ), 0, 1, box←v26328, (word) (( (bPt) formal←c102856)+40)
);
}
else {
SOURCE(20265, 51)
(void) DrawBoxPath←P6432(boxData←v26272, (* (( (ptr) formal←c102856)+16) ), 0, 0, box←v26328, (word) (( (bPt) formal←c102856)+40)
);
};
};
}
static void PointsForTransform←P1140(formal←c0398, box←v11956, boxData←v11984, boxTransformParts←v12012, transform←v12040)
word formal←c0398;
word box←v11956;
word boxData←v11984;
word boxTransformParts←v12012;
word transform←v12040;
{
register ptr gf←c102888 = (ptr) &globalframe;
W2 point←v12084;
W2 oppositePoint←v12112;
word transformEntire←v12140;
word none←v12168;
W2 tWorld←v26428;
W2 tBox←v26456;
word totalTransform←v26484 = 0;
word worldBox←v26512 = 0;
word cornerCount←v26540 = 0;
word edgeCount←v26568 = 0;
word edgeNum←v26596 = 0;
word cornerNum←v26624 = 0;
/* PointsForTransform: */
SOURCE(20571, 1790)
SOURCE(20571, 1790)
point←v12084.f0 = (* (ptr) &fc216 );
point←v12084.f1 = (* (ptr) &fc216 );
SOURCE(20571, 1790)
oppositePoint←v12112.f0 = (* (ptr) &fc216 );
oppositePoint←v12112.f1 = (* (ptr) &fc216 );
SOURCE(20571, 1790)
transformEntire←v12140 = 0;
SOURCE(20571, 1790)
none←v12168 = 0;
SOURCE(20894, 33)
if ((0 != (* (( (ptr) box←v11956)+4) )) || (0 != (* (( (ptr) box←v11956)+5) ))) {
SOURCE(20927, 5)
(void) XR←RaiseUnnamedError();
};
SOURCE(20934, 1427)
SOURCE(20940, 112)
if ((((boxTransformParts←v12012 == 0) || (transform←v12040 == 0)) || (0 != (* (( (ptr) boxTransformParts←v12012)+8) ))) || XR←EqualWords(
(( (ptr) boxTransformParts←v12012)+4), (( (ptr) gf←c102888)+283)/* var←c91656 */ , 4)) {
SOURCE(21052, 18)
goto lab←L100039;
};
SOURCE(21072, 55)
if ((0 != (word) IsEmpty←P2580(boxTransformParts←v12012))) {
SOURCE(21108, 11)
none←v12168 = 1;
SOURCE(21121, 6)
goto lab←L100038;
};
SOURCE(21131, 58)
{
W2 var←c94088;
(void) CountEdges←P2700((word) &var←c94088, (* (W4Pt) (( (ptr) boxTransformParts←v12012)+4) ));
edgeNum←v26596 = var←c94088.f1;
edgeCount←v26568 = var←c94088.f0;
};
SOURCE(21191, 23)
if (( (int)edgeCount←v26568 >= (int)2)) {
SOURCE(21214, 18)
goto lab←L100039;
};
SOURCE(21234, 66)
{
W2 var←c94120;
(void) CountCorners←P2640((word) &var←c94120, (* (W4Pt) boxTransformParts←v12012 ));
cornerNum←v26624 = var←c94120.f1;
cornerCount←v26540 = var←c94120.f0;
};
SOURCE(21302, 25)
if (( (int)cornerCount←v26540 >= (int)3)) {
SOURCE(21327, 18)
goto lab←L100039;
};
SOURCE(21348, 26)
worldBox←v26512 = (* (( (ptr) boxData←v11984)+2) );
SOURCE(21376, 35)
tWorld←v26428.f0 = (* (( (ptr) transform←v12040)+2) );
tWorld←v26428.f1 = (* (( (ptr) transform←v12040)+5) );
SOURCE(21456, 58)
{
word pd223;
pd223 = (* (( (ptr) (* (( (ptr) gf←c102888)+301)/* var←c91976 */ ))+40) );
(void) ( *( (fPt) ((* (ptr) pd223 ))))((word) &tBox←v26456, worldBox←v26512, tWorld←v26428, pd223);
};
SOURCE(21516, 793)
if (( (int)edgeCount←v26568 == (int)1)) {
SOURCE(21536, 425)
{
word lo←v26668;
word hi←v26696;
SOURCE(21578, 33)
{
W2 var←c94152;
(void) CornersOfEdge←P3660((word) &var←c94152, SGNCK(edgeNum←v26596));
hi←v26696 = var←c94152.f1;
lo←v26668 = var←c94152.f0;
};
SOURCE(21613, 78)
if ((0 == (* (( (ptr) boxTransformParts←v12012)+BCK(lo←v26668, 4)) ))) { goto then0224;};
if ((0 == (* (( (ptr) boxTransformParts←v12012)+BCK(hi←v26696, 4)) ))) {
then0224: ;
SOURCE(21691, 18)
goto lab←L100039;
};
SOURCE(21711, 49)
{
word var←c94184;
var←c94184 = (word) OppositeCorner←P3720(lo←v26668);
(void) BoxPoint←P3780((word) &oppositePoint←v12112, box←v11956, var←c94184);
};
SOURCE(21762, 25)
(void) BoxPoint←P3780((word) &point←v12084, box←v11956, lo←v26668);
SOURCE(21789, 152)
{
word var←c94216;
var←c94216 = edgeNum←v26596;
switch (var←c94216) {
case 0: case 2:
SOURCE(21839, 35)
{
word var←c94248;
word var←c94280;
{
word x225;
word x226;
*(float*)&var←c94248 = (
x225 = point←v12084.f0, *(float*)&x225
) + (
x226 = tBox←v26456.f0, *(float*)&x226
);
};
var←c94280 = point←v12084.f1;
point←v12084.f0 = var←c94248;
point←v12084.f1 = var←c94280;
};
break;
case 1: case 3:
SOURCE(21906, 35)
{
word var←c94312;
word var←c94376;
var←c94312 = point←v12084.f0;
{
word x227;
word x228;
*(float*)&var←c94376 = (
x227 = point←v12084.f1, *(float*)&x227
) + (
x228 = tBox←v26456.f1, *(float*)&x228
);
};
point←v12084.f0 = var←c94312;
point←v12084.f1 = var←c94376;
};
break;
default:
SOURCE(21954, 5)
(void) XR←RaiseUnnamedError();
break;
};
};
};
}
else {
SOURCE(21968, 341)
if (( (int)cornerCount←v26540 == (int)2)) {
SOURCE(21992, 58)
goto lab←L100039;
}
else {
SOURCE(22067, 32)
(void) BoxPoint←P3780((word) &point←v12084, box←v11956, SGNCK(cornerNum←v26624));
SOURCE(22101, 56)
{
word var←c94408;
var←c94408 = (word) OppositeCorner←P3720(SGNCK(cornerNum←v26624));
(void) BoxPoint←P3780((word) &oppositePoint←v12112, box←v11956, var←c94408);
};
SOURCE(22159, 81)
{
word pd229;
pd229 = (* (( (ptr) (* (( (ptr) gf←c102888)+301)/* var←c91976 */ ))+14) );
totalTransform←v26484 = (word) ( *( (fPt) ((* (ptr) pd229 ))))((* (( (ptr) boxData←v11984)+1) ), transform←v12040, worldBox←v26512, 0, pd229)
;
};
SOURCE(22242, 67)
{
word pd230;
pd230 = (* (( (ptr) (* (( (ptr) gf←c102888)+301)/* var←c91976 */ ))+39) );
(void) ( *( (fPt) ((* (ptr) pd230 ))))((word) &point←v12084, totalTransform←v26484, point←v12084, pd230);
};
};
};
goto lab←L100040;
lab←L100039: ;
SOURCE(22337, 22)
transformEntire←v12140 = 1;
lab←L100040: ;
/* removed tail goto */
lab←L100038: ;
(* (W2Pt) formal←c0398 ) = point←v12084;
(* (W2Pt) (( (ptr) formal←c0398)+2) ) = oppositePoint←v12112;
(* (( (ptr) formal←c0398)+4) ) = transformEntire←v12140;
(* (( (ptr) formal←c0398)+5) ) = none←v12168;
return;
}
static void TransformedBoxPoints←P1200(formal←c0414, box←v12228, t←v12256)
word formal←c0414;
word box←v12228;
word t←v12256;
{
register ptr gf←c102920 = (ptr) &globalframe;
W8 pts←v12300;
W2 tLL←v26740;
W2 tUR←v26768;
/* TransformedBoxPoints: */
SOURCE(22370, 440)
SOURCE(22472, 59)
{
word x231;
float tf232;
float tf233;
word x234;
float tf235;
tLL←v26740.f0 = (
tf235 = FMIN((
x231 = (* (ptr) box←v12228 ), *(float*)&x231
), (
x234 = (* (( (ptr) box←v12228)+2) ), *(float*)&x234
), tf232, tf233), *(word*)&tf235
);
};
{
word x236;
float tf237;
float tf238;
word x239;
float tf240;
tLL←v26740.f1 = (
tf240 = FMIN((
x236 = (* (( (ptr) box←v12228)+1) ), *(float*)&x236
), (
x239 = (* (( (ptr) box←v12228)+3) ), *(float*)&x239
), tf237, tf238), *(word*)&tf240
);
};
SOURCE(22533, 59)
{
word x241;
float tf242;
float tf243;
word x244;
float tf245;
tUR←v26768.f0 = (
tf245 = FMAX((
x241 = (* (ptr) box←v12228 ), *(float*)&x241
), (
x244 = (* (( (ptr) box←v12228)+2) ), *(float*)&x244
), tf242, tf243), *(word*)&tf245
);
};
{
word x246;
float tf247;
float tf248;
word x249;
float tf250;
tUR←v26768.f1 = (
tf250 = FMAX((
x246 = (* (( (ptr) box←v12228)+1) ), *(float*)&x246
), (
x249 = (* (( (ptr) box←v12228)+3) ), *(float*)&x249
), tf247, tf248), *(word*)&tf250
);
};
SOURCE(22594, 47)
{
W2 var←c94504;
{
word pd251;
pd251 = (* (( (ptr) (* (( (ptr) gf←c102920)+301)/* var←c91976 */ ))+39) );
(void) ( *( (fPt) ((* (ptr) pd251 ))))((word) &var←c94504, t←v12256, tLL←v26740, pd251);
};
(* (W2Pt) &pts←v12300 ) = var←c94504;
};
SOURCE(22643, 58)
{
W2 var←c94536;
{
W2 var←c0408;
{
W2 var←c94568;
var←c94568.f0 = tLL←v26740.f0;
var←c94568.f1 = tUR←v26768.f1;
{
word pd252;
pd252 = (* (( (ptr) (* (( (ptr) gf←c102920)+301)/* var←c91976 */ ))+39) );
(void) ( *( (fPt) ((* (ptr) pd252 ))))((word) &var←c0408, t←v12256, var←c94568, pd252);
};
};
var←c94536 = var←c0408;
};
(* (W2Pt) (( (ptr) &pts←v12300)+2) ) = var←c94536;
};
SOURCE(22703, 47)
{
W2 var←c94600;
{
word pd253;
pd253 = (* (( (ptr) (* (( (ptr) gf←c102920)+301)/* var←c91976 */ ))+39) );
(void) ( *( (fPt) ((* (ptr) pd253 ))))((word) &var←c94600, t←v12256, tUR←v26768, pd253);
};
(* (W2Pt) (( (ptr) &pts←v12300)+4) ) = var←c94600;
};
SOURCE(22752, 58)
{
W2 var←c94632;
{
W2 var←c0413;
{
W2 var←c94664;
var←c94664.f0 = tUR←v26768.f0;
var←c94664.f1 = tLL←v26740.f1;
{
word pd254;
pd254 = (* (( (ptr) (* (( (ptr) gf←c102920)+301)/* var←c91976 */ ))+39) );
(void) ( *( (fPt) ((* (ptr) pd254 ))))((word) &var←c0413, t←v12256, var←c94664, pd254);
};
};
var←c94632 = var←c0413;
};
(* (W2Pt) (( (ptr) &pts←v12300)+6) ) = var←c94632;
};
/* removed tail goto */
(* (W8Pt) formal←c0414 ) = pts←v12300;
return;
}
static void TransformBoxObj←P1260(formal←c0430, box←v12396, t←v12424)
word formal←c0430;
W6 box←v12396;
word t←v12424;
{
register ptr gf←c102952 = (ptr) &globalframe;
W8 pts←v12468;
W2 tLL←v26812;
W2 tUR←v26840;
/* TransformBoxObj: */
SOURCE(22816, 440)
SOURCE(22916, 59)
{
word x255;
float tf256;
float tf257;
word x258;
float tf259;
tLL←v26812.f0 = (
tf259 = FMIN((
x255 = box←v12396.f0, *(float*)&x255
), (
x258 = box←v12396.f2, *(float*)&x258
), tf256, tf257), *(word*)&tf259
);
};
{
word x260;
float tf261;
float tf262;
word x263;
float tf264;
tLL←v26812.f1 = (
tf264 = FMIN((
x260 = box←v12396.f1, *(float*)&x260
), (
x263 = box←v12396.f3, *(float*)&x263
), tf261, tf262), *(word*)&tf264
);
};
SOURCE(22977, 59)
{
word x265;
float tf266;
float tf267;
word x268;
float tf269;
tUR←v26840.f0 = (
tf269 = FMAX((
x265 = box←v12396.f0, *(float*)&x265
), (
x268 = box←v12396.f2, *(float*)&x268
), tf266, tf267), *(word*)&tf269
);
};
{
word x270;
float tf271;
float tf272;
word x273;
float tf274;
tUR←v26840.f1 = (
tf274 = FMAX((
x270 = box←v12396.f1, *(float*)&x270
), (
x273 = box←v12396.f3, *(float*)&x273
), tf271, tf272), *(word*)&tf274
);
};
SOURCE(23038, 47)
{
W2 var←c94760;
{
word pd275;
pd275 = (* (( (ptr) (* (( (ptr) gf←c102952)+301)/* var←c91976 */ ))+39) );
(void) ( *( (fPt) ((* (ptr) pd275 ))))((word) &var←c94760, t←v12424, tLL←v26812, pd275);
};
(* (W2Pt) &pts←v12468 ) = var←c94760;
};
SOURCE(23087, 59)
{
W2 var←c94792;
{
W2 var←c0424;
{
W2 var←c94824;
var←c94824.f0 = tLL←v26812.f0;
var←c94824.f1 = tUR←v26840.f1;
{
word pd276;
pd276 = (* (( (ptr) (* (( (ptr) gf←c102952)+301)/* var←c91976 */ ))+39) );
(void) ( *( (fPt) ((* (ptr) pd276 ))))((word) &var←c0424, t←v12424, var←c94824, pd276);
};
};
var←c94792 = var←c0424;
};
(* (W2Pt) (( (ptr) &pts←v12468)+2) ) = var←c94792;
};
SOURCE(23148, 47)
{
W2 var←c94856;
{
word pd277;
pd277 = (* (( (ptr) (* (( (ptr) gf←c102952)+301)/* var←c91976 */ ))+39) );
(void) ( *( (fPt) ((* (ptr) pd277 ))))((word) &var←c94856, t←v12424, tUR←v26840, pd277);
};
(* (W2Pt) (( (ptr) &pts←v12468)+4) ) = var←c94856;
};
SOURCE(23197, 59)
{
W2 var←c94888;
{
W2 var←c0429;
{
W2 var←c94920;
var←c94920.f0 = tUR←v26840.f0;
var←c94920.f1 = tLL←v26812.f1;
{
word pd278;
pd278 = (* (( (ptr) (* (( (ptr) gf←c102952)+301)/* var←c91976 */ ))+39) );
(void) ( *( (fPt) ((* (ptr) pd278 ))))((word) &var←c0429, t←v12424, var←c94920, pd278);
};
};
var←c94888 = var←c0429;
};
(* (W2Pt) (( (ptr) &pts←v12468)+6) ) = var←c94888;
};
/* removed tail goto */
(* (W8Pt) formal←c0430 ) = pts←v12468;
return;
}
static void FlipBoxStyle←P1320(slice←v12564, boxData←v12592)
word slice←v12564;
word boxData←v12592;
{
register ptr gf←c102984 = (ptr) &globalframe;
W3 nilFormattedNodes←v26884;
W2 loc←v26912;
W3 var←c0435;
word box←v26940;
/* FlipBoxStyle: */
SOURCE(23262, 879)
SOURCE(23318, 63)
nilFormattedNodes←v26884.f0 = 0;
nilFormattedNodes←v26884.f1 = 0;
nilFormattedNodes←v26884.f2 = 0;
SOURCE(23383, 46)
(void) GetBoxText←P360((word) &var←c0435, slice←v12564);
loc←v26912 = (* (W2Pt) &var←c0435 );
SOURCE(23431, 27)
box←v26940 = (* (ptr) boxData←v12592 );
SOURCE(23460, 627)
if ((0 != (word) IsChildOfOutline←P660(slice←v12564))) {
SOURCE(23550, 185)
{
W3 var←c94984;
if ((loc←v26912.f0 != 0)) {
{
W3 var←c0439;
{
W2 var←c95016;
{
word x279;
word x280;
*(float*)&var←c95016.f0 = (
x279 = (* (( (ptr) box←v26940)+2) ), *(float*)&x279
) - (
x280 = (* (ptr) box←v26940 ), *(float*)&x280
);
};
{
word x281;
word x282;
*(float*)&var←c95016.f1 = (
x281 = (* (( (ptr) box←v26940)+3) ), *(float*)&x281
) - (
x282 = (* (( (ptr) box←v26940)+1) ), *(float*)&x282
);
};
{
word pd283;
pd283 = (* (( (ptr) (* (( (ptr) gf←c102984)+306)/* var←c92584 */ ))+5) );
(void) ( *( (fPt) ((* (ptr) pd283 ))))((word) &var←c0439, loc←v26912, var←c95016, ( (0 != (* (( (ptr) boxData←v12592)+13)
)) ? 1 : 0 ) , 0, 0, pd283);
};
};
var←c94984 = var←c0439;
};
}
else {
var←c94984 = nilFormattedNodes←v26884;
};
(* (W3Pt) (( (ptr) boxData←v12592)+9) ) = var←c94984;
};
}
else {
SOURCE(23744, 345)
{
word firstChildNode←v26984;
SOURCE(23818, 60)
{
word pd284;
pd284 = (* (( (ptr) (* (( (ptr) gf←c102984)+307)/* var←c92616 */ ))+28) );
firstChildNode←v26984 = (word) ( *( (fPt) ((* (ptr) pd284 ))))(loc←v26912.f0, pd284);
};
SOURCE(23880, 207)
{
W3 var←c95048;
if ((firstChildNode←v26984 != 0)) {
{
W3 var←c0444;
{
W2 var←c95080;
W2 var←c95112;
var←c95080.f0 = firstChildNode←v26984;
var←c95080.f1 = 0;
{
word x285;
word x286;
*(float*)&var←c95112.f0 = (
x285 = (* (( (ptr) box←v26940)+2) ), *(float*)&x285
) - (
x286 = (* (ptr) box←v26940 ), *(float*)&x286
);
};
{
word x287;
word x288;
*(float*)&var←c95112.f1 = (
x287 = (* (( (ptr) box←v26940)+3) ), *(float*)&x287
) - (
x288 = (* (( (ptr) box←v26940)+1) ), *(float*)&x288
);
};
{
word pd289;
pd289 = (* (( (ptr) (* (( (ptr) gf←c102984)+306)/* var←c92584 */ ))+5) );
(void) ( *( (fPt) ((* (ptr) pd289 ))))((word) &var←c0444, var←c95080, var←c95112, ( (0 != (* (( (ptr) boxData←v12592)+13)
)) ? 1 : 0 ) , 0, 0, pd289);
};
};
var←c95048 = var←c0444;
};
}
else {
var←c95048 = nilFormattedNodes←v26884;
};
(* (W3Pt) (( (ptr) boxData←v12592)+9) ) = var←c95048;
};
};
};
SOURCE(24092, 49)
(* (( (ptr) boxData←v12592)+13) ) = (unsigned) (0 == (* (( (ptr) boxData←v12592)+13) ));
}
static void BoxDrawParts←P1380(formal←c01522, formal←c01523, formal←c01524, formal←c01525, formal←c01526)
word formal←c01522;
word formal←c01523;
word formal←c01524;
word formal←c01525;
word formal←c01526;
{
W12 var←c103016;
/* declaration of slice←v12652 skipped */
/* declaration of parts←v12680 skipped */
/* declaration of dc←v12708 skipped */
/* declaration of camera←v12736 skipped */
/* declaration of quick←v12764 skipped */
register ptr gf←c103048 = (ptr) &globalframe;
/* declaration of var←c95144 skipped */
/* declaration of boxData←v27056 skipped */
(* (( (ptr) &var←c103016)+4)/* slice←v12652 */ ) = formal←c01522;
(* (( (ptr) &var←c103016)+5)/* parts←v12680 */ ) = formal←c01523;
(* (( (ptr) &var←c103016)+6)/* dc←v12708 */ ) = formal←c01524;
(* (( (ptr) &var←c103016)+7)/* camera←v12736 */ ) = formal←c01525;
(* (( (ptr) &var←c103016)+8)/* quick←v12764 */ ) = formal←c01526;
/* BoxDrawParts: */
SOURCE(24147, 1856)
{
word tmpAddr290;
tmpAddr290 = (word) (( (ptr) &var←c103016)+9)/* var←c95144 */ ;
(* (ptr) tmpAddr290 ) = ( ((word) (fPt) DoBoxDrawParts←P6852) );
(* (( (ptr) tmpAddr290) + 1) ) = 1;
};
SOURCE(25931, 37)
(* (( (ptr) &var←c103016)+11)/* boxData←v27056 */ ) = XR←Narrow((* (( (ptr) (* (( (ptr) &var←c103016)+4)/* slice←v12652 */ ))+1)
), (* (( (ptr) gf←c103048)+25) ));
SOURCE(25970, 33)
{
word pd291;
pd291 = (* (( (ptr) (* (( (ptr) gf←c103048)+303)/* var←c92232 */ ))+12) );
(void) ( *( (fPt) ((* (ptr) pd291 ))))((* (( (ptr) &var←c103016)+6)/* dc←v12708 */ ), (word) (( (bPt) &var←c103016)+36)
/* var←c95144 */ , pd291);
};
}
static void DoBoxDrawParts←P6852(formal←c103144)
word formal←c103144;
{
W18 var←c103080;
register ptr gf←c103112 = (ptr) &globalframe;
/* declaration of var←c95176 skipped */
/* declaration of var←c95208 skipped */
/* declaration of var←c95240 skipped */
word boxParts←v27144;
word drawAll←v27172;
/* declaration of pts←v27200 skipped */
word ptsComputed←v27228 = 0;
formal←c103144 = (formal←c103144 - 36);
(* (ptr) &var←c103080 ) = formal←c103144;
/* DoBoxDrawParts: */
SOURCE(24259, 1652)
{
word tmpAddr292;
tmpAddr292 = (word) (( (ptr) &var←c103080)+4)/* var←c95176 */ ;
(* (ptr) tmpAddr292 ) = ( ((word) (fPt) DoMaskPixel←P7128) );
(* (( (ptr) tmpAddr292) + 1) ) = 1;
};
{
word tmpAddr293;
tmpAddr293 = (word) (( (ptr) &var←c103080)+6)/* var←c95208 */ ;
(* (ptr) tmpAddr293 ) = ( ((word) (fPt) BoxPathProc←P7020) );
(* (( (ptr) tmpAddr293) + 1) ) = 1;
};
{
word tmpAddr294;
tmpAddr294 = (word) (( (ptr) &var←c103080)+8)/* var←c95240 */ ;
(* (ptr) tmpAddr294 ) = ( ((word) (fPt) BoxTextDraw←P6912) );
(* (( (ptr) tmpAddr294) + 1) ) = 1;
};
SOURCE(24829, 34)
boxParts←v27144 = XR←Narrow((* (( (ptr) formal←c103144)+5) ), (* (( (ptr) gf←c103112)+28) ));
SOURCE(24865, 58)
drawAll←v27172 = (unsigned) ( (boxParts←v27144 == 0) ? 1 : XR←EqualWords((( (ptr) boxParts←v27144)+4), (( (ptr) gf←c103112)+283)
/* var←c91656 */ , 4) ) ;
SOURCE(24980, 503)
if ( ( ( (0 != drawAll←v27172) ? ((* (( (ptr) (* (( (ptr) formal←c103144)+11) ))+5) ) != 0) : 0 ) ? (0 == (* (( (ptr) formal←c103144)+8)
)) : 0 ) ) {
SOURCE(25038, 41)
{
word pd295;
pd295 = (* (( (ptr) (* (( (ptr) gf←c103112)+310)/* var←c93352 */ ))+36) );
(void) ( *( (fPt) ((* (ptr) pd295 ))))((* (( (ptr) formal←c103144)+6) ), (* (( (ptr) (* (( (ptr) formal←c103144)+11) ))+5)
), 0, pd295);
};
SOURCE(25081, 402)
if (((* (( (ptr) (* (( (ptr) formal←c103144)+11) ))+6) ) == 0)) {
SOURCE(25118, 216)
SOURCE(25220, 58)
(void) TransformedBoxPoints←P1200((word) (( (bPt) &var←c103080)+40)/* pts←v27200 */ , (* (ptr) (* (( (ptr) formal←c103144)+11)
) ), (* (( (ptr) (* (( (ptr) formal←c103144)+11) ))+1) ));
SOURCE(25280, 18)
ptsComputed←v27228 = 1;
SOURCE(25300, 32)
{
word pd296;
pd296 = (* (( (ptr) (* (( (ptr) gf←c103112)+303)/* var←c92232 */ ))+62) );
(void) ( *( (fPt) ((* (ptr) pd296 ))))((* (( (ptr) formal←c103144)+6) ), (word) (( (bPt) &var←c103080)+24)/* var←c95208 */ , 0, pd296)
;
};
}
else {
SOURCE(25341, 144)
SOURCE(25453, 30)
{
word pd297;
pd297 = (* (( (ptr) (* (( (ptr) gf←c103112)+303)/* var←c92232 */ ))+12) );
(void) ( *( (fPt) ((* (ptr) pd297 ))))((* (( (ptr) formal←c103144)+6) ), (word) (( (bPt) &var←c103080)+16)/* var←c95176 */ , pd297)
;
};
};
};
SOURCE(25491, 76)
if ( ( (0 != drawAll←v27172) ? ((* (( (ptr) (* (( (ptr) formal←c103144)+11) ))+7) ) != 0) : 0 ) ) {
SOURCE(25537, 30)
{
word pd298;
pd298 = (* (( (ptr) (* (( (ptr) gf←c103112)+303)/* var←c92232 */ ))+12) );
(void) ( *( (fPt) ((* (ptr) pd298 ))))((* (( (ptr) formal←c103144)+6) ), (word) (( (bPt) &var←c103080)+32)/* var←c95240 */ , pd298)
;
};
};
SOURCE(25570, 341)
if ((0 != (word) AllStrokePropsAndColorsEqual←P1860((* ((( (ptr) formal←c103144)+11)) )))) {
SOURCE(25616, 36)
(void) DrawSingleStrokeBox←P1740((* (( (ptr) formal←c103144)+6) ), (* (( (ptr) formal←c103144)+4) ));
}
else {
SOURCE(25654, 82)
if ((0 == ptsComputed←v27228)) {
SOURCE(25678, 58)
(void) TransformedBoxPoints←P1200((word) (( (bPt) &var←c103080)+40)/* pts←v27200 */ , (* (ptr) (* (( (ptr) formal←c103144)+11)
) ), (* (( (ptr) (* (( (ptr) formal←c103144)+11) ))+1) ));
};
SOURCE(25738, 173)
{
register word edge←v27428 = 0;
if (( (int)edge←v27428 > (int)3)) {
goto lab←L100043;
};
lab←L100046: ;
SOURCE(25769, 142)
if ((0 != drawAll←v27172)) { goto then0299;};
if ((0 != (* ((( (ptr) boxParts←v27144)+4)+BCK(edge←v27428, 4)) ))) {
then0299: ;
SOURCE(25809, 104)
{
word seg←v27472;
SOURCE(25811, 37)
seg←v27472 = (* ((( (ptr) (* (( (ptr) formal←c103144)+11) ))+36)+BCK(edge←v27428, 4)) );
SOURCE(25850, 61)
{
word pd300;
word idx301;
pd300 = (* (( (ptr) (* (( (ptr) gf←c103112)+302)/* var←c92200 */ ))+29) );
(void) ( *( (fPt) ((* (ptr) pd300 ))))((* (( (ptr) formal←c103144)+6) ), (* (( (W2Pt) (( (ptr) &var←c103080)+10)/* pts←v27200 */ )+BCK(
edge←v27428, 4)) ), (* (( (W2Pt) (( (ptr) &var←c103080)+10)/* pts←v27200 */ )+(
idx301 = (word) IOP2( % , (int)(edge←v27428 + 1), (int)4),
BCK(idx301, 4)
)) ), seg←v27472, pd300);
};
};
};
if (( (int)edge←v27428 >= (int)3)) {
goto lab←L100043;
};
edge←v27428 = (edge←v27428 + 1);
goto lab←L100046;
lab←L100043: ;
};
};
}
static void BoxTextDraw←P6912(formal←c103208)
word formal←c103208;
{
register ptr gf←c103176 = (ptr) &globalframe;
W2 refPoint←v27516;
formal←c103208 = (formal←c103208 - 32);
/* BoxTextDraw: */
SOURCE(24284, 540)
SOURCE(24306, 52)
refPoint←v27516.f0 = (* (ptr) (* (ptr) (* (( (ptr) (* (ptr) formal←c103208 ))+11) ) ) );
refPoint←v27516.f1 = (* (( (ptr) (* (ptr) (* (( (ptr) (* (ptr) formal←c103208 ))+11) ) ))+3) );
SOURCE(24360, 37)
{
word pd302;
pd302 = (* (( (ptr) (* (( (ptr) gf←c103176)+303)/* var←c92232 */ ))+14) );
(void) ( *( (fPt) ((* (ptr) pd302 ))))((* (( (ptr) (* (ptr) formal←c103208 ))+6) ), (* (( (ptr) (* (( (ptr) (* (ptr) formal←c103208 ))+11)
))+1) ), pd302);
};
SOURCE(24399, 33)
{
word pd303;
pd303 = (* (( (ptr) (* (( (ptr) gf←c103176)+303)/* var←c92232 */ ))+52) );
(void) ( *( (fPt) ((* (ptr) pd303 ))))((* (( (ptr) (* (ptr) formal←c103208 ))+6) ), (* (ptr) (* (( (ptr) (* (( (ptr) gf←c103176)+303)
/* var←c92232 */ ))+54) ) ), pd303);
};
SOURCE(24434, 286)
{
word var←c95304;
var←c95304 = (* (( (ptr) (* (( (ptr) (* (ptr) formal←c103208 ))+7) ))+1) );
if ((var←c95304 == 1)) {
SOURCE(24476, 62)
if ((0 == (* (( (ptr) (* (( (ptr) (* (ptr) formal←c103208 ))+11) ))+13) ))) {
SOURCE(24510, 28)
(void) FlipBoxStyle←P1320((* (( (ptr) (* (ptr) formal←c103208 ))+4) ), (* (( (ptr) (* (ptr) formal←c103208 ))+11) ));
};
}
else {
if ((var←c95304 == 0)) {
SOURCE(24549, 171)
{
word var←c95336;
var←c95336 = (* (( (ptr) (* (( (ptr) (* (ptr) formal←c103208 ))+11) ))+12) );
if ((var←c95336 == 1)) {
SOURCE(24589, 62)
if ((0 == (* (( (ptr) (* (( (ptr) (* (ptr) formal←c103208 ))+11) ))+13) ))) {
SOURCE(24623, 28)
(void) FlipBoxStyle←P1320((* (( (ptr) (* (ptr) formal←c103208 ))+4) ), (* (( (ptr) (* (ptr) formal←c103208 ))+11) ));
};
}
else {
if ((var←c95336 == 0)) {
SOURCE(24662, 58)
if ((0 != (* (( (ptr) (* (( (ptr) (* (ptr) formal←c103208 ))+11) ))+13) ))) {
SOURCE(24692, 28)
(void) FlipBoxStyle←P1320((* (( (ptr) (* (ptr) formal←c103208 ))+4) ), (* (( (ptr) (* (ptr) formal←c103208 ))+11) ));
};
};
};
};
};
};
};
SOURCE(24740, 84)
{
word pd304;
pd304 = (* (( (ptr) (* (( (ptr) gf←c103176)+306)/* var←c92584 */ ))+16) );
(void) ( *( (fPt) ((* (ptr) pd304 ))))((* (( (ptr) (* (( (ptr) (* (ptr) formal←c103208 ))+11) ))+9) ), (* (( (ptr) (* (ptr) formal←c103208 ))+6)
), refPoint←v27516, pd304);
};
}
static void BoxPathProc←P7020(moveTo←v74484, lineTo←v74512, curveTo←v74540, conicTo←v74568, arcTo←v74596, formal←c103240)
word moveTo←v74484;
word lineTo←v74512;
word curveTo←v74540;
word conicTo←v74568;
word arcTo←v74596;
word formal←c103240;
{
formal←c103240 = (formal←c103240 - 24);
/* BoxPathProc: */
SOURCE(25120, 31)
SOURCE(25153, 14)
(void) ( *( (fPt) ((* (ptr) moveTo←v74484 ))))((* (W2Pt) ((( (ptr) formal←c103240)+10)) ), moveTo←v74484);
SOURCE(25169, 14)
(void) ( *( (fPt) ((* (ptr) lineTo←v74512 ))))((* (W2Pt) ((( (ptr) formal←c103240)+12)) ), lineTo←v74512);
SOURCE(25185, 14)
(void) ( *( (fPt) ((* (ptr) lineTo←v74512 ))))((* (W2Pt) ((( (ptr) formal←c103240)+14)) ), lineTo←v74512);
SOURCE(25201, 14)
(void) ( *( (fPt) ((* (ptr) lineTo←v74512 ))))((* (W2Pt) ((( (ptr) formal←c103240)+16)) ), lineTo←v74512);
}
static void DoMaskPixel←P7128(formal←c103304)
word formal←c103304;
{
register ptr gf←c103272 = (ptr) &globalframe;
formal←c103304 = (formal←c103304 - 16);
/* DoMaskPixel: */
SOURCE(25343, 20)
SOURCE(25365, 37)
{
word pd305;
pd305 = (* (( (ptr) (* (( (ptr) gf←c103272)+303)/* var←c92232 */ ))+14) );
(void) ( *( (fPt) ((* (ptr) pd305 ))))((* (( (ptr) (* (ptr) formal←c103304 ))+6) ), (* (( (ptr) (* (( (ptr) (* (ptr) formal←c103304 ))+11)
))+1) ), pd305);
};
SOURCE(25404, 44)
{
word pd306;
pd306 = (* (( (ptr) (* (( (ptr) gf←c103272)+303)/* var←c92232 */ ))+77) );
(void) ( *( (fPt) ((* (ptr) pd306 ))))((* (( (ptr) (* (ptr) formal←c103304 ))+6) ), (* (( (ptr) (* (( (ptr) (* (ptr) formal←c103304 ))+11)
))+6) ), pd306);
};
}
static void BoxDrawTransform←P1440(slice←v12824, parts←v12852, formal←c01527, formal←c01528, formal←c01529, editConstraints←v12964)
word slice←v12824;
word parts←v12852;
word formal←c01527;
word formal←c01528;
word formal←c01529;
word editConstraints←v12964;
{
W18 var←c103336;
/* declaration of dc←v12880 skipped */
/* declaration of camera←v12908 skipped */
/* declaration of transform←v12936 skipped */
register ptr gf←c103368 = (ptr) &globalframe;
/* declaration of var←c95368 skipped */
/* declaration of var←c95400 skipped */
/* declaration of point←v27560 skipped */
/* declaration of oppositePoint←v27588 skipped */
/* declaration of boxData←v27616 skipped */
word boxTransformParts←v27644;
/* declaration of box←v27672 skipped */
/* declaration of transformColor←v27700 skipped */
word transformEntire←v27728 = 0;
word none←v27756 = 0;
(* (( (ptr) &var←c103336)+4)/* dc←v12880 */ ) = formal←c01527;
(* (( (ptr) &var←c103336)+5)/* camera←v12908 */ ) = formal←c01528;
(* (( (ptr) &var←c103336)+6)/* transform←v12936 */ ) = formal←c01529;
/* BoxDrawTransform: */
SOURCE(26010, 1246)
{
word tmpAddr307;
tmpAddr307 = (word) (( (ptr) &var←c103336)+7)/* var←c95368 */ ;
(* (ptr) tmpAddr307 ) = ( ((word) (fPt) RubberbandBox←P7440) );
(* (( (ptr) tmpAddr307) + 1) ) = 1;
};
{
word tmpAddr308;
tmpAddr308 = (word) (( (ptr) &var←c103336)+9)/* var←c95400 */ ;
(* (ptr) tmpAddr308 ) = ( ((word) (fPt) TransformWholeBox←P7332) );
(* (( (ptr) tmpAddr308) + 1) ) = 1;
};
SOURCE(26203, 37)
(* (( (ptr) &var←c103336)+15)/* boxData←v27616 */ ) = XR←Narrow((* (( (ptr) slice←v12824)+1) ), (* (( (ptr) gf←c103368)+25)
));
SOURCE(26242, 43)
boxTransformParts←v27644 = XR←Narrow(parts←v12852, (* (( (ptr) gf←c103368)+28) ));
SOURCE(26287, 27)
(* (( (ptr) &var←c103336)+16)/* box←v27672 */ ) = (* (ptr) (* (( (ptr) &var←c103336)+15)/* boxData←v27616 */ ) );
SOURCE(26316, 51)
(* (( (ptr) &var←c103336)+17)/* transformColor←v27700 */ ) = 0;
SOURCE(26370, 289)
if ((0 != (word) IsComplete←P2520(boxTransformParts←v27644))) {
SOURCE(26410, 21)
(* (( (ptr) &var←c103336)+17)/* transformColor←v27700 */ ) = 1;
SOURCE(26433, 22)
transformEntire←v27728 = 1;
}
else {
SOURCE(26464, 195)
if ((0 != (word) IsEmpty←P2580(boxTransformParts←v27644))) {
SOURCE(26501, 15)
(* (( (ptr) &var←c103336)+6)/* transform←v12936 */ ) = 0;
SOURCE(26518, 22)
transformEntire←v27728 = 1;
}
else {
SOURCE(26549, 110)
{
W6 var←c95432;
(void) PointsForTransform←P1140((word) &var←c95432, (* (( (ptr) &var←c103336)+16)/* box←v27672 */ ), (* (( (ptr) &var←c103336)+15)
/* boxData←v27616 */ ), boxTransformParts←v27644, (* (( (ptr) &var←c103336)+6)/* transform←v12936 */ ));
none←v27756 = var←c95432.f5;
transformEntire←v27728 = var←c95432.f4;
(* (W2Pt) (( (ptr) &var←c103336)+13)/* oppositePoint←v27588 */ ) = (* (W2Pt) (( (ptr) &var←c95432)+2) );
(* (W2Pt) (( (ptr) &var←c103336)+11)/* point←v27560 */ ) = (* (W2Pt) &var←c95432 );
};
};
};
SOURCE(26661, 595)
if ((0 != transformEntire←v27728)) {
SOURCE(26685, 405)
SOURCE(27052, 36)
{
word pd309;
pd309 = (* (( (ptr) (* (( (ptr) gf←c103368)+303)/* var←c92232 */ ))+12) );
(void) ( *( (fPt) ((* (ptr) pd309 ))))((* (( (ptr) &var←c103336)+4)/* dc←v12880 */ ), (word) (( (bPt) &var←c103336)+36)
/* var←c95400 */ , pd309);
};
}
else {
SOURCE(27097, 161)
SOURCE(27224, 32)
{
word pd310;
pd310 = (* (( (ptr) (* (( (ptr) gf←c103368)+303)/* var←c92232 */ ))+12) );
(void) ( *( (fPt) ((* (ptr) pd310 ))))((* (( (ptr) &var←c103336)+4)/* dc←v12880 */ ), (word) (( (bPt) &var←c103336)+28)
/* var←c95368 */ , pd310);
};
};
}
static void TransformWholeBox←P7332(formal←c103432)
word formal←c103432;
{
register ptr gf←c103400 = (ptr) &globalframe;
formal←c103432 = (formal←c103432 - 36);
/* TransformWholeBox: */
SOURCE(26687, 26)
SOURCE(26715, 259)
if (((* (( (ptr) formal←c103432)+6) ) != 0)) {
SOURCE(26741, 180)
if ((0 != (* (( (ptr) formal←c103432)+17) ))) {
SOURCE(26766, 29)
{
word pd311;
pd311 = (* (( (ptr) (* (( (ptr) gf←c103400)+303)/* var←c92232 */ ))+14) );
(void) ( *( (fPt) ((* (ptr) pd311 ))))((* (( (ptr) formal←c103432)+4) ), (* (( (ptr) formal←c103432)+6) ), pd311);
};
SOURCE(26797, 41)
{
word pd312;
pd312 = (* (( (ptr) (* (( (ptr) gf←c103400)+310)/* var←c93352 */ ))+36) );
(void) ( *( (fPt) ((* (ptr) pd312 ))))((* (( (ptr) formal←c103432)+4) ), (* (( (ptr) (* (( (ptr) formal←c103432)+15) ))+5)
), 0, pd312);
};
}
else {
SOURCE(26849, 41)
{
word pd313;
pd313 = (* (( (ptr) (* (( (ptr) gf←c103400)+310)/* var←c93352 */ ))+36) );
(void) ( *( (fPt) ((* (ptr) pd313 ))))((* (( (ptr) formal←c103432)+4) ), (* (( (ptr) (* (( (ptr) formal←c103432)+15) ))+5)
), 0, pd313);
};
SOURCE(26892, 29)
{
word pd314;
pd314 = (* (( (ptr) (* (( (ptr) gf←c103400)+303)/* var←c92232 */ ))+14) );
(void) ( *( (fPt) ((* (ptr) pd314 ))))((* (( (ptr) formal←c103432)+4) ), (* (( (ptr) formal←c103432)+6) ), pd314);
};
};
}
else {
SOURCE(26933, 41)
{
word pd315;
pd315 = (* (( (ptr) (* (( (ptr) gf←c103400)+310)/* var←c93352 */ ))+36) );
(void) ( *( (fPt) ((* (ptr) pd315 ))))((* (( (ptr) formal←c103432)+4) ), (* (( (ptr) (* (( (ptr) formal←c103432)+15) ))+5)
), 0, pd315);
};
};
SOURCE(26976, 71)
{
W2 var←c95464;
W2 var←c95496;
var←c95464.f0 = (* (ptr) (* (( (ptr) formal←c103432)+16) ) );
var←c95464.f1 = (* (( (ptr) (* (( (ptr) formal←c103432)+16) ))+1) );
var←c95496.f0 = (* (( (ptr) (* (( (ptr) formal←c103432)+16) ))+2) );
var←c95496.f1 = (* (( (ptr) (* (( (ptr) formal←c103432)+16) ))+3) );
(void) BoxDrawAll←P1980((* (( (ptr) formal←c103432)+4) ), (* (( (ptr) formal←c103432)+15) ), var←c95464, var←c95496, (* (
( (ptr) formal←c103432)+5) ));
};
}
static void RubberbandBox←P7440(formal←c103496)
word formal←c103496;
{
register ptr gf←c103464 = (ptr) &globalframe;
formal←c103496 = (formal←c103496 - 28);
/* RubberbandBox: */
SOURCE(27099, 22)
SOURCE(27123, 41)
{
word pd316;
pd316 = (* (( (ptr) (* (( (ptr) gf←c103464)+310)/* var←c93352 */ ))+36) );
(void) ( *( (fPt) ((* (ptr) pd316 ))))((* (( (ptr) formal←c103496)+4) ), (* (( (ptr) (* (( (ptr) formal←c103496)+15) ))+5)
), 0, pd316);
};
SOURCE(27166, 53)
(void) BoxDrawAll←P1980((* (( (ptr) formal←c103496)+4) ), (* (( (ptr) formal←c103496)+15) ), (* (W2Pt) (( (ptr) formal←c103496)+11)
), (* (W2Pt) (( (ptr) formal←c103496)+13) ), (* (( (ptr) formal←c103496)+5) ));
}
static void BoxDrawAttractorFeedback←P1500(formal←c01530, formal←c01531, selectedParts←v13080, dragInProgress←v13108, formal←c01532, formal←c01533, editConstraints←v13192)
word formal←c01530;
word formal←c01531;
word selectedParts←v13080;
word dragInProgress←v13108;
word formal←c01532;
word formal←c01533;
word editConstraints←v13192;
{
W10 var←c103528;
/* declaration of slice←v13024 skipped */
/* declaration of attractorParts←v13052 skipped */
/* declaration of dc←v13136 skipped */
/* declaration of camera←v13164 skipped */
register ptr gf←c103560 = (ptr) &globalframe;
/* declaration of var←c95528 skipped */
(* (( (ptr) &var←c103528)+4)/* slice←v13024 */ ) = formal←c01530;
(* (( (ptr) &var←c103528)+5)/* attractorParts←v13052 */ ) = formal←c01531;
(* (( (ptr) &var←c103528)+6)/* dc←v13136 */ ) = formal←c01532;
(* (( (ptr) &var←c103528)+7)/* camera←v13164 */ ) = formal←c01533;
/* BoxDrawAttractorFeedback: */
SOURCE(27265, 1984)
{
word tmpAddr317;
tmpAddr317 = (word) (( (ptr) &var←c103528)+8)/* var←c95528 */ ;
(* (ptr) tmpAddr317 ) = ( ((word) (fPt) DoDrawAttractorFeedback←P7500) );
(* (( (ptr) tmpAddr317) + 1) ) = 1;
};
SOURCE(29129, 120)
if ( ( ((0 == dragInProgress←v13108) || (selectedParts←v13080 == 0)) ? ((* (ptr) (* (( (ptr) &var←c103528)+7)/* camera←v13164 */ ) ) != 2) : 0 ) ) {
SOURCE(29207, 42)
{
word pd318;
pd318 = (* (( (ptr) (* (( (ptr) gf←c103560)+303)/* var←c92232 */ ))+12) );
(void) ( *( (fPt) ((* (ptr) pd318 ))))((* (( (ptr) &var←c103528)+6)/* dc←v13136 */ ), (word) (( (bPt) &var←c103528)+32)
/* var←c95528 */ , pd318);
};
};
}
static void DoDrawAttractorFeedback←P7500(formal←c103624)
word formal←c103624;
{
register ptr gf←c103592 = (ptr) &globalframe;
word boxData←v27980;
word boxParts←v28008;
word drawAll←v28036;
word t←v28064;
W2 tLL←v28092;
W2 tUR←v28120;
W4 drawn←v28148;
W8 pts←v28176;
formal←c103624 = (formal←c103624 - 32);
/* DoDrawAttractorFeedback: */
SOURCE(27462, 1647)
SOURCE(27496, 37)
boxData←v27980 = XR←Narrow((* (( (ptr) (* (( (ptr) formal←c103624)+4) ))+1) ), (* (( (ptr) gf←c103592)+25) ));
SOURCE(27535, 43)
boxParts←v28008 = XR←Narrow((* (( (ptr) formal←c103624)+5) ), (* (( (ptr) gf←c103592)+28) ));
SOURCE(27600, 55)
drawAll←v28036 = (unsigned) ( (0 != (* (( (ptr) boxParts←v28008)+8) )) ? 1 : (0 != (word) IsComplete←P2520(boxParts←v28008)
) ) ;
SOURCE(27657, 37)
t←v28064 = (* (( (ptr) boxData←v27980)+1) );
SOURCE(27696, 92)
{
word x319;
float tf320;
float tf321;
word x322;
float tf323;
tLL←v28092.f0 = (
tf323 = FMIN((
x319 = (* (ptr) (* (ptr) boxData←v27980 ) ), *(float*)&x319
), (
x322 = (* (( (ptr) (* (ptr) boxData←v27980 ))+2) ), *(float*)&x322
), tf320, tf321), *(word*)&tf323
);
};
{
word x324;
float tf325;
float tf326;
word x327;
float tf328;
tLL←v28092.f1 = (
tf328 = FMIN((
x324 = (* (( (ptr) (* (ptr) boxData←v27980 ))+1) ), *(float*)&x324
), (
x327 = (* (( (ptr) (* (ptr) boxData←v27980 ))+3) ), *(float*)&x327
), tf325, tf326), *(word*)&tf328
);
};
SOURCE(27790, 92)
{
word x329;
float tf330;
float tf331;
word x332;
float tf333;
tUR←v28120.f0 = (
tf333 = FMAX((
x329 = (* (ptr) (* (ptr) boxData←v27980 ) ), *(float*)&x329
), (
x332 = (* (( (ptr) (* (ptr) boxData←v27980 ))+2) ), *(float*)&x332
), tf330, tf331), *(word*)&tf333
);
};
{
word x334;
float tf335;
float tf336;
word x337;
float tf338;
tUR←v28120.f1 = (
tf338 = FMAX((
x334 = (* (( (ptr) (* (ptr) boxData←v27980 ))+1) ), *(float*)&x334
), (
x337 = (* (( (ptr) (* (ptr) boxData←v27980 ))+3) ), *(float*)&x337
), tf335, tf336), *(word*)&tf338
);
};
SOURCE(27884, 39)
XR←FillWords(&drawn←v28148, 4, 0);
SOURCE(27952, 47)
{
W2 var←c95656;
{
word pd339;
pd339 = (* (( (ptr) (* (( (ptr) gf←c103592)+301)/* var←c91976 */ ))+39) );
(void) ( *( (fPt) ((* (ptr) pd339 ))))((word) &var←c95656, t←v28064, tLL←v28092, pd339);
};
(* (W2Pt) &pts←v28176 ) = var←c95656;
};
SOURCE(28001, 59)
{
W2 var←c95688;
{
W2 var←c0511;
{
W2 var←c95720;
var←c95720.f0 = tLL←v28092.f0;
var←c95720.f1 = tUR←v28120.f1;
{
word pd340;
pd340 = (* (( (ptr) (* (( (ptr) gf←c103592)+301)/* var←c91976 */ ))+39) );
(void) ( *( (fPt) ((* (ptr) pd340 ))))((word) &var←c0511, t←v28064, var←c95720, pd340);
};
};
var←c95688 = var←c0511;
};
(* (W2Pt) (( (ptr) &pts←v28176)+2) ) = var←c95688;
};
SOURCE(28062, 47)
{
W2 var←c95752;
{
word pd341;
pd341 = (* (( (ptr) (* (( (ptr) gf←c103592)+301)/* var←c91976 */ ))+39) );
(void) ( *( (fPt) ((* (ptr) pd341 ))))((word) &var←c95752, t←v28064, tUR←v28120, pd341);
};
(* (W2Pt) (( (ptr) &pts←v28176)+4) ) = var←c95752;
};
SOURCE(28111, 59)
{
W2 var←c95784;
{
W2 var←c0516;
{
W2 var←c95816;
var←c95816.f0 = tUR←v28120.f0;
var←c95816.f1 = tLL←v28092.f1;
{
word pd342;
pd342 = (* (( (ptr) (* (( (ptr) gf←c103592)+301)/* var←c91976 */ ))+39) );
(void) ( *( (fPt) ((* (ptr) pd342 ))))((word) &var←c0516, t←v28064, var←c95816, pd342);
};
};
var←c95784 = var←c0516;
};
(* (W2Pt) (( (ptr) &pts←v28176)+6) ) = var←c95784;
};
SOURCE(28172, 486)
{
register word corner←v28292 = 0;
if (( (int)corner←v28292 > (int)3)) {
goto lab←L100047;
};
lab←L100050: ;
SOURCE(28205, 453)
if ((0 != drawAll←v28036)) { goto then0343;};
if ((0 != (* (( (ptr) boxParts←v28008)+BCK(corner←v28292, 4)) ))) {
then0343: ;
SOURCE(28249, 413)
{
word nextCorner←v28336;
word prevCorner←v28364;
SOURCE(28251, 40)
nextCorner←v28336 = IOP2( % , (int)(corner←v28292 + 1), (int)4);
SOURCE(28293, 40)
prevCorner←v28364 = IOP2( % , (int)(corner←v28292 + 3), (int)4);
SOURCE(28335, 97)
if ((0 == (* (( (ptr) &drawn←v28148)+BCK(corner←v28292, 4)) ))) {
SOURCE(28362, 48)
{
word pd344;
pd344 = (* (( (ptr) (* (( (ptr) gf←c103592)+312)/* var←c95848 */ ))+19) );
(void) ( *( (fPt) ((* (ptr) pd344 ))))((* (( (ptr) formal←c103624)+6) ), (* (( (W2Pt) &pts←v28176)+BCK(corner←v28292, 4)
) ), (* (( (ptr) (* (( (ptr) formal←c103624)+7) ))+4) ), pd344);
};
SOURCE(28412, 20)
(* (( (ptr) &drawn←v28148)+BCK(corner←v28292, 4)) ) = 1;
};
SOURCE(28436, 109)
if ((0 == (* (( (ptr) &drawn←v28148)+BCK(nextCorner←v28336, 4)) ))) {
SOURCE(28467, 52)
{
word pd345;
pd345 = (* (( (ptr) (* (( (ptr) gf←c103592)+312)/* var←c95848 */ ))+19) );
(void) ( *( (fPt) ((* (ptr) pd345 ))))((* (( (ptr) formal←c103624)+6) ), (* (( (W2Pt) &pts←v28176)+BCK(nextCorner←v28336, 4)
) ), (* (( (ptr) (* (( (ptr) formal←c103624)+7) ))+4) ), pd345);
};
SOURCE(28521, 24)
(* (( (ptr) &drawn←v28148)+BCK(nextCorner←v28336, 4)) ) = 1;
};
SOURCE(28549, 109)
if ((0 == (* (( (ptr) &drawn←v28148)+BCK(prevCorner←v28364, 4)) ))) {
SOURCE(28580, 52)
{
word pd346;
pd346 = (* (( (ptr) (* (( (ptr) gf←c103592)+312)/* var←c95848 */ ))+19) );
(void) ( *( (fPt) ((* (ptr) pd346 ))))((* (( (ptr) formal←c103624)+6) ), (* (( (W2Pt) &pts←v28176)+BCK(prevCorner←v28364, 4)
) ), (* (( (ptr) (* (( (ptr) formal←c103624)+7) ))+4) ), pd346);
};
SOURCE(28634, 24)
(* (( (ptr) &drawn←v28148)+BCK(prevCorner←v28364, 4)) ) = 1;
};
};
};
if (( (int)corner←v28292 >= (int)3)) {
goto lab←L100047;
};
corner←v28292 = (corner←v28292 + 1);
goto lab←L100050;
lab←L100047: ;
};
SOURCE(28674, 182)
if ((0 != drawAll←v28036)) {
SOURCE(28706, 150)
{
W2 var←c95880;
{
W2 var←c0522;
{
W2 var←c95912;
{
word x347;
word x348;
word x349;
*(float*)&var←c95912.f0 = ((
x347 = (* (ptr) (* (ptr) boxData←v27980 ) ), *(float*)&x347
) + (
x348 = (* (( (ptr) (* (ptr) boxData←v27980 ))+2) ), *(float*)&x348
)) / (
x349 = (* (ptr) &fc101 ), *(float*)&x349
);
};
{
word x350;
word x351;
word x352;
*(float*)&var←c95912.f1 = ((
x350 = (* (( (ptr) (* (ptr) boxData←v27980 ))+1) ), *(float*)&x350
) + (
x351 = (* (( (ptr) (* (ptr) boxData←v27980 ))+3) ), *(float*)&x351
)) / (
x352 = (* (ptr) &fc101 ), *(float*)&x352
);
};
{
word pd353;
pd353 = (* (( (ptr) (* (( (ptr) gf←c103592)+301)/* var←c91976 */ ))+39) );
(void) ( *( (fPt) ((* (ptr) pd353 ))))((word) &var←c0522, t←v28064, var←c95912, pd353);
};
};
var←c95880 = var←c0522;
};
{
word pd354;
pd354 = (* (( (ptr) (* (( (ptr) gf←c103592)+312)/* var←c95848 */ ))+19) );
(void) ( *( (fPt) ((* (ptr) pd354 ))))((* (( (ptr) formal←c103624)+6) ), var←c95880, (* (( (ptr) (* (( (ptr) formal←c103624)+7)
))+4) ), pd354);
};
};
};
SOURCE(28859, 250)
if ((0 == drawAll←v28036)) {
SOURCE(28881, 228)
{
register word edge←v28408 = 0;
if (( (int)edge←v28408 > (int)3)) {
goto lab←L100051;
};
lab←L100054: ;
SOURCE(28912, 197)
if ((0 != (* ((( (ptr) boxParts←v28008)+4)+BCK(edge←v28408, 4)) ))) {
SOURCE(28943, 70)
if ((0 == (* (( (ptr) &drawn←v28148)+BCK(edge←v28408, 4)) ))) {
SOURCE(28967, 46)
{
word pd355;
pd355 = (* (( (ptr) (* (( (ptr) gf←c103592)+312)/* var←c95848 */ ))+19) );
(void) ( *( (fPt) ((* (ptr) pd355 ))))((* (( (ptr) formal←c103624)+6) ), (* (( (W2Pt) &pts←v28176)+BCK(edge←v28408, 4)) ), (* (
( (ptr) (* (( (ptr) formal←c103624)+7) ))+4) ), pd355);
};
};
SOURCE(29015, 94)
{
word idx356;
if ((0 == (* (( (ptr) &drawn←v28148)+(
idx356 = (word) IOP2( % , (int)(edge←v28408 + 1), (int)4),
BCK(idx356, 4)
)) ))) {
SOURCE(29051, 58)
{
word pd357;
word idx358;
pd357 = (* (( (ptr) (* (( (ptr) gf←c103592)+312)/* var←c95848 */ ))+19) );
(void) ( *( (fPt) ((* (ptr) pd357 ))))((* (( (ptr) formal←c103624)+6) ), (* (( (W2Pt) &pts←v28176)+(
/*1*/ idx358 = (word) IOP2( % , (int)(edge←v28408 + 1), (int)4),
/*1*/ BCK(idx358, 4)
/*1*/ )) ), (* (( (ptr) (* (( (ptr) formal←c103624)+7) ))+4) ), pd357);
};
};
};
};
if (( (int)edge←v28408 >= (int)3)) {
goto lab←L100051;
};
edge←v28408 = (edge←v28408 + 1);
goto lab←L100054;
lab←L100051: ;
};
};
}
static word BoxAttractorFeedbackBoundBox←P1560(slice←v13252, attractorParts←v13280, selectedParts←v13308, dragInProgress←v13336, camera←v13364, editConstraints←v13392)
word slice←v13252;
word attractorParts←v13280;
word selectedParts←v13308;
word dragInProgress←v13336;
word camera←v13364;
word editConstraints←v13392;
{
register ptr gf←c103656 = (ptr) &globalframe;
word box←v13436;
/* BoxAttractorFeedbackBoundBox: */
SOURCE(29255, 1994)
SOURCE(29255, 1994)
box←v13436 = 0;
SOURCE(29460, 31)
{
word pd359;
pd359 = (* (( (ptr) (* (( (ptr) gf←c103656)+304)/* var←c92328 */ ))+6) );
box←v13436 = (word) ( *( (fPt) ((* (ptr) pd359 ))))(pd359);
};
SOURCE(29493, 1756)
if ( ( ((0 == dragInProgress←v13336) || (selectedParts←v13308 == 0)) ? ((* (ptr) camera←v13364 ) != 2) : 0 ) ) {
SOURCE(29571, 1680)
{
word boxData←v28452;
word boxParts←v28480;
word drawAll←v28508;
word t←v28536;
W2 tLL←v28564;
W2 tUR←v28592;
W4 drawn←v28620;
W8 pts←v28648;
SOURCE(29573, 37)
boxData←v28452 = XR←Narrow((* (( (ptr) slice←v13252)+1) ), (* (( (ptr) gf←c103656)+25) ));
SOURCE(29612, 43)
boxParts←v28480 = XR←Narrow(attractorParts←v13280, (* (( (ptr) gf←c103656)+28) ));
SOURCE(29677, 55)
drawAll←v28508 = (unsigned) ( (0 != (* (( (ptr) boxParts←v28480)+8) )) ? 1 : (0 != (word) IsComplete←P2520(boxParts←v28480)
) ) ;
SOURCE(29734, 37)
t←v28536 = (* (( (ptr) boxData←v28452)+1) );
SOURCE(29773, 92)
{
word x360;
float tf361;
float tf362;
word x363;
float tf364;
tLL←v28564.f0 = (
tf364 = FMIN((
x360 = (* (ptr) (* (ptr) boxData←v28452 ) ), *(float*)&x360
), (
x363 = (* (( (ptr) (* (ptr) boxData←v28452 ))+2) ), *(float*)&x363
), tf361, tf362), *(word*)&tf364
);
};
{
word x365;
float tf366;
float tf367;
word x368;
float tf369;
tLL←v28564.f1 = (
tf369 = FMIN((
x365 = (* (( (ptr) (* (ptr) boxData←v28452 ))+1) ), *(float*)&x365
), (
x368 = (* (( (ptr) (* (ptr) boxData←v28452 ))+3) ), *(float*)&x368
), tf366, tf367), *(word*)&tf369
);
};
SOURCE(29867, 92)
{
word x370;
float tf371;
float tf372;
word x373;
float tf374;
tUR←v28592.f0 = (
tf374 = FMAX((
x370 = (* (ptr) (* (ptr) boxData←v28452 ) ), *(float*)&x370
), (
x373 = (* (( (ptr) (* (ptr) boxData←v28452 ))+2) ), *(float*)&x373
), tf371, tf372), *(word*)&tf374
);
};
{
word x375;
float tf376;
float tf377;
word x378;
float tf379;
tUR←v28592.f1 = (
tf379 = FMAX((
x375 = (* (( (ptr) (* (ptr) boxData←v28452 ))+1) ), *(float*)&x375
), (
x378 = (* (( (ptr) (* (ptr) boxData←v28452 ))+3) ), *(float*)&x378
), tf376, tf377), *(word*)&tf379
);
};
SOURCE(29961, 39)
XR←FillWords(&drawn←v28620, 4, 0);
SOURCE(30029, 47)
{
W2 var←c96040;
{
word pd380;
pd380 = (* (( (ptr) (* (( (ptr) gf←c103656)+301)/* var←c91976 */ ))+39) );
(void) ( *( (fPt) ((* (ptr) pd380 ))))((word) &var←c96040, t←v28536, tLL←v28564, pd380);
};
(* (W2Pt) &pts←v28648 ) = var←c96040;
};
SOURCE(30078, 59)
{
W2 var←c96072;
{
W2 var←c0543;
{
W2 var←c96104;
var←c96104.f0 = tLL←v28564.f0;
var←c96104.f1 = tUR←v28592.f1;
{
word pd381;
pd381 = (* (( (ptr) (* (( (ptr) gf←c103656)+301)/* var←c91976 */ ))+39) );
(void) ( *( (fPt) ((* (ptr) pd381 ))))((word) &var←c0543, t←v28536, var←c96104, pd381);
};
};
var←c96072 = var←c0543;
};
(* (W2Pt) (( (ptr) &pts←v28648)+2) ) = var←c96072;
};
SOURCE(30139, 47)
{
W2 var←c96136;
{
word pd382;
pd382 = (* (( (ptr) (* (( (ptr) gf←c103656)+301)/* var←c91976 */ ))+39) );
(void) ( *( (fPt) ((* (ptr) pd382 ))))((word) &var←c96136, t←v28536, tUR←v28592, pd382);
};
(* (W2Pt) (( (ptr) &pts←v28648)+4) ) = var←c96136;
};
SOURCE(30188, 59)
{
W2 var←c96168;
{
W2 var←c0548;
{
W2 var←c96200;
var←c96200.f0 = tUR←v28592.f0;
var←c96200.f1 = tLL←v28564.f1;
{
word pd383;
pd383 = (* (( (ptr) (* (( (ptr) gf←c103656)+301)/* var←c91976 */ ))+39) );
(void) ( *( (fPt) ((* (ptr) pd383 ))))((word) &var←c0548, t←v28536, var←c96200, pd383);
};
};
var←c96168 = var←c0548;
};
(* (W2Pt) (( (ptr) &pts←v28648)+6) ) = var←c96168;
};
SOURCE(30249, 470)
{
register word corner←v28764 = 0;
if (( (int)corner←v28764 > (int)3)) {
goto lab←L100055;
};
lab←L100058: ;
SOURCE(30282, 437)
if ((0 != drawAll←v28508)) { goto then0384;};
if ((0 != (* (( (ptr) boxParts←v28480)+BCK(corner←v28764, 4)) ))) {
then0384: ;
SOURCE(30326, 397)
{
word nextCorner←v28808;
word prevCorner←v28836;
SOURCE(30328, 40)
nextCorner←v28808 = IOP2( % , (int)(corner←v28764 + 1), (int)4);
SOURCE(30370, 40)
prevCorner←v28836 = IOP2( % , (int)(corner←v28764 + 3), (int)4);
SOURCE(30412, 92)
if ((0 == (* (( (ptr) &drawn←v28620)+BCK(corner←v28764, 4)) ))) {
SOURCE(30439, 43)
{
word pd385;
pd385 = (* (( (ptr) (* (( (ptr) gf←c103656)+304)/* var←c92328 */ ))+15) );
(void) ( *( (fPt) ((* (ptr) pd385 ))))(box←v13436, (* (( (W2Pt) &pts←v28648)+BCK(corner←v28764, 4)) ), pd385);
};
SOURCE(30484, 20)
(* (( (ptr) &drawn←v28620)+BCK(corner←v28764, 4)) ) = 1;
};
SOURCE(30507, 104)
if ((0 == (* (( (ptr) &drawn←v28620)+BCK(nextCorner←v28808, 4)) ))) {
SOURCE(30538, 47)
{
word pd386;
pd386 = (* (( (ptr) (* (( (ptr) gf←c103656)+304)/* var←c92328 */ ))+15) );
(void) ( *( (fPt) ((* (ptr) pd386 ))))(box←v13436, (* (( (W2Pt) &pts←v28648)+BCK(nextCorner←v28808, 4)) ), pd386);
};
SOURCE(30587, 24)
(* (( (ptr) &drawn←v28620)+BCK(nextCorner←v28808, 4)) ) = 1;
};
SOURCE(30615, 104)
if ((0 == (* (( (ptr) &drawn←v28620)+BCK(prevCorner←v28836, 4)) ))) {
SOURCE(30646, 47)
{
word pd387;
pd387 = (* (( (ptr) (* (( (ptr) gf←c103656)+304)/* var←c92328 */ ))+15) );
(void) ( *( (fPt) ((* (ptr) pd387 ))))(box←v13436, (* (( (W2Pt) &pts←v28648)+BCK(prevCorner←v28836, 4)) ), pd387);
};
SOURCE(30695, 24)
(* (( (ptr) &drawn←v28620)+BCK(prevCorner←v28836, 4)) ) = 1;
};
};
};
if (( (int)corner←v28764 >= (int)3)) {
goto lab←L100055;
};
corner←v28764 = (corner←v28764 + 1);
goto lab←L100058;
lab←L100055: ;
};
SOURCE(30735, 177)
if ((0 != drawAll←v28508)) {
SOURCE(30767, 145)
{
W2 var←c96232;
{
W2 var←c0554;
{
W2 var←c96264;
{
word x388;
word x389;
word x390;
*(float*)&var←c96264.f0 = ((
x388 = (* (ptr) (* (ptr) boxData←v28452 ) ), *(float*)&x388
) + (
x389 = (* (( (ptr) (* (ptr) boxData←v28452 ))+2) ), *(float*)&x389
)) / (
x390 = (* (ptr) &fc101 ), *(float*)&x390
);
};
{
word x391;
word x392;
word x393;
*(float*)&var←c96264.f1 = ((
x391 = (* (( (ptr) (* (ptr) boxData←v28452 ))+1) ), *(float*)&x391
) + (
x392 = (* (( (ptr) (* (ptr) boxData←v28452 ))+3) ), *(float*)&x392
)) / (
x393 = (* (ptr) &fc101 ), *(float*)&x393
);
};
{
word pd394;
pd394 = (* (( (ptr) (* (( (ptr) gf←c103656)+301)/* var←c91976 */ ))+39) );
(void) ( *( (fPt) ((* (ptr) pd394 ))))((word) &var←c0554, t←v28536, var←c96264, pd394);
};
};
var←c96232 = var←c0554;
};
{
word pd395;
pd395 = (* (( (ptr) (* (( (ptr) gf←c103656)+304)/* var←c92328 */ ))+15) );
(void) ( *( (fPt) ((* (ptr) pd395 ))))(box←v13436, var←c96232, pd395);
};
};
};
SOURCE(30915, 240)
if ((0 == drawAll←v28508)) {
SOURCE(30937, 218)
{
register word edge←v28880 = 0;
if (( (int)edge←v28880 > (int)3)) {
goto lab←L100059;
};
lab←L100062: ;
SOURCE(30968, 187)
if ((0 != (* ((( (ptr) boxParts←v28480)+4)+BCK(edge←v28880, 4)) ))) {
SOURCE(30999, 65)
if ((0 == (* (( (ptr) &drawn←v28620)+BCK(edge←v28880, 4)) ))) {
SOURCE(31023, 41)
{
word pd396;
pd396 = (* (( (ptr) (* (( (ptr) gf←c103656)+304)/* var←c92328 */ ))+15) );
(void) ( *( (fPt) ((* (ptr) pd396 ))))(box←v13436, (* (( (W2Pt) &pts←v28648)+BCK(edge←v28880, 4)) ), pd396);
};
};
SOURCE(31066, 89)
{
word idx397;
if ((0 == (* (( (ptr) &drawn←v28620)+(
idx397 = (word) IOP2( % , (int)(edge←v28880 + 1), (int)4),
BCK(idx397, 4)
)) ))) {
SOURCE(31102, 53)
{
word pd398;
word idx399;
pd398 = (* (( (ptr) (* (( (ptr) gf←c103656)+304)/* var←c92328 */ ))+15) );
(void) ( *( (fPt) ((* (ptr) pd398 ))))(box←v13436, (* (( (W2Pt) &pts←v28648)+(
/*1*/ idx399 = (word) IOP2( % , (int)(edge←v28880 + 1), (int)4),
/*1*/ BCK(idx399, 4)
/*1*/ )) ), pd398);
};
};
};
};
if (( (int)edge←v28880 >= (int)3)) {
goto lab←L100059;
};
edge←v28880 = (edge←v28880 + 1);
goto lab←L100062;
lab←L100059: ;
};
};
SOURCE(31172, 77)
{
word pd400;
word x402;
word x403;
word x404;
float tf405;
pd400 = (* (( (ptr) (* (( (ptr) gf←c103656)+304)/* var←c92328 */ ))+17) );
(void) ( *( (fPt) ((* (ptr) pd400 ))))(box←v13436, (
tf405 = ((
x402 = (* (ptr) &fc401 ), *(float*)&x402
) * (
x403 = (* (( (ptr) camera←v13364)+4) ), *(float*)&x403
)) + (
x404 = (* (ptr) &fc137 ), *(float*)&x404
), *(word*)&tf405
), pd400);
};
};
};
SOURCE(29255, 1994)
return(box←v13436);
}
static void BoxDrawSelectionFeedback←P1620(slice←v13496, selectedParts←v13524, hotParts←v13552, dc←v13580, camera←v13608, dragInProgress←v13636, caretIsMoving←v13664, hideHot←v13692, quick←v13720)
word slice←v13496;
word selectedParts←v13524;
word hotParts←v13552;
word dc←v13580;
word camera←v13608;
word dragInProgress←v13636;
word caretIsMoving←v13664;
word hideHot←v13692;
word quick←v13720;
{
register ptr gf←c103688 = (ptr) &globalframe;
word slowNormal←v28924 = 0;
word slowHot←v28952 = 0;
word completeNormal←v28980 = 0;
word completeHot←v29008 = 0;
W2 firstJoint←v29036;
word normalBoxParts←v29064 = 0;
word hotBoxParts←v29092 = 0;
word boxData←v29120;
word transform←v29148;
/* BoxDrawSelectionFeedback: */
SOURCE(31258, 1755)
SOURCE(31568, 37)
boxData←v29120 = XR←Narrow((* (( (ptr) slice←v13496)+1) ), (* (( (ptr) gf←c103688)+25) ));
SOURCE(31607, 45)
transform←v29148 = (* (( (ptr) boxData←v29120)+1) );
SOURCE(31655, 72)
if (((0 != caretIsMoving←v13664) || (0 != dragInProgress←v13636)) || ((* (ptr) camera←v13608 ) == 2)) {
SOURCE(31721, 6)
return;
};
SOURCE(31729, 49)
if ( ( (selectedParts←v13524 == 0) ? (hotParts←v13552 == 0) : 0 ) ) {
SOURCE(31772, 6)
return;
};
SOURCE(31780, 38)
normalBoxParts←v29064 = XR←Narrow(selectedParts←v13524, (* (( (ptr) gf←c103688)+28) ));
SOURCE(31820, 30)
hotBoxParts←v29092 = XR←Narrow(hotParts←v13552, (* (( (ptr) gf←c103688)+28) ));
SOURCE(31852, 66)
if ((normalBoxParts←v29064 != 0)) {
completeNormal←v28980 = (unsigned) (0 != (word) IsComplete←P2520(normalBoxParts←v29064));
}
else {
completeNormal←v28980 = (unsigned) 0;
};
SOURCE(31920, 57)
if ((hotBoxParts←v29092 != 0)) {
completeHot←v29008 = (unsigned) (0 != (word) IsComplete←P2520(hotBoxParts←v29092));
}
else {
completeHot←v29008 = (unsigned) 0;
};
SOURCE(31979, 81)
if ((normalBoxParts←v29064 != 0)) {
if ((0 == quick←v13720)) {
slowNormal←v28924 = (unsigned) 1;
}
else {
if ((0 != quick←v13720)) {
slowNormal←v28924 = (unsigned) (0 == completeNormal←v28980);
}
else {
slowNormal←v28924 = (unsigned) 0;
};
};
}
else {
slowNormal←v28924 = (unsigned) 0;
};
SOURCE(32062, 72)
if ((hotBoxParts←v29092 != 0)) {
if ((0 == quick←v13720)) {
slowHot←v28952 = (unsigned) 1;
}
else {
if ((0 != quick←v13720)) {
slowHot←v28952 = (unsigned) (0 == completeHot←v29008);
}
else {
slowHot←v28952 = (unsigned) 0;
};
};
}
else {
slowHot←v28952 = (unsigned) 0;
};
SOURCE(32136, 335)
if (((0 != slowNormal←v28924) && (0 != slowHot←v28952))) {
SOURCE(32167, 98)
(void) DrawSelectionFeedbackBox←P1920(slice←v13496, boxData←v29120, normalBoxParts←v29064, hotBoxParts←v29092, dc←v13580, transform←v29148
, camera←v13608);
}
else {
SOURCE(32265, 206)
if ((0 != slowNormal←v28924)) {
SOURCE(32284, 90)
(void) DrawSelectionFeedbackBox←P1920(slice←v13496, boxData←v29120, normalBoxParts←v29064, 0, dc←v13580, transform←v29148
, camera←v13608);
}
else {
SOURCE(32374, 97)
if ((0 != slowHot←v28952)) {
SOURCE(32390, 81)
(void) DrawSelectionFeedbackBox←P1920(slice←v13496, boxData←v29120, 0, hotBoxParts←v29092, dc←v13580, transform←v29148
, camera←v13608);
};
};
};
SOURCE(32473, 316)
if ( ( (0 == slowNormal←v28924) ? (0 != completeNormal←v28980) : 0 ) || ( (0 == slowHot←v28952) ? (0 != completeHot←v29008) : 0 ) ) {
SOURCE(32550, 241)
{
word fullParts←v29192;
SOURCE(32552, 76)
fullParts←v29192 = ( (0 != completeNormal←v28980) ? normalBoxParts←v29064 : hotBoxParts←v29092 ) ;
SOURCE(32630, 34)
{
word var←c96296;
word pd406;
pd406 = (* (( (ptr) (* (( (ptr) gf←c103688)+305)/* var←c92456 */ ))+9) );
var←c96296 = (word) ( *( (fPt) ((* (ptr) pd406 ))))(slice←v13496, 0, pd406);
};
SOURCE(32699, 90)
{
W2 var←c0577;
{
W2 var←c96328;
var←c96328.f0 = (* (ptr) (* (ptr) boxData←v29120 ) );
var←c96328.f1 = (* (( (ptr) (* (ptr) boxData←v29120 ))+1) );
{
word pd407;
pd407 = (* (( (ptr) (* (( (ptr) gf←c103688)+301)/* var←c91976 */ ))+39) );
(void) ( *( (fPt) ((* (ptr) pd407 ))))((word) &var←c0577, transform←v29148, var←c96328, pd407);
};
};
firstJoint←v29036 = var←c0577;
};
};
};
SOURCE(32794, 104)
if ( ( (0 == slowHot←v28952) ? (0 != completeHot←v29008) : 0 ) ) {
SOURCE(32830, 68)
{
word pd408;
pd408 = (* (( (ptr) (* (( (ptr) gf←c103688)+312)/* var←c95848 */ ))+21) );
(void) ( *( (fPt) ((* (ptr) pd408 ))))(dc←v13580, firstJoint←v29036, 1, (* (( (ptr) camera←v13608)+4) ), pd408);
};
};
SOURCE(32900, 113)
if ( ( (0 == slowNormal←v28924) ? (0 != completeNormal←v28980) : 0 ) ) {
SOURCE(32942, 71)
{
word pd409;
pd409 = (* (( (ptr) (* (( (ptr) gf←c103688)+312)/* var←c95848 */ ))+21) );
(void) ( *( (fPt) ((* (ptr) pd409 ))))(dc←v13580, firstJoint←v29036, 0, (* (( (ptr) camera←v13608)+4) ), pd409);
};
};
}
static void RenderText←P1680(formal←c01534, formal←c01535, formal←c01536, quick←v13864)
word formal←c01534;
word formal←c01535;
word formal←c01536;
word quick←v13864;
{
W10 var←c103720;
/* declaration of dc←v13780 skipped */
/* declaration of slice←v13808 skipped */
/* declaration of camera←v13836 skipped */
register ptr gf←c103752 = (ptr) &globalframe;
/* declaration of var←c96360 skipped */
/* declaration of boxData←v29264 skipped */
(* (( (ptr) &var←c103720)+4)/* dc←v13780 */ ) = formal←c01534;
(* (( (ptr) &var←c103720)+5)/* slice←v13808 */ ) = formal←c01535;
(* (( (ptr) &var←c103720)+6)/* camera←v13836 */ ) = formal←c01536;
/* RenderText: */
SOURCE(33019, 745)
{
word tmpAddr410;
tmpAddr410 = (word) (( (ptr) &var←c103720)+7)/* var←c96360 */ ;
(* (ptr) tmpAddr410 ) = ( ((word) (fPt) DoRenderText←P7944) );
(* (( (ptr) tmpAddr410) + 1) ) = 1;
};
SOURCE(33660, 37)
(* (( (ptr) &var←c103720)+9)/* boxData←v29264 */ ) = XR←Narrow((* (( (ptr) (* (( (ptr) &var←c103720)+5)/* slice←v13808 */ ))+1)
), (* (( (ptr) gf←c103752)+25) ));
SOURCE(33699, 65)
if (((* (( (ptr) (* (( (ptr) &var←c103720)+9)/* boxData←v29264 */ ))+7) ) != 0)) {
SOURCE(33733, 31)
{
word pd411;
pd411 = (* (( (ptr) (* (( (ptr) gf←c103752)+303)/* var←c92232 */ ))+12) );
(void) ( *( (fPt) ((* (ptr) pd411 ))))((* (( (ptr) &var←c103720)+4)/* dc←v13780 */ ), (word) (( (bPt) &var←c103720)+28)
/* var←c96360 */ , pd411);
};
};
}
static void DoRenderText←P7944(formal←c103816)
word formal←c103816;
{
register ptr gf←c103784 = (ptr) &globalframe;
W2 refPoint←v29324;
formal←c103816 = (formal←c103816 - 28);
/* DoRenderText: */
SOURCE(33111, 544)
SOURCE(33137, 52)
refPoint←v29324.f0 = (* (ptr) (* (ptr) (* (( (ptr) formal←c103816)+9) ) ) );
refPoint←v29324.f1 = (* (( (ptr) (* (ptr) (* (( (ptr) formal←c103816)+9) ) ))+3) );
SOURCE(33191, 37)
{
word pd412;
pd412 = (* (( (ptr) (* (( (ptr) gf←c103784)+303)/* var←c92232 */ ))+14) );
(void) ( *( (fPt) ((* (ptr) pd412 ))))((* (( (ptr) formal←c103816)+4) ), (* (( (ptr) (* (( (ptr) formal←c103816)+9) ))+1)
), pd412);
};
SOURCE(33230, 33)
{
word pd413;
pd413 = (* (( (ptr) (* (( (ptr) gf←c103784)+303)/* var←c92232 */ ))+52) );
(void) ( *( (fPt) ((* (ptr) pd413 ))))((* (( (ptr) formal←c103816)+4) ), (* (ptr) (* (( (ptr) (* (( (ptr) gf←c103784)+303)
/* var←c92232 */ ))+54) ) ), pd413);
};
SOURCE(33265, 286)
{
word var←c96424;
var←c96424 = (* (( (ptr) (* (( (ptr) formal←c103816)+6) ))+1) );
if ((var←c96424 == 1)) {
SOURCE(33307, 62)
if ((0 == (* (( (ptr) (* (( (ptr) formal←c103816)+9) ))+13) ))) {
SOURCE(33341, 28)
(void) FlipBoxStyle←P1320((* (( (ptr) formal←c103816)+5) ), (* (( (ptr) formal←c103816)+9) ));
};
}
else {
if ((var←c96424 == 0)) {
SOURCE(33380, 171)
{
word var←c96456;
var←c96456 = (* (( (ptr) (* (( (ptr) formal←c103816)+9) ))+12) );
if ((var←c96456 == 1)) {
SOURCE(33420, 62)
if ((0 == (* (( (ptr) (* (( (ptr) formal←c103816)+9) ))+13) ))) {
SOURCE(33454, 28)
(void) FlipBoxStyle←P1320((* (( (ptr) formal←c103816)+5) ), (* (( (ptr) formal←c103816)+9) ));
};
}
else {
if ((var←c96456 == 0)) {
SOURCE(33493, 58)
if ((0 != (* (( (ptr) (* (( (ptr) formal←c103816)+9) ))+13) ))) {
SOURCE(33523, 28)
(void) FlipBoxStyle←P1320((* (( (ptr) formal←c103816)+5) ), (* (( (ptr) formal←c103816)+9) ));
};
};
};
};
};
};
};
SOURCE(33571, 84)
{
word pd414;
pd414 = (* (( (ptr) (* (( (ptr) gf←c103784)+306)/* var←c92584 */ ))+16) );
(void) ( *( (fPt) ((* (ptr) pd414 ))))((* (( (ptr) (* (( (ptr) formal←c103816)+9) ))+9) ), (* (( (ptr) formal←c103816)+4)
), refPoint←v29324, pd414);
};
}
static void DrawSingleStrokeBox←P1740(dc←v13924, slice←v13952)
word dc←v13924;
word slice←v13952;
{
W7 var←c103848;
register ptr gf←c103880 = (ptr) &globalframe;
/* declaration of var←c96488 skipped */
/* declaration of boxData←v29396 skipped */
/* DrawSingleStrokeBox: */
SOURCE(33770, 341)
{
word tmpAddr415;
tmpAddr415 = (word) (( (ptr) &var←c103848)+4)/* var←c96488 */ ;
(* (ptr) tmpAddr415 ) = ( ((word) (fPt) BuildPath←P8004) );
(* (( (ptr) tmpAddr415) + 1) ) = 1;
};
SOURCE(34031, 37)
var←c103848.f6/* boxData←v29396 */ = XR←Narrow((* (( (ptr) slice←v13952)+1) ), (* (( (ptr) gf←c103880)+25) ));
SOURCE(34070, 41)
(void) MaskStrokeBoxPath←P1800(dc←v13924, var←c103848.f6/* boxData←v29396 */ , (word) (( (bPt) &var←c103848)+16)/* var←c96488 */ )
;
}
static void BuildPath←P8004(moveTo←v76148, lineTo←v76176, curveTo←v76204, conicTo←v76232, arcTo←v76260, formal←c103912)
word moveTo←v76148;
word lineTo←v76176;
word curveTo←v76204;
word conicTo←v76232;
word arcTo←v76260;
word formal←c103912;
{
W8 pts←v29440;
formal←c103912 = (formal←c103912 - 16);
/* BuildPath: */
SOURCE(33835, 191)
SOURCE(33866, 80)
(void) TransformedBoxPoints←P1200((word) &pts←v29440, (* (ptr) (* (( (ptr) formal←c103912)+6) ) ), (* (( (ptr) (* (( (ptr) formal←c103912)+6)
))+1) ));
SOURCE(33948, 14)
(void) ( *( (fPt) ((* (ptr) moveTo←v76148 ))))((* (W2Pt) (&pts←v29440) ), moveTo←v76148);
SOURCE(33964, 14)
(void) ( *( (fPt) ((* (ptr) lineTo←v76176 ))))((* (W2Pt) ((( (ptr) &pts←v29440)+2)) ), lineTo←v76176);
SOURCE(33980, 14)
(void) ( *( (fPt) ((* (ptr) lineTo←v76176 ))))((* (W2Pt) ((( (ptr) &pts←v29440)+4)) ), lineTo←v76176);
SOURCE(33996, 14)
(void) ( *( (fPt) ((* (ptr) lineTo←v76176 ))))((* (W2Pt) ((( (ptr) &pts←v29440)+6)) ), lineTo←v76176);
SOURCE(34012, 14)
(void) ( *( (fPt) ((* (ptr) lineTo←v76176 ))))((* (W2Pt) (&pts←v29440) ), lineTo←v76176);
}
static void MaskStrokeBoxPath←P1800(dc←v14012, boxData←v14040, pathProc←v14068)
word dc←v14012;
word boxData←v14040;
word pathProc←v14068;
{
W7 var←c103944;
register ptr gf←c103976 = (ptr) &globalframe;
/* declaration of var←c96520 skipped */
word firstSeg←v29548;
word strokeWidth←v29576;
/* declaration of pattern←v29604 skipped */
/* MaskStrokeBoxPath: */
SOURCE(34144, 679)
{
word tmpAddr416;
tmpAddr416 = (word) (( (ptr) &var←c103944)+4)/* var←c96520 */ ;
(* (ptr) tmpAddr416 ) = ( ((word) (fPt) PatternProc←P8064) );
(* (( (ptr) tmpAddr416) + 1) ) = 1;
};
SOURCE(34307, 39)
firstSeg←v29548 = (* (( (ptr) boxData←v14040)+36) );
SOURCE(34348, 40)
strokeWidth←v29576 = (* (( (ptr) firstSeg←v29548)+2) );
SOURCE(34390, 42)
var←c103944.f6/* pattern←v29604 */ = (* (( (ptr) firstSeg←v29548)+5) );
SOURCE(34434, 52)
{
word x417;
word x418;
if (((
x417 = strokeWidth←v29576, *(float*)&x417
) == (
x418 = (* (ptr) &fc216 ), *(float*)&x418
)) || ((* (( (ptr) firstSeg←v29548)+8) ) == 0)) {
SOURCE(34480, 6)
return;
};
};
SOURCE(34489, 38)
{
word pd419;
pd419 = (* (( (ptr) (* (( (ptr) gf←c103976)+303)/* var←c92232 */ ))+68) );
(void) ( *( (fPt) ((* (ptr) pd419 ))))(dc←v14012, strokeWidth←v29576, pd419);
};
SOURCE(34529, 43)
{
word pd420;
pd420 = (* (( (ptr) (* (( (ptr) gf←c103976)+303)/* var←c92232 */ ))+69) );
(void) ( *( (fPt) ((* (ptr) pd420 ))))(dc←v14012, (* (( (ptr) firstSeg←v29548)+3) ), pd420);
};
SOURCE(34574, 46)
{
word pd421;
pd421 = (* (( (ptr) (* (( (ptr) gf←c103976)+303)/* var←c92232 */ ))+70) );
(void) ( *( (fPt) ((* (ptr) pd421 ))))(dc←v14012, (* (( (ptr) boxData←v14040)+14) ), pd421);
};
SOURCE(34622, 35)
{
word pd422;
pd422 = (* (( (ptr) (* (( (ptr) gf←c103976)+303)/* var←c92232 */ ))+52) );
(void) ( *( (fPt) ((* (ptr) pd422 ))))(dc←v14012, (* (( (ptr) firstSeg←v29548)+8) ), pd422);
};
SOURCE(34659, 164)
if ((0 != (* (( (ptr) firstSeg←v29548)+4) ))) {
SOURCE(34683, 103)
{
word pd423;
pd423 = (* (( (ptr) (* (( (ptr) gf←c103976)+303)/* var←c92232 */ ))+75) );
(void) ( *( (fPt) ((* (ptr) pd423 ))))(dc←v14012, pathProc←v14068, (* (ptr) var←c103944.f6/* pattern←v29604 */ ), (word) (
( (bPt) &var←c103944)+16)/* var←c96520 */ , (* (( (ptr) firstSeg←v29548)+6) ), (* (( (ptr) firstSeg←v29548)+7) ), pd423);
};
}
else {
SOURCE(34786, 37)
{
word pd424;
pd424 = (* (( (ptr) (* (( (ptr) gf←c103976)+303)/* var←c92232 */ ))+71) );
(void) ( *( (fPt) ((* (ptr) pd424 ))))(dc←v14012, pathProc←v14068, 1, pd424);
};
};
}
static word PatternProc←P8064(i←v29680, formal←c104008)
word i←v29680;
word formal←c104008;
{
word var←c29724;
formal←c104008 = (formal←c104008 - 16);
/* PatternProc: */
SOURCE(34238, 64)
SOURCE(34284, 18)
{
word limit425;
return((* ((( (ptr) (* (( (ptr) formal←c104008)+6) ))+1)+(
limit425 = (* (ptr) (* (( (ptr) formal←c104008)+6) ) ),
BCK(i←v29680, limit425)
)) ));
};
}
static word AllStrokePropsAndColorsEqual←P1860(boxData←v14128)
word boxData←v14128;
{
register ptr gf←c104040 = (ptr) &globalframe;
word var←c14172;
word seg←v29752 = 0;
word firstSeg←v29780;
word width←v29808;
word end←v29836;
word color←v29864;
word dashed←v29892;
word pattern←v29920;
word offset←v29948;
word length←v29976;
/* AllStrokePropsAndColorsEqual: */
SOURCE(34829, 856)
SOURCE(34829, 856)
var←c14172 = 0;
SOURCE(34924, 39)
firstSeg←v29780 = (* (( (ptr) boxData←v14128)+36) );
SOURCE(34965, 34)
width←v29808 = (* (( (ptr) firstSeg←v29780)+2) );
SOURCE(35001, 35)
end←v29836 = (* (( (ptr) firstSeg←v29780)+3) );
SOURCE(35038, 29)
color←v29864 = (* (( (ptr) firstSeg←v29780)+8) );
SOURCE(35069, 30)
dashed←v29892 = (* (( (ptr) firstSeg←v29780)+4) );
SOURCE(35101, 42)
pattern←v29920 = (* (( (ptr) firstSeg←v29780)+5) );
SOURCE(35145, 30)
offset←v29948 = (* (( (ptr) firstSeg←v29780)+6) );
SOURCE(35177, 30)
length←v29976 = (* (( (ptr) firstSeg←v29780)+7) );
SOURCE(35209, 476)
{
register word i←v30020 = 1;
if (( (int)i←v30020 > (int)3)) {
goto lab←L100063;
};
lab←L100066: ;
SOURCE(35233, 25)
seg←v29752 = (* ((( (ptr) boxData←v14128)+36)+BCK(i←v30020, 4)) );
SOURCE(35260, 41)
if (((* (( (ptr) seg←v29752)+4) ) != dashed←v29892)) {
SOURCE(35288, 13)
return(0);
};
SOURCE(35303, 41)
if (((* (( (ptr) seg←v29752)+3) ) != end←v29836)) {
SOURCE(35331, 13)
return(0);
};
SOURCE(35346, 45)
{
word x426;
word x427;
if (((
x426 = (* (( (ptr) seg←v29752)+2) ), *(float*)&x426
) != (
x427 = width←v29808, *(float*)&x427
))) {
SOURCE(35378, 13)
return(0);
};
};
SOURCE(35393, 70)
{
word pd428;
pd428 = (* (( (ptr) (* (( (ptr) gf←c104040)+310)/* var←c93352 */ ))+35) );
if ((0 == (word) ( *( (fPt) ((* (ptr) pd428 ))))(color←v29864, (* (( (ptr) seg←v29752)+8) ), pd428))) {
SOURCE(35450, 13)
return(0);
};
};
SOURCE(35465, 19)
if ((0 == dashed←v29892)) {
SOURCE(35484, 4)
goto lab←L100065;
};
SOURCE(35490, 41)
{
word x429;
word x430;
if (((
x429 = (* (( (ptr) seg←v29752)+6) ), *(float*)&x429
) != (
x430 = offset←v29948, *(float*)&x430
))) {
SOURCE(35518, 13)
return(0);
};
};
SOURCE(35533, 41)
{
word x431;
word x432;
if (((
x431 = (* (( (ptr) seg←v29752)+7) ), *(float*)&x431
) != (
x432 = length←v29976, *(float*)&x432
))) {
SOURCE(35561, 13)
return(0);
};
};
SOURCE(35576, 76)
{
word pd433;
pd433 = (* (( (ptr) (* (( (ptr) gf←c104040)+313)/* var←c96552 */ ))+38) );
if ((0 == (word) ( *( (fPt) ((* (ptr) pd433 ))))((* (( (ptr) seg←v29752)+5) ), pattern←v29920, pd433))) {
SOURCE(35639, 13)
return(0);
};
};
lab←L100065: ;
if (( (int)i←v30020 >= (int)3)) {
goto lab←L100063;
};
i←v30020 = (i←v30020 + 1);
goto lab←L100066;
lab←L100063: ;
SOURCE(35673, 12)
return(1);
};
}
static void DrawSelectionFeedbackBox←P1920(slice←v14232, formal←c01537, formal←c01538, formal←c01539, formal←c01540, formal←c01541, formal←c01542)
word slice←v14232;
word formal←c01537;
word formal←c01538;
word formal←c01539;
word formal←c01540;
word formal←c01541;
word formal←c01542;
{
W12 var←c104072;
/* declaration of boxData←v14260 skipped */
/* declaration of normalBoxParts←v14288 skipped */
/* declaration of hotBoxParts←v14316 skipped */
/* declaration of dc←v14344 skipped */
/* declaration of t←v14372 skipped */
/* declaration of camera←v14400 skipped */
register ptr gf←c104104 = (ptr) &globalframe;
/* declaration of var←c96584 skipped */
(* (( (ptr) &var←c104072)+4)/* boxData←v14260 */ ) = formal←c01537;
(* (( (ptr) &var←c104072)+5)/* normalBoxParts←v14288 */ ) = formal←c01538;
(* (( (ptr) &var←c104072)+6)/* hotBoxParts←v14316 */ ) = formal←c01539;
(* (( (ptr) &var←c104072)+7)/* dc←v14344 */ ) = formal←c01540;
(* (( (ptr) &var←c104072)+8)/* t←v14372 */ ) = formal←c01541;
(* (( (ptr) &var←c104072)+9)/* camera←v14400 */ ) = formal←c01542;
/* DrawSelectionFeedbackBox: */
SOURCE(35700, 1514)
{
word tmpAddr434;
tmpAddr434 = (word) (( (ptr) &var←c104072)+10)/* var←c96584 */ ;
(* (ptr) tmpAddr434 ) = ( ((word) (fPt) DoDrawFeedback←P8172) );
(* (( (ptr) tmpAddr434) + 1) ) = 1;
};
SOURCE(37181, 33)
{
word pd435;
pd435 = (* (( (ptr) (* (( (ptr) gf←c104104)+303)/* var←c92232 */ ))+12) );
(void) ( *( (fPt) ((* (ptr) pd435 ))))((* (( (ptr) &var←c104072)+7)/* dc←v14344 */ ), (word) (( (bPt) &var←c104072)+40)
/* var←c96584 */ , pd435);
};
}
static void DoDrawFeedback←P8172(formal←c104168)
word formal←c104168;
{
register ptr gf←c104136 = (ptr) &globalframe;
word box←v30124;
W2 cc←v30152;
word thisCPisHot←v30180;
word thisCPisSelected←v30208;
W8 pts←v30236;
formal←c104168 = (formal←c104168 - 40);
/* DoDrawFeedback: */
SOURCE(35872, 1304)
SOURCE(35897, 27)
box←v30124 = (* (ptr) (* (( (ptr) formal←c104168)+4) ) );
SOURCE(36001, 63)
{
W2 var←c96616;
{
W2 var←c0634;
{
W2 var←c96648;
var←c96648.f0 = (* (ptr) box←v30124 );
var←c96648.f1 = (* (( (ptr) box←v30124)+1) );
{
word pd436;
pd436 = (* (( (ptr) (* (( (ptr) gf←c104136)+301)/* var←c91976 */ ))+39) );
(void) ( *( (fPt) ((* (ptr) pd436 ))))((word) &var←c0634, (* (( (ptr) formal←c104168)+8) ), var←c96648, pd436);
};
};
var←c96616 = var←c0634;
};
(* (W2Pt) &pts←v30236 ) = var←c96616;
};
SOURCE(36066, 63)
{
W2 var←c96680;
{
W2 var←c0637;
{
W2 var←c96712;
var←c96712.f0 = (* (ptr) box←v30124 );
var←c96712.f1 = (* (( (ptr) box←v30124)+3) );
{
word pd437;
pd437 = (* (( (ptr) (* (( (ptr) gf←c104136)+301)/* var←c91976 */ ))+39) );
(void) ( *( (fPt) ((* (ptr) pd437 ))))((word) &var←c0637, (* (( (ptr) formal←c104168)+8) ), var←c96712, pd437);
};
};
var←c96680 = var←c0637;
};
(* (W2Pt) (( (ptr) &pts←v30236)+2) ) = var←c96680;
};
SOURCE(36131, 63)
{
W2 var←c96744;
{
W2 var←c0640;
{
W2 var←c96776;
var←c96776.f0 = (* (( (ptr) box←v30124)+2) );
var←c96776.f1 = (* (( (ptr) box←v30124)+3) );
{
word pd438;
pd438 = (* (( (ptr) (* (( (ptr) gf←c104136)+301)/* var←c91976 */ ))+39) );
(void) ( *( (fPt) ((* (ptr) pd438 ))))((word) &var←c0640, (* (( (ptr) formal←c104168)+8) ), var←c96776, pd438);
};
};
var←c96744 = var←c0640;
};
(* (W2Pt) (( (ptr) &pts←v30236)+4) ) = var←c96744;
};
SOURCE(36196, 63)
{
W2 var←c96808;
{
W2 var←c0643;
{
W2 var←c96840;
var←c96840.f0 = (* (( (ptr) box←v30124)+2) );
var←c96840.f1 = (* (( (ptr) box←v30124)+1) );
{
word pd439;
pd439 = (* (( (ptr) (* (( (ptr) gf←c104136)+301)/* var←c91976 */ ))+39) );
(void) ( *( (fPt) ((* (ptr) pd439 ))))((word) &var←c0643, (* (( (ptr) formal←c104168)+8) ), var←c96840, pd439);
};
};
var←c96808 = var←c0643;
};
(* (W2Pt) (( (ptr) &pts←v30236)+6) ) = var←c96808;
};
SOURCE(36261, 447)
{
register word corner←v30316 = 0;
if (( (int)corner←v30316 > (int)3)) {
goto lab←L100067;
};
lab←L100070: ;
SOURCE(36294, 61)
if (((* (( (ptr) formal←c104168)+6) ) != 0)) {
thisCPisHot←v30180 = (unsigned) (0 != (* (( (ptr) (* (( (ptr) formal←c104168)+6) ))+BCK(corner←v30316, 4)) ));
}
else {
thisCPisHot←v30180 = (unsigned) 0;
};
SOURCE(36357, 72)
if (((* (( (ptr) formal←c104168)+5) ) != 0)) {
thisCPisSelected←v30208 = (unsigned) (0 != (* (( (ptr) (* (( (ptr) formal←c104168)+5) ))+BCK(corner←v30316, 4)) ));
}
else {
thisCPisSelected←v30208 = (unsigned) 0;
};
SOURCE(36431, 84)
if ((0 != thisCPisHot←v30180)) {
SOURCE(36451, 64)
{
word pd440;
pd440 = (* (( (ptr) (* (( (ptr) gf←c104136)+312)/* var←c95848 */ ))+20) );
(void) ( *( (fPt) ((* (ptr) pd440 ))))((* (( (ptr) formal←c104168)+7) ), (* (( (W2Pt) &pts←v30236)+BCK(corner←v30316, 4)
) ), 1, (* (( (ptr) (* (( (ptr) formal←c104168)+9) ))+4) ), pd440);
};
};
SOURCE(36517, 92)
if ((0 != thisCPisSelected←v30208)) {
SOURCE(36542, 67)
{
word pd441;
pd441 = (* (( (ptr) (* (( (ptr) gf←c104136)+312)/* var←c95848 */ ))+20) );
(void) ( *( (fPt) ((* (ptr) pd441 ))))((* (( (ptr) formal←c104168)+7) ), (* (( (W2Pt) &pts←v30236)+BCK(corner←v30316, 4)
) ), 0, (* (( (ptr) (* (( (ptr) formal←c104168)+9) ))+4) ), pd441);
};
};
SOURCE(36611, 97)
if ( ( (0 == thisCPisHot←v30180) ? (0 == thisCPisSelected←v30208) : 0 ) ) {
SOURCE(36660, 48)
{
word pd442;
pd442 = (* (( (ptr) (* (( (ptr) gf←c104136)+312)/* var←c95848 */ ))+19) );
(void) ( *( (fPt) ((* (ptr) pd442 ))))((* (( (ptr) formal←c104168)+7) ), (* (( (W2Pt) &pts←v30236)+BCK(corner←v30316, 4)
) ), (* (( (ptr) (* (( (ptr) formal←c104168)+9) ))+4) ), pd442);
};
};
if (( (int)corner←v30316 >= (int)3)) {
goto lab←L100067;
};
corner←v30316 = (corner←v30316 + 1);
goto lab←L100070;
lab←L100067: ;
};
SOURCE(36719, 52)
if (((* (( (ptr) formal←c104168)+6) ) != 0)) {
thisCPisHot←v30180 = (unsigned) (0 != (* (( (ptr) (* (( (ptr) formal←c104168)+6) ))+8) ));
}
else {
thisCPisHot←v30180 = (unsigned) 0;
};
SOURCE(36773, 63)
if (((* (( (ptr) formal←c104168)+5) ) != 0)) {
thisCPisSelected←v30208 = (unsigned) (0 != (* (( (ptr) (* (( (ptr) formal←c104168)+5) ))+8) ));
}
else {
thisCPisSelected←v30208 = (unsigned) 0;
};
SOURCE(36838, 86)
{
W2 var←c0646;
{
W2 var←c96872;
{
word x443;
word x444;
word x445;
*(float*)&var←c96872.f0 = ((
x443 = (* (ptr) box←v30124 ), *(float*)&x443
) + (
x444 = (* (( (ptr) box←v30124)+2) ), *(float*)&x444
)) / (
x445 = (* (ptr) &fc101 ), *(float*)&x445
);
};
{
word x446;
word x447;
word x448;
*(float*)&var←c96872.f1 = ((
x446 = (* (( (ptr) box←v30124)+1) ), *(float*)&x446
) + (
x447 = (* (( (ptr) box←v30124)+3) ), *(float*)&x447
)) / (
x448 = (* (ptr) &fc101 ), *(float*)&x448
);
};
{
word pd449;
pd449 = (* (( (ptr) (* (( (ptr) gf←c104136)+301)/* var←c91976 */ ))+39) );
(void) ( *( (fPt) ((* (ptr) pd449 ))))((word) &var←c0646, (* (( (ptr) formal←c104168)+8) ), var←c96872, pd449);
};
};
cc←v30152 = var←c0646;
};
SOURCE(36926, 75)
if ((0 != thisCPisHot←v30180)) {
SOURCE(36946, 55)
{
word pd450;
pd450 = (* (( (ptr) (* (( (ptr) gf←c104136)+312)/* var←c95848 */ ))+20) );
(void) ( *( (fPt) ((* (ptr) pd450 ))))((* (( (ptr) formal←c104168)+7) ), cc←v30152, 1, (* (( (ptr) (* (( (ptr) formal←c104168)+9)
))+4) ), pd450);
};
};
SOURCE(37003, 83)
if ((0 != thisCPisSelected←v30208)) {
SOURCE(37028, 58)
{
word pd451;
pd451 = (* (( (ptr) (* (( (ptr) gf←c104136)+312)/* var←c95848 */ ))+20) );
(void) ( *( (fPt) ((* (ptr) pd451 ))))((* (( (ptr) formal←c104168)+7) ), cc←v30152, 0, (* (( (ptr) (* (( (ptr) formal←c104168)+9)
))+4) ), pd451);
};
};
SOURCE(37088, 88)
if ( ( (0 == thisCPisHot←v30180) ? (0 == thisCPisSelected←v30208) : 0 ) ) {
SOURCE(37137, 39)
{
word pd452;
pd452 = (* (( (ptr) (* (( (ptr) gf←c104136)+312)/* var←c95848 */ ))+19) );
(void) ( *( (fPt) ((* (ptr) pd452 ))))((* (( (ptr) formal←c104168)+7) ), cc←v30152, (* (( (ptr) (* (( (ptr) formal←c104168)+9)
))+4) ), pd452);
};
};
}
static void BoxDrawAll←P1980(formal←c01543, formal←c01544, from←v14516, to←v14544, camera←v14572)
word formal←c01543;
word formal←c01544;
W2 from←v14516;
W2 to←v14544;
word camera←v14572;
{
W17 var←c104200;
/* declaration of dc←v14460 skipped */
/* declaration of boxData←v14488 skipped */
register ptr gf←c104232 = (ptr) &globalframe;
W2 var←c96904;
/* declaration of var←c96936 skipped */
/* declaration of t←v30388 skipped */
/* declaration of pts←v30416 skipped */
(* (( (ptr) &var←c104200)+4)/* dc←v14460 */ ) = formal←c01543;
(* (( (ptr) &var←c104200)+5)/* boxData←v14488 */ ) = formal←c01544;
/* BoxDrawAll: */
SOURCE(37220, 793)
(* (ptr) (word) &var←c96904 ) = ( ((word) (fPt) DoMaskPixel←P8388) );
(* (( (ptr) (word) &var←c96904) + 1) ) = 1;
{
word tmpAddr453;
tmpAddr453 = (word) (( (ptr) &var←c104200)+6)/* var←c96936 */ ;
(* (ptr) tmpAddr453 ) = ( ((word) (fPt) BoxPath←P8280) );
(* (( (ptr) tmpAddr453) + 1) ) = 1;
};
SOURCE(37412, 37)
(* (( (ptr) &var←c104200)+8)/* t←v30388 */ ) = (* (( (ptr) (* (( (ptr) &var←c104200)+5)/* boxData←v14488 */ ))+1) );
SOURCE(37478, 104)
{
W8 var←c0657;
{
W6 var←c96968;
var←c96968.f0 = to←v14544.f0;
var←c96968.f1 = to←v14544.f1;
var←c96968.f2 = from←v14516.f0;
var←c96968.f3 = from←v14516.f1;
var←c96968.f4 = 0;
var←c96968.f5 = 0;
(void) TransformBoxObj←P1260((word) &var←c0657, var←c96968, (* (( (ptr) &var←c104200)+8)/* t←v30388 */ ));
};
(* (W8Pt) (( (ptr) &var←c104200)+9)/* pts←v30416 */ ) = var←c0657;
};
SOURCE(37584, 194)
if (((* (( (ptr) (* (( (ptr) &var←c104200)+5)/* boxData←v14488 */ ))+5) ) != 0)) {
SOURCE(37616, 162)
if (((* (( (ptr) (* (( (ptr) &var←c104200)+5)/* boxData←v14488 */ ))+6) ) == 0)) {
SOURCE(37653, 34)
{
word pd454;
pd454 = (* (( (ptr) (* (( (ptr) gf←c104232)+303)/* var←c92232 */ ))+62) );
(void) ( *( (fPt) ((* (ptr) pd454 ))))((* (( (ptr) &var←c104200)+4)/* dc←v14460 */ ), (word) (( (bPt) &var←c104200)+24)
/* var←c96936 */ , 0, pd454);
};
}
else {
};
};
SOURCE(37789, 224)
if ((0 != (word) AllStrokePropsAndColorsEqual←P1860((* ((( (ptr) &var←c104200)+5)/* boxData←v14488 */ ) )))) {
SOURCE(37835, 45)
(void) MaskStrokeBoxPath←P1800((* (( (ptr) &var←c104200)+4)/* dc←v14460 */ ), (* (( (ptr) &var←c104200)+5)/* boxData←v14488 */ ), (word) (
( (bPt) &var←c104200)+24)/* var←c96936 */ );
}
else {
SOURCE(37882, 131)
{
register word edge←v30556 = 0;
if (( (int)edge←v30556 > (int)3)) {
goto lab←L100071;
};
lab←L100074: ;
{
word seg←v30600;
SOURCE(37913, 37)
seg←v30600 = (* ((( (ptr) (* (( (ptr) &var←c104200)+5)/* boxData←v14488 */ ))+36)+BCK(edge←v30556, 4)) );
SOURCE(37952, 61)
{
word pd455;
word idx456;
pd455 = (* (( (ptr) (* (( (ptr) gf←c104232)+302)/* var←c92200 */ ))+29) );
(void) ( *( (fPt) ((* (ptr) pd455 ))))((* (( (ptr) &var←c104200)+4)/* dc←v14460 */ ), (* (( (W2Pt) (( (ptr) &var←c104200)+9)
/* pts←v30416 */ )+BCK(edge←v30556, 4)) ), (* (( (W2Pt) (( (ptr) &var←c104200)+9)/* pts←v30416 */ )+(
idx456 = (word) IOP2( % , (int)(edge←v30556 + 1), (int)4),
BCK(idx456, 4)
)) ), seg←v30600, pd455);
};
};
if (( (int)edge←v30556 >= (int)3)) {
goto lab←L100071;
};
edge←v30556 = (edge←v30556 + 1);
goto lab←L100074;
lab←L100071: ;
};
};
}
static void BoxPath←P8280(moveTo←v77912, lineTo←v77940, curveTo←v77968, conicTo←v77996, arcTo←v78024, formal←c104264)
word moveTo←v77912;
word lineTo←v77940;
word curveTo←v77968;
word conicTo←v77996;
word arcTo←v78024;
word formal←c104264;
{
formal←c104264 = (formal←c104264 - 24);
/* BoxPath: */
SOURCE(37320, 88)
SOURCE(37346, 14)
(void) ( *( (fPt) ((* (ptr) moveTo←v77912 ))))((* (W2Pt) ((( (ptr) formal←c104264)+9)) ), moveTo←v77912);
SOURCE(37362, 14)
(void) ( *( (fPt) ((* (ptr) lineTo←v77940 ))))((* (W2Pt) ((( (ptr) formal←c104264)+11)) ), lineTo←v77940);
SOURCE(37378, 14)
(void) ( *( (fPt) ((* (ptr) lineTo←v77940 ))))((* (W2Pt) ((( (ptr) formal←c104264)+13)) ), lineTo←v77940);
SOURCE(37394, 14)
(void) ( *( (fPt) ((* (ptr) lineTo←v77940 ))))((* (W2Pt) ((( (ptr) formal←c104264)+15)) ), lineTo←v77940);
}
static void DoMaskPixel←P8388(formal←c104328)
word formal←c104328;
{
register ptr gf←c104296 = (ptr) &globalframe;
/* DoMaskPixel: */
SOURCE(37689, 20)
SOURCE(37711, 21)
{
word pd457;
pd457 = (* (( (ptr) (* (( (ptr) gf←c104296)+303)/* var←c92232 */ ))+14) );
(void) ( *( (fPt) ((* (ptr) pd457 ))))((* (( (ptr) formal←c104328)+4) ), (* (( (ptr) formal←c104328)+8) ), pd457);
};
SOURCE(37734, 44)
{
word pd458;
pd458 = (* (( (ptr) (* (( (ptr) gf←c104296)+303)/* var←c92232 */ ))+77) );
(void) ( *( (fPt) ((* (ptr) pd458 ))))((* (( (ptr) formal←c104328)+4) ), (* (( (ptr) (* (( (ptr) formal←c104328)+5) ))+6)
), pd458);
};
}
static void BoxSaveSelections←P2040(slice←v14632, parts←v14660, selectClass←v14688)
word slice←v14632;
word parts←v14660;
word selectClass←v14688;
{
W9 var←c104360;
register ptr gf←c104392 = (ptr) &globalframe;
/* declaration of var←c97000 skipped */
/* declaration of var←c97032 skipped */
word dontClear←v30700 = 1;
word boxParts←v30728;
/* declaration of boxData←v30756 skipped */
/* BoxSaveSelections: */
SOURCE(38031, 1193)
{
word tmpAddr459;
tmpAddr459 = (word) (( (ptr) &var←c104360)+4)/* var←c97000 */ ;
(* (ptr) tmpAddr459 ) = ( ((word) (fPt) SetSegmentField←P8604) );
(* (( (ptr) tmpAddr459) + 1) ) = 1;
};
{
word tmpAddr460;
tmpAddr460 = (word) (( (ptr) &var←c104360)+6)/* var←c97032 */ ;
(* (ptr) tmpAddr460 ) = ( ((word) (fPt) SetPointField←P8544) );
(* (( (ptr) tmpAddr460) + 1) ) = 1;
};
SOURCE(38832, 34)
boxParts←v30728 = XR←Narrow(parts←v14660, (* (( (ptr) gf←c104392)+28) ));
SOURCE(38868, 37)
(* (( (ptr) &var←c104360)+8)/* boxData←v30756 */ ) = XR←Narrow((* (( (ptr) slice←v14632)+1) ), (* (( (ptr) gf←c104392)+25)
));
SOURCE(38907, 38)
if ((boxParts←v30728 == 0)) {
SOURCE(38928, 17)
dontClear←v30700 = 0;
};
SOURCE(38947, 196)
{
register word count←v31032 = 0;
if (( (int)count←v31032 > (int)3)) {
goto lab←L100075;
};
lab←L100078: ;
SOURCE(38979, 72)
{
word tc461;
if ((0 != dontClear←v30700)) {
tc461 = (word) (0 != (* (( (ptr) boxParts←v30728)+BCK(count←v31032, 4)) ));
}
else {
tc461 = (word) 0;
};
(void) SetPointField←P8544(count←v31032, (unsigned) tc461, selectClass←v14688, (word) (( (bPt) &var←c104360)+24)/* var←c97032 */ )
;
};
SOURCE(39053, 90)
{
word tc462;
if ((0 != dontClear←v30700)) {
tc462 = (word) (0 != (* ((( (ptr) boxParts←v30728)+4)+BCK(count←v31032, 4)) ));
}
else {
tc462 = (word) 0;
};
(void) SetSegmentField←P8604((* ((( (ptr) (* (( (ptr) &var←c104360)+8)/* boxData←v30756 */ ))+36)+BCK(count←v31032, 4)) ), (unsigned) tc462, selectClass←v14688, (word) (
( (bPt) &var←c104360)+16)/* var←c97000 */ );
};
if (( (int)count←v31032 >= (int)3)) {
goto lab←L100075;
};
count←v31032 = (count←v31032 + 1);
goto lab←L100078;
lab←L100075: ;
};
SOURCE(39154, 70)
(void) SetPointField←P8544(4, (unsigned) ( (0 != dontClear←v30700) ? (0 != (* (( (ptr) boxParts←v30728)+8) )) : 0 ) , selectClass←v14688, (word) (
( (bPt) &var←c104360)+24)/* var←c97032 */ );
}
static void SetPointField←P8544(point←v30832, selected←v30860, selectClass←v30888, formal←c104424)
word point←v30832;
word selected←v30860;
word selectClass←v30888;
word formal←c104424;
{
formal←c104424 = (formal←c104424 - 24);
/* SetPointField: */
SOURCE(38122, 361)
SOURCE(38209, 274)
{
word var←c97064;
var←c97064 = selectClass←v30888;
switch (var←c97064) {
case 0:
SOURCE(38243, 53)
(* (( (W4Pt) (( (ptr) (* (( (ptr) formal←c104424)+8) ))+16))+BCK(point←v30832, 5)) ).f0 = selected←v30860;
break;
case 1:
SOURCE(38305, 50)
(* (( (W4Pt) (( (ptr) (* (( (ptr) formal←c104424)+8) ))+16))+BCK(point←v30832, 5)) ).f1 = selected←v30860;
break;
case 2:
SOURCE(38367, 53)
(* (( (W4Pt) (( (ptr) (* (( (ptr) formal←c104424)+8) ))+16))+BCK(point←v30832, 5)) ).f2 = selected←v30860;
break;
case 3:
SOURCE(38431, 52)
(* (( (W4Pt) (( (ptr) (* (( (ptr) formal←c104424)+8) ))+16))+BCK(point←v30832, 5)) ).f3 = selected←v30860;
break;
};
};
}
static void SetSegmentField←P8604(seg←v30948, selected←v30976, selectClass←v31004, formal←c104456)
word seg←v30948;
word selected←v30976;
word selectClass←v31004;
word formal←c104456;
{
formal←c104456 = (formal←c104456 - 16);
/* SetSegmentField: */
SOURCE(38497, 297)
SOURCE(38584, 210)
{
word var←c97096;
var←c97096 = selectClass←v31004;
switch (var←c97096) {
case 0:
SOURCE(38618, 37)
(* (( (ptr) seg←v30948)+17) ) = selected←v30976;
break;
case 1:
SOURCE(38664, 34)
(* (( (ptr) seg←v30948)+18) ) = selected←v30976;
break;
case 2:
SOURCE(38710, 37)
(* (( (ptr) seg←v30948)+19) ) = selected←v30976;
break;
case 3:
SOURCE(38758, 36)
(* (( (ptr) seg←v30948)+20) ) = selected←v30976;
break;
};
};
}
static word BoxRemakeSelections←P2100(slice←v14748, selectClass←v14776)
word slice←v14748;
word selectClass←v14776;
{
W9 var←c104488;
register ptr gf←c104520 = (ptr) &globalframe;
word parts←v14820;
/* declaration of var←c97128 skipped */
/* declaration of var←c97160 skipped */
/* declaration of boxData←v31132 skipped */
word boxParts←v31160;
/* BoxRemakeSelections: */
SOURCE(39230, 1100)
{
word tmpAddr463;
tmpAddr463 = (word) (( (ptr) &var←c104488)+4)/* var←c97128 */ ;
(* (ptr) tmpAddr463 ) = ( ((word) (fPt) GetSegmentField←P8772) );
(* (( (ptr) tmpAddr463) + 1) ) = 1;
};
{
word tmpAddr464;
tmpAddr464 = (word) (( (ptr) &var←c104488)+6)/* var←c97160 */ ;
(* (ptr) tmpAddr464 ) = ( ((word) (fPt) GetPointField←P8712) );
(* (( (ptr) tmpAddr464) + 1) ) = 1;
};
SOURCE(39230, 1100)
parts←v14820 = 0;
SOURCE(39961, 37)
(* (( (ptr) &var←c104488)+8)/* boxData←v31132 */ ) = XR←Narrow((* (( (ptr) slice←v14748)+1) ), (* (( (ptr) gf←c104520)+25)
));
SOURCE(40000, 37)
boxParts←v31160 = XR←NewObject(36, (* (( (ptr) gf←c104520)+28) ));
SOURCE(40039, 170)
{
register word count←v31468 = 0;
if (( (int)count←v31468 > (int)3)) {
goto lab←L100079;
};
lab←L100082: ;
SOURCE(40071, 59)
{
word var←c97192;
var←c97192 = (word) GetPointField←P8712(count←v31468, selectClass←v14776, (word) (( (bPt) &var←c104488)+24)/* var←c97160 */ )
;
(* (( (ptr) boxParts←v31160)+BCK(count←v31468, 4)) ) = var←c97192;
};
SOURCE(40132, 77)
{
word var←c97224;
var←c97224 = (word) GetSegmentField←P8772((* ((( (ptr) (* (( (ptr) &var←c104488)+8)/* boxData←v31132 */ ))+36)+BCK(count←v31468, 4)
) ), selectClass←v14776, (word) (( (bPt) &var←c104488)+16)/* var←c97128 */ );
(* ((( (ptr) boxParts←v31160)+4)+BCK(count←v31468, 4)) ) = var←c97224;
};
if (( (int)count←v31468 >= (int)3)) {
goto lab←L100079;
};
count←v31468 = (count←v31468 + 1);
goto lab←L100082;
lab←L100079: ;
};
SOURCE(40220, 57)
(* (( (ptr) boxParts←v31160)+8) ) = (word) GetPointField←P8712(4, selectClass←v14776, (word) (( (bPt) &var←c104488)+24)/* var←c97160 */ )
;
SOURCE(40279, 51)
if ((0 != (word) IsEmpty←P2580(boxParts←v31160))) {
parts←v14820 = 0;
}
else {
parts←v14820 = boxParts←v31160;
};
SOURCE(39230, 1100)
return(parts←v14820);
}
static word GetPointField←P8712(point←v31236, selectClass←v31264, formal←c104552)
word point←v31236;
word selectClass←v31264;
word formal←c104552;
{
word var←c31308;
formal←c104552 = (formal←c104552 - 24);
/* GetPointField: */
SOURCE(39332, 341)
SOURCE(39417, 256)
{
word var←c97256;
var←c97256 = selectClass←v31264;
switch (var←c97256) {
case 0:
return((* (( (W4Pt) (( (ptr) (* (( (ptr) formal←c104552)+8) ))+16))+BCK(point←v31236, 5)) ).f0);
case 1:
return((* (( (W4Pt) (( (ptr) (* (( (ptr) formal←c104552)+8) ))+16))+BCK(point←v31236, 5)) ).f1);
case 2:
return((* (( (W4Pt) (( (ptr) (* (( (ptr) formal←c104552)+8) ))+16))+BCK(point←v31236, 5)) ).f2);
case 3:
return((* (( (W4Pt) (( (ptr) (* (( (ptr) formal←c104552)+8) ))+16))+BCK(point←v31236, 5)) ).f3);
default:
return(0);
};
};
}
static word GetSegmentField←P8772(seg←v31368, selectClass←v31396, formal←c104584)
word seg←v31368;
word selectClass←v31396;
word formal←c104584;
{
word var←c31440;
formal←c104584 = (formal←c104584 - 16);
/* GetSegmentField: */
SOURCE(39678, 278)
SOURCE(39764, 192)
{
word var←c97288;
var←c97288 = selectClass←v31396;
switch (var←c97288) {
case 0:
return((* (( (ptr) seg←v31368)+17) ));
case 1:
return((* (( (ptr) seg←v31368)+18) ));
case 2:
return((* (( (ptr) seg←v31368)+19) ));
case 3:
return((* (( (ptr) seg←v31368)+20) ));
default:
return(0);
};
};
}
static void BoxTransform←P2160(formal←c01545, formal←c01546, formal←c01547, editConstraints←v14964, history←v14992)
word formal←c01545;
word formal←c01546;
word formal←c01547;
word editConstraints←v14964;
word history←v14992;
{
W10 var←c104616;
/* declaration of slice←v14880 skipped */
/* declaration of parts←v14908 skipped */
/* declaration of transform←v14936 skipped */
register ptr gf←c104648 = (ptr) &globalframe;
/* declaration of var←c97320 skipped */
W2 point←v31540;
W2 oppositePoint←v31568;
/* declaration of boxData←v31596 skipped */
word boxParts←v31624;
word box←v31652;
word inverse←v31680 = 0;
word totalTransform←v31708 = 0;
word cornerCount←v31736 = 0;
word edgeCount←v31764 = 0;
W2 var←c0715;
W2 var←c0716;
(* (( (ptr) &var←c104616)+4)/* slice←v14880 */ ) = formal←c01545;
(* (( (ptr) &var←c104616)+5)/* parts←v14908 */ ) = formal←c01546;
(* (( (ptr) &var←c104616)+6)/* transform←v14936 */ ) = formal←c01547;
/* BoxTransform: */
SOURCE(40361, 3942)
{
word tmpAddr465;
tmpAddr465 = (word) (( (ptr) &var←c104616)+7)/* var←c97320 */ ;
(* (ptr) tmpAddr465 ) = ( ((word) (fPt) BoxFullTransform←P8880) );
(* (( (ptr) tmpAddr465) + 1) ) = 1;
};
SOURCE(40993, 37)
(* (( (ptr) &var←c104616)+9)/* boxData←v31596 */ ) = XR←Narrow((* (( (ptr) (* (( (ptr) &var←c104616)+4)/* slice←v14880 */ ))+1)
), (* (( (ptr) gf←c104648)+25) ));
SOURCE(41032, 34)
boxParts←v31624 = XR←Narrow((* (( (ptr) &var←c104616)+5)/* parts←v14908 */ ), (* (( (ptr) gf←c104648)+28) ));
SOURCE(41068, 27)
box←v31652 = (* (ptr) (* (( (ptr) &var←c104616)+9)/* boxData←v31596 */ ) );
SOURCE(41175, 33)
if ((0 != (* (( (ptr) box←v31652)+4) )) || (0 != (* (( (ptr) box←v31652)+5) ))) {
SOURCE(41208, 5)
(void) XR←RaiseUnnamedError();
};
SOURCE(41215, 77)
if ((boxParts←v31624 == 0) || (0 != (word) IsComplete←P2520(boxParts←v31624))) {
SOURCE(41262, 22)
(void) BoxFullTransform←P8880(1, (word) (( (bPt) &var←c104616)+28)/* var←c97320 */ );
SOURCE(41286, 6)
return;
};
SOURCE(41297, 32)
if ((0 != (word) IsEmpty←P2580(boxParts←v31624))) {
SOURCE(41323, 6)
return;
};
SOURCE(41351, 237)
(void) CountEdges←P2700((word) &var←c0715, (* (W4Pt) (( (ptr) boxParts←v31624)+4) ));
edgeCount←v31764 = var←c0715.f0;
if (( (int)edgeCount←v31764 >= (int)2)) { goto then0466;};
(void) CountCorners←P2640((word) &var←c0716, (* (W4Pt) boxParts←v31624 ));
cornerCount←v31736 = var←c0716.f0;
if (( (int)cornerCount←v31736 >= (int)3) || (0 != (* (( (ptr) boxParts←v31624)+8) ))) {
then0466: ;
SOURCE(41557, 23)
(void) BoxFullTransform←P8880(0, (word) (( (bPt) &var←c104616)+28)/* var←c97320 */ );
SOURCE(41582, 6)
return;
};
SOURCE(41593, 2091)
if (( (int)edgeCount←v31764 == (int)1)) {
SOURCE(41613, 1306)
{
W6 f←v31868;
W2 globalTranslate←v31896;
word mInverse←v31924;
W2 localTranslate←v31952;
word totalTransform←v31980;
SOURCE(41636, 66)
{
word pd467;
pd467 = (* (( (ptr) (* (( (ptr) gf←c104648)+301)/* var←c91976 */ ))+50) );
(void) ( *( (fPt) ((* (ptr) pd467 ))))((word) &f←v31868, (* (( (ptr) &var←c104616)+6)/* transform←v14936 */ ), pd467);
};
SOURCE(41704, 26)
globalTranslate←v31896 = (* (W2Pt) (( (ptr) &f←v31868)+4) );
SOURCE(41732, 73)
{
word pd468;
pd468 = (* (( (ptr) (* (( (ptr) gf←c104648)+301)/* var←c91976 */ ))+51) );
mInverse←v31924 = (word) ( *( (fPt) ((* (ptr) pd468 ))))((* ((( (ptr) (* (( (ptr) &var←c104616)+9)/* boxData←v31596 */ ))+1)
) ), pd468);
};
SOURCE(41807, 82)
{
word pd469;
pd469 = (* (( (ptr) (* (( (ptr) gf←c104648)+301)/* var←c91976 */ ))+40) );
(void) ( *( (fPt) ((* (ptr) pd469 ))))((word) &localTranslate←v31952, mInverse←v31924, globalTranslate←v31896, pd469);
};
SOURCE(41891, 79)
{
word pd470;
pd470 = (* (( (ptr) (* (( (ptr) gf←c104648)+301)/* var←c91976 */ ))+10) );
totalTransform←v31980 = (word) ( *( (fPt) ((* (ptr) pd470 ))))(localTranslate←v31952, pd470);
};
if ((0 != (* (( (ptr) boxParts←v31624)+4) ))) {
SOURCE(42013, 22)
point←v31540.f0 = (* (ptr) box←v31652 );
point←v31540.f1 = (* (ptr) &fc216 );
SOURCE(42037, 36)
oppositePoint←v31568.f0 = (* (( (ptr) box←v31652)+2) );
oppositePoint←v31568.f1 = (* (( (ptr) box←v31652)+3) );
SOURCE(42075, 67)
{
word pd471;
pd471 = (* (( (ptr) (* (( (ptr) gf←c104648)+301)/* var←c91976 */ ))+39) );
(void) ( *( (fPt) ((* (ptr) pd471 ))))((word) &point←v31540, totalTransform←v31980, point←v31540, pd471);
};
SOURCE(42144, 27)
{
word var←c97352;
var←c97352 = point←v31540.f0;
point←v31540.f0 = var←c97352;
point←v31540.f1 = (* (( (ptr) box←v31652)+1) );
};
}
else {
if ((0 != (* (( (ptr) boxParts←v31624)+5) ))) {
SOURCE(42241, 22)
point←v31540.f0 = (* (ptr) &fc216 );
point←v31540.f1 = (* (( (ptr) box←v31652)+3) );
SOURCE(42265, 36)
oppositePoint←v31568.f0 = (* (ptr) box←v31652 );
oppositePoint←v31568.f1 = (* (( (ptr) box←v31652)+1) );
SOURCE(42303, 67)
{
word pd472;
pd472 = (* (( (ptr) (* (( (ptr) gf←c104648)+301)/* var←c91976 */ ))+39) );
(void) ( *( (fPt) ((* (ptr) pd472 ))))((word) &point←v31540, totalTransform←v31980, point←v31540, pd472);
};
SOURCE(42372, 27)
{
word var←c97384;
var←c97384 = point←v31540.f1;
point←v31540.f0 = (* (( (ptr) box←v31652)+2) );
point←v31540.f1 = var←c97384;
};
}
else {
if ((0 != (* (( (ptr) boxParts←v31624)+6) ))) {
SOURCE(42469, 22)
point←v31540.f0 = (* (( (ptr) box←v31652)+2) );
point←v31540.f1 = (* (ptr) &fc216 );
SOURCE(42493, 36)
oppositePoint←v31568.f0 = (* (ptr) box←v31652 );
oppositePoint←v31568.f1 = (* (( (ptr) box←v31652)+1) );
SOURCE(42531, 67)
{
word pd473;
pd473 = (* (( (ptr) (* (( (ptr) gf←c104648)+301)/* var←c91976 */ ))+39) );
(void) ( *( (fPt) ((* (ptr) pd473 ))))((word) &point←v31540, totalTransform←v31980, point←v31540, pd473);
};
SOURCE(42600, 27)
{
word var←c97416;
var←c97416 = point←v31540.f0;
point←v31540.f0 = var←c97416;
point←v31540.f1 = (* (( (ptr) box←v31652)+3) );
};
}
else {
if ((0 != (* (( (ptr) boxParts←v31624)+7) ))) {
SOURCE(42697, 22)
point←v31540.f0 = (* (ptr) &fc216 );
point←v31540.f1 = (* (( (ptr) box←v31652)+1) );
SOURCE(42721, 36)
oppositePoint←v31568.f0 = (* (( (ptr) box←v31652)+2) );
oppositePoint←v31568.f1 = (* (( (ptr) box←v31652)+3) );
SOURCE(42759, 67)
{
word pd474;
pd474 = (* (( (ptr) (* (( (ptr) gf←c104648)+301)/* var←c91976 */ ))+39) );
(void) ( *( (fPt) ((* (ptr) pd474 ))))((word) &point←v31540, totalTransform←v31980, point←v31540, pd474);
};
SOURCE(42828, 27)
{
word var←c97448;
var←c97448 = point←v31540.f1;
point←v31540.f0 = (* (ptr) box←v31652 );
point←v31540.f1 = var←c97448;
};
}
else {
SOURCE(42912, 5)
(void) XR←RaiseUnnamedError();
};
};
};
};
};
}
else {
SOURCE(42926, 758)
if (( (int)cornerCount←v31736 == (int)2)) {
SOURCE(43032, 23)
(void) BoxFullTransform←P8880(0, (word) (( (bPt) &var←c104616)+28)/* var←c97320 */ );
SOURCE(43057, 6)
return;
}
else {
if ((0 != (* (ptr) boxParts←v31624 ))) {
SOURCE(43131, 28)
point←v31540.f0 = (* (ptr) box←v31652 );
point←v31540.f1 = (* (( (ptr) box←v31652)+1) );
SOURCE(43161, 36)
oppositePoint←v31568.f0 = (* (( (ptr) box←v31652)+2) );
oppositePoint←v31568.f1 = (* (( (ptr) box←v31652)+3) );
}
else {
if ((0 != (* (( (ptr) boxParts←v31624)+1) ))) {
SOURCE(43227, 28)
point←v31540.f0 = (* (ptr) box←v31652 );
point←v31540.f1 = (* (( (ptr) box←v31652)+3) );
SOURCE(43257, 36)
oppositePoint←v31568.f0 = (* (( (ptr) box←v31652)+2) );
oppositePoint←v31568.f1 = (* (( (ptr) box←v31652)+1) );
}
else {
if ((0 != (* (( (ptr) boxParts←v31624)+2) ))) {
SOURCE(43323, 28)
point←v31540.f0 = (* (( (ptr) box←v31652)+2) );
point←v31540.f1 = (* (( (ptr) box←v31652)+3) );
SOURCE(43353, 36)
oppositePoint←v31568.f0 = (* (ptr) box←v31652 );
oppositePoint←v31568.f1 = (* (( (ptr) box←v31652)+1) );
}
else {
if ((0 != (* (( (ptr) boxParts←v31624)+3) ))) {
SOURCE(43419, 28)
point←v31540.f0 = (* (( (ptr) box←v31652)+2) );
point←v31540.f1 = (* (( (ptr) box←v31652)+1) );
SOURCE(43449, 36)
oppositePoint←v31568.f0 = (* (ptr) box←v31652 );
oppositePoint←v31568.f1 = (* (( (ptr) box←v31652)+3) );
}
else {
SOURCE(43501, 5)
(void) XR←RaiseUnnamedError();
};
};
};
};
SOURCE(43508, 25)
inverse←v31680 = (* (( (ptr) (* (( (ptr) &var←c104616)+9)/* boxData←v31596 */ ))+2) );
SOURCE(43535, 80)
{
word pd475;
pd475 = (* (( (ptr) (* (( (ptr) gf←c104648)+301)/* var←c91976 */ ))+14) );
totalTransform←v31708 = (word) ( *( (fPt) ((* (ptr) pd475 ))))((* (( (ptr) (* (( (ptr) &var←c104616)+9)/* boxData←v31596 */ ))+1)
), (* (( (ptr) &var←c104616)+6)/* transform←v14936 */ ), inverse←v31680, 0, pd475);
};
SOURCE(43617, 67)
{
word pd476;
pd476 = (* (( (ptr) (* (( (ptr) gf←c104648)+301)/* var←c91976 */ ))+39) );
(void) ( *( (fPt) ((* (ptr) pd476 ))))((word) &point←v31540, totalTransform←v31708, point←v31540, pd476);
};
};
};
SOURCE(43721, 146)
{
word var←c97480;
word var←c97512;
word var←c97544;
{
word x477;
float tf478;
float tf479;
word x480;
float tf481;
var←c97480 = (
tf481 = FMIN((
x477 = point←v31540.f1, *(float*)&x477
), (
x480 = oppositePoint←v31568.f1, *(float*)&x480
), tf478, tf479), *(word*)&tf481
);
};
{
word x482;
float tf483;
float tf484;
word x485;
float tf486;
var←c97512 = (
tf486 = FMAX((
x482 = point←v31540.f0, *(float*)&x482
), (
x485 = oppositePoint←v31568.f0, *(float*)&x485
), tf483, tf484), *(word*)&tf486
);
};
{
word x487;
float tf488;
float tf489;
word x490;
float tf491;
var←c97544 = (
tf491 = FMAX((
x487 = point←v31540.f1, *(float*)&x487
), (
x490 = oppositePoint←v31568.f1, *(float*)&x490
), tf488, tf489), *(word*)&tf491
);
};
{
word x492;
float tf493;
float tf494;
word x495;
float tf496;
(* (ptr) box←v31652 ) = (
tf496 = FMIN((
x492 = point←v31540.f0, *(float*)&x492
), (
x495 = oppositePoint←v31568.f0, *(float*)&x495
), tf493, tf494), *(word*)&tf496
);
};
(* (( (ptr) box←v31652)+1) ) = var←c97480;
(* (( (ptr) box←v31652)+2) ) = var←c97512;
(* (( (ptr) box←v31652)+3) ) = var←c97544;
(* (( (ptr) box←v31652)+4) ) = 0;
(* (( (ptr) box←v31652)+5) ) = 0;
};
SOURCE(43869, 28)
(void) BoxSetSegments←P600((* (( (ptr) &var←c104616)+4)/* slice←v14880 */ ), (* (( (ptr) &var←c104616)+5)/* parts←v14908 */ ))
;
SOURCE(43899, 27)
{
word pd497;
pd497 = (* (( (ptr) (* (( (ptr) gf←c104648)+300)/* var←c91944 */ ))+68) );
(void) ( *( (fPt) ((* (ptr) pd497 ))))((* ((( (ptr) &var←c104616)+4)/* slice←v14880 */ ) ), pd497);
};
SOURCE(43929, 374)
if ( ( ((* (( (ptr) (* (( (ptr) &var←c104616)+9)/* boxData←v31596 */ ))+7) ) != 0) ? (0 == (word) IsChildOfOutline←P660(
(* ((( (ptr) &var←c104616)+4)/* slice←v14880 */ ) ))) : 0 ) ) {
SOURCE(43995, 308)
{
W2 loc←v32024;
W3 var←c0737;
word firstChild←v32052;
SOURCE(43997, 54)
{
word pd498;
pd498 = (* (( (ptr) (* (( (ptr) gf←c104648)+300)/* var←c91944 */ ))+48) );
(void) ( *( (fPt) ((* (ptr) pd498 ))))((word) &var←c0737, (* (( (ptr) &var←c104616)+4)/* slice←v14880 */ ), pd498);
};
loc←v32024 = (* (W2Pt) &var←c0737 );
SOURCE(44070, 56)
{
word pd499;
pd499 = (* (( (ptr) (* (( (ptr) gf←c104648)+307)/* var←c92616 */ ))+28) );
firstChild←v32052 = (word) ( *( (fPt) ((* (ptr) pd499 ))))(loc←v32024.f0, pd499);
};
SOURCE(44128, 175)
{
W3 var←c0741;
{
W2 var←c97576;
W2 var←c97608;
var←c97576.f0 = firstChild←v32052;
var←c97576.f1 = 0;
{
word x500;
word x501;
*(float*)&var←c97608.f0 = (
x500 = (* (( (ptr) box←v31652)+2) ), *(float*)&x500
) - (
x501 = (* (ptr) box←v31652 ), *(float*)&x501
);
};
{
word x502;
word x503;
*(float*)&var←c97608.f1 = (
x502 = (* (( (ptr) box←v31652)+3) ), *(float*)&x502
) - (
x503 = (* (( (ptr) box←v31652)+1) ), *(float*)&x503
);
};
{
word pd504;
pd504 = (* (( (ptr) (* (( (ptr) gf←c104648)+306)/* var←c92584 */ ))+5) );
(void) ( *( (fPt) ((* (ptr) pd504 ))))((word) &var←c0741, var←c97576, var←c97608, ( (0 != (* (( (ptr) (* (( (ptr) &var←c104616)+9)
/* boxData←v31596 */ ))+12) )) ? 0 : 1 ) , 0, 0, pd504);
};
};
(* (W3Pt) (( (ptr) (* (( (ptr) &var←c104616)+9)/* boxData←v31596 */ ))+9) ) = var←c0741;
};
};
};
}
static void BoxFullTransform←P8880(transformColor←v31840, formal←c104712)
word transformColor←v31840;
word formal←c104712;
{
register ptr gf←c104680 = (ptr) &globalframe;
formal←c104712 = (formal←c104712 - 28);
/* BoxFullTransform: */
SOURCE(40508, 423)
SOURCE(40558, 77)
{
word var←c97640;
{
word pd505;
pd505 = (* (( (ptr) (* (( (ptr) gf←c104680)+301)/* var←c91976 */ ))+13) );
var←c97640 = (word) ( *( (fPt) ((* (ptr) pd505 ))))((* (( (ptr) (* (( (ptr) formal←c104712)+9) ))+1) ), (* (( (ptr) formal←c104712)+6)
), pd505);
};
(* (( (ptr) (* (( (ptr) formal←c104712)+9) ))+1) ) = var←c97640;
};
SOURCE(40637, 64)
{
word var←c97672;
{
word pd506;
pd506 = (* (( (ptr) (* (( (ptr) gf←c104680)+301)/* var←c91976 */ ))+51) );
var←c97672 = (word) ( *( (fPt) ((* (ptr) pd506 ))))((* ((( (ptr) (* (( (ptr) formal←c104712)+9) ))+1)) ), pd506);
};
(* (( (ptr) (* (( (ptr) formal←c104712)+9) ))+2) ) = var←c97672;
};
SOURCE(40703, 69)
{
W2 var←c97704;
W6 var←c0746;
{
word pd507;
pd507 = (* (( (ptr) (* (( (ptr) gf←c104680)+301)/* var←c91976 */ ))+50) );
(void) ( *( (fPt) ((* (ptr) pd507 ))))((word) &var←c0746, (* (( (ptr) (* (( (ptr) formal←c104712)+9) ))+2) ), pd507);
};
var←c97704 = (* (W2Pt) (( (ptr) &var←c0746)+1) );
(* (W2Pt) (( (ptr) (* (( (ptr) formal←c104712)+9) ))+3) ) = var←c97704;
};
SOURCE(40774, 98)
if ((0 != transformColor←v31840)) {
SOURCE(40798, 74)
{
word var←c97736;
{
word pd508;
pd508 = (* (( (ptr) (* (( (ptr) gf←c104680)+310)/* var←c93352 */ ))+37) );
var←c97736 = (word) ( *( (fPt) ((* (ptr) pd508 ))))((* (( (ptr) (* (( (ptr) formal←c104712)+9) ))+5) ), (* (( (ptr) formal←c104712)+6)
), pd508);
};
(* (( (ptr) (* (( (ptr) formal←c104712)+9) ))+5) ) = var←c97736;
};
};
SOURCE(40874, 28)
(void) BoxSetSegments←P600((* (( (ptr) formal←c104712)+4) ), (* (( (ptr) formal←c104712)+5) ));
SOURCE(40904, 27)
{
word pd509;
pd509 = (* (( (ptr) (* (( (ptr) gf←c104680)+300)/* var←c91944 */ ))+68) );
(void) ( *( (fPt) ((* (ptr) pd509 ))))((* ((( (ptr) formal←c104712)+4)) ), pd509);
};
}
static word BoxDescribeHit←P2220(slice←v15124, hitData←v15152)
word slice←v15124;
word hitData←v15152;
{
register ptr gf←c104744 = (ptr) &globalframe;
word rope←v15212;
word boxHitData←v32096;
word prefix←v32124 = 0;
/* BoxDescribeHit: */
SOURCE(44542, 386)
SOURCE(44542, 386)
rope←v15212 = 0;
SOURCE(44626, 40)
boxHitData←v32096 = XR←Narrow(hitData←v15152, (* (( (ptr) gf←c104744)+15) ));
{
W4 var←c97768;
W4 var←c97800;
SOURCE(44687, 194)
if (( (int)((* (ptr) boxHitData←v32096 ) - 1) != (int) (word) -1)) {
SOURCE(44716, 48)
{
word idx510;
var←c97768.f0 = (* (( (ptr) gf←c104744)+72) );
var←c97768.f1 = (* (( (ptr) gf←c104744)+66) );
var←c97768.f2 = (* (( (ptr) gf←c104744)+65) );
var←c97768.f3 = (* (( (ptr) gf←c104744)+64) );
prefix←v32124 = (* (( (ptr) (&var←c97768
))+(
idx510 = (word) ((* (ptr) boxHitData←v32096 ) - 1),
BCK(idx510, 4)
)) );
};
}
else {
SOURCE(44764, 117)
if (( (int)((* (( (ptr) boxHitData←v32096)+2) ) - 1) != (int) (word) -1)) {
SOURCE(44793, 23)
prefix←v32124 = (* (( (ptr) gf←c104744)+36) );
}
else {
SOURCE(44816, 65)
if (( (int)((* (( (ptr) boxHitData←v32096)+1) ) - 1) != (int) (word) -1)) {
SOURCE(44843, 38)
{
word idx511;
var←c97800.f0 = (* (( (ptr) gf←c104744)+62) );
var←c97800.f1 = (* (( (ptr) gf←c104744)+35) );
var←c97800.f2 = (* (( (ptr) gf←c104744)+34) );
var←c97800.f3 = (* (( (ptr) gf←c104744)+32) );
prefix←v32124 = (* (( (ptr) (&var←c97800
))+(
idx511 = (word) ((* (( (ptr) boxHitData←v32096)+1) ) - 1),
BCK(idx511, 4)
)) );
};
};
};
};
SOURCE(44883, 45)
{
word pd512;
pd512 = (* (( (ptr) (* (( (ptr) gf←c104744)+314)/* var←c97832 */ ))+6) );
rope←v15212 = (word) ( *( (fPt) ((* (ptr) pd512 ))))(prefix←v32124, (* (( (ptr) gf←c104744)+37) ), pd512);
};
};
SOURCE(44542, 386)
return(rope←v15212);
}
static word BoxDescribe←P2280(sliceD←v15272)
word sliceD←v15272;
{
register ptr gf←c104776 = (ptr) &globalframe;
word rope←v15316;
word prefix←v32168 = 0;
word boxParts←v32196 = 0;
word cornerCount←v32224;
word edgeCount←v32252;
/* BoxDescribe: */
SOURCE(44934, 1101)
SOURCE(44934, 1101)
rope←v15316 = 0;
{
W2 var←c0761;
W2 var←c0762;
SOURCE(45089, 66)
if (((* (( (ptr) sliceD←v15272)+1) ) == 0)) {
SOURCE(45116, 39)
return((* (( (ptr) gf←c104776)+38) ));
};
SOURCE(45157, 31)
boxParts←v32196 = XR←Narrow((* (( (ptr) sliceD←v15272)+1) ), (* (( (ptr) gf←c104776)+28) ));
SOURCE(45190, 50)
(void) CountCorners←P2640((word) &var←c0761, (* (W4Pt) boxParts←v32196 ));
cornerCount←v32224 = var←c0761.f0;
SOURCE(45242, 44)
(void) CountEdges←P2700((word) &var←c0762, (* (W4Pt) (( (ptr) boxParts←v32196)+4) ));
edgeCount←v32252 = var←c0762.f0;
SOURCE(45288, 747)
if (( (int)(cornerCount←v32224 + edgeCount←v32252) > (int)1)) {
SOURCE(45320, 45)
return((* (( (ptr) gf←c104776)+38) ));
}
else {
SOURCE(45365, 672)
{
word centerOnly←v32296;
word oneEdge←v32324;
word oneCorner←v32352;
word noParts←v32380;
SOURCE(45367, 68)
centerOnly←v32296 = (unsigned) ( ( (0 != (* (( (ptr) boxParts←v32196)+8) )) ? ( (int)edgeCount←v32252 == (int)0) : 0 ) ? ( (int)cornerCount←v32224 == (int)0) : 0 ) ;
SOURCE(45437, 69)
oneEdge←v32324 = (unsigned) ( ( (0 == (* (( (ptr) boxParts←v32196)+8) )) ? ( (int)edgeCount←v32252 == (int)1) : 0 ) ? ( (int)cornerCount←v32224 == (int)0) : 0 ) ;
SOURCE(45508, 71)
oneCorner←v32352 = (unsigned) ( ( (0 == (* (( (ptr) boxParts←v32196)+8) )) ? ( (int)cornerCount←v32224 == (int)1) : 0 ) ? ( (int)edgeCount←v32252 == (int)0) : 0 ) ;
SOURCE(45581, 69)
noParts←v32380 = (unsigned) ( ( (0 == (* (( (ptr) boxParts←v32196)+8) )) ? ( (int)cornerCount←v32224 == (int)0) : 0 ) ? ( (int)edgeCount←v32252 == (int)0) : 0 ) ;
if ((0 != oneCorner←v32352)) {
SOURCE(45684, 84)
{
register word i←v32424 = 0;
if (( (int)i←v32424 > (int)3)) {
goto lab←L100083;
};
lab←L100086: ;
SOURCE(45712, 56)
if ((0 != (* (( (ptr) boxParts←v32196)+BCK(i←v32424, 4)) ))) {
{
W4 var←c97864;
SOURCE(45742, 26)
var←c97864.f0 = (* (( (ptr) gf←c104776)+72) );
var←c97864.f1 = (* (( (ptr) gf←c104776)+66) );
var←c97864.f2 = (* (( (ptr) gf←c104776)+65) );
var←c97864.f3 = (* (( (ptr) gf←c104776)+64) );
prefix←v32168 = (* (( (ptr) (&var←c97864
))+BCK(i←v32424, 4)) );
SOURCE(45770, 4)
goto lab←L100084;
};
};
if (( (int)i←v32424 >= (int)3)) {
goto lab←L100083;
};
i←v32424 = (i←v32424 + 1);
goto lab←L100086;
lab←L100083: ;
lab←L100084: ;
};
}
else {
if ((0 != oneEdge←v32324)) {
SOURCE(45804, 80)
{
register word i←v32468 = 0;
if (( (int)i←v32468 > (int)3)) {
goto lab←L100087;
};
lab←L100090: ;
SOURCE(45832, 52)
if ((0 != (* ((( (ptr) boxParts←v32196)+4)+BCK(i←v32468, 4)) ))) {
{
W4 var←c97896;
SOURCE(45860, 24)
var←c97896.f0 = (* (( (ptr) gf←c104776)+62) );
var←c97896.f1 = (* (( (ptr) gf←c104776)+35) );
var←c97896.f2 = (* (( (ptr) gf←c104776)+34) );
var←c97896.f3 = (* (( (ptr) gf←c104776)+32) );
prefix←v32168 = (* (( (ptr) (&var←c97896
/*1*/ ))+BCK(i←v32468, 4)) );
SOURCE(45886, 4)
goto lab←L100088;
};
};
if (( (int)i←v32468 >= (int)3)) {
goto lab←L100087;
};
i←v32468 = (i←v32468 + 1);
goto lab←L100090;
lab←L100087: ;
lab←L100088: ;
};
}
else {
if ((0 != centerOnly←v32296)) {
SOURCE(45921, 17)
prefix←v32168 = (* (( (ptr) gf←c104776)+36) );
}
else {
if ((0 != noParts←v32380)) {
SOURCE(45951, 19)
prefix←v32168 = (* (( (ptr) gf←c104776)+39) );
}
else {
SOURCE(45983, 5)
(void) XR←RaiseUnnamedError();
};
};
};
};
SOURCE(45990, 45)
{
word pd513;
pd513 = (* (( (ptr) (* (( (ptr) gf←c104776)+314)/* var←c97832 */ ))+6) );
rope←v15316 = (word) ( *( (fPt) ((* (ptr) pd513 ))))(prefix←v32168, (* (( (ptr) gf←c104776)+37) ), pd513);
};
};
};
};
SOURCE(44934, 1101)
return(rope←v15316);
}
static void BoxFileout←P2340(slice←v15376, f←v15404)
word slice←v15376;
word f←v15404;
{
register ptr gf←c104808 = (ptr) &globalframe;
word boxData←v32512;
/* BoxFileout: */
SOURCE(46044, 1823)
SOURCE(46094, 37)
boxData←v32512 = XR←Narrow((* (( (ptr) slice←v15376)+1) ), (* (( (ptr) gf←c104808)+25) ));
SOURCE(46133, 62)
{
W2 var←c97928;
var←c97928.f0 = (* (ptr) (* (ptr) boxData←v32512 ) );
var←c97928.f1 = (* (( (ptr) (* (ptr) boxData←v32512 ))+1) );
{
word pd514;
pd514 = (* (( (ptr) (* (( (ptr) gf←c104808)+315)/* var←c97960 */ ))+9) );
(void) ( *( (fPt) ((* (ptr) pd514 ))))(f←v15404, var←c97928, pd514);
};
};
SOURCE(46197, 16)
{
word pd515;
pd515 = (* (( (ptr) (* (( (ptr) gf←c104808)+316)/* var←c97992 */ ))+21) );
(void) ( *( (fPt) ((* (ptr) pd515 ))))(f←v15404, 32, pd515);
};
SOURCE(46215, 62)
{
W2 var←c98024;
var←c98024.f0 = (* (( (ptr) (* (ptr) boxData←v32512 ))+2) );
var←c98024.f1 = (* (( (ptr) (* (ptr) boxData←v32512 ))+3) );
{
word pd516;
pd516 = (* (( (ptr) (* (( (ptr) gf←c104808)+315)/* var←c97960 */ ))+9) );
(void) ( *( (fPt) ((* (ptr) pd516 ))))(f←v15404, var←c98024, pd516);
};
};
SOURCE(46279, 16)
{
word pd517;
pd517 = (* (( (ptr) (* (( (ptr) gf←c104808)+316)/* var←c97992 */ ))+21) );
(void) ( *( (fPt) ((* (ptr) pd517 ))))(f←v15404, 32, pd517);
};
SOURCE(46297, 52)
{
word pd518;
pd518 = (* (( (ptr) (* (( (ptr) gf←c104808)+315)/* var←c97960 */ ))+10) );
(void) ( *( (fPt) ((* (ptr) pd518 ))))(f←v15404, (* (( (ptr) boxData←v32512)+1) ), pd518);
};
SOURCE(46351, 30)
{
word pd519;
pd519 = (* (( (ptr) (* (( (ptr) gf←c104808)+316)/* var←c97992 */ ))+93) );
(void) ( *( (fPt) ((* (ptr) pd519 ))))(f←v15404, (* (( (ptr) gf←c104808)+40) ), 0, 2147483647, pd519);
};
SOURCE(46383, 90)
{
register word edge←v32556 = 0;
if (( (int)edge←v32556 > (int)3)) {
goto lab←L100091;
};
lab←L100094: ;
SOURCE(46414, 59)
{
W2 var←c98056;
var←c98056.f0 = 8;
var←c98056.f1 = (* (( (ptr) (* ((( (ptr) boxData←v32512)+36)+BCK(edge←v32556, 4)) ))+2) );
{
word pd520;
pd520 = (* (( (ptr) (* (( (ptr) gf←c104808)+316)/* var←c97992 */ ))+61) );
(void) ( *( (fPt) ((* (ptr) pd520 ))))(f←v15404, (* (( (ptr) gf←c104808)+41) ), var←c98056, pd520);
};
};
if (( (int)edge←v32556 >= (int)3)) {
goto lab←L100091;
};
edge←v32556 = (edge←v32556 + 1);
goto lab←L100094;
lab←L100091: ;
};
SOURCE(46484, 29)
{
word pd521;
pd521 = (* (( (ptr) (* (( (ptr) gf←c104808)+316)/* var←c97992 */ ))+93) );
(void) ( *( (fPt) ((* (ptr) pd521 ))))(f←v15404, (* (( (ptr) gf←c104808)+42) ), 0, 2147483647, pd521);
};
SOURCE(46515, 111)
{
register word edge←v32600 = 0;
if (( (int)edge←v32600 > (int)3)) {
goto lab←L100095;
};
lab←L100098: ;
SOURCE(46546, 62)
{
word pd522;
pd522 = (* (( (ptr) (* (( (ptr) gf←c104808)+315)/* var←c97960 */ ))+4) );
(void) ( *( (fPt) ((* (ptr) pd522 ))))(f←v15404, (* (( (ptr) (* ((( (ptr) boxData←v32512)+36)+BCK(edge←v32600, 4)) ))+3)
), pd522);
};
SOURCE(46610, 16)
{
word pd523;
pd523 = (* (( (ptr) (* (( (ptr) gf←c104808)+316)/* var←c97992 */ ))+21) );
(void) ( *( (fPt) ((* (ptr) pd523 ))))(f←v15404, 32, pd523);
};
if (( (int)edge←v32600 >= (int)3)) {
goto lab←L100095;
};
edge←v32600 = (edge←v32600 + 1);
goto lab←L100098;
lab←L100095: ;
};
SOURCE(46637, 31)
{
word pd524;
pd524 = (* (( (ptr) (* (( (ptr) gf←c104808)+316)/* var←c97992 */ ))+93) );
(void) ( *( (fPt) ((* (ptr) pd524 ))))(f←v15404, (* (( (ptr) gf←c104808)+43) ), 0, 2147483647, pd524);
};
SOURCE(46670, 103)
{
register word edge←v32644 = 0;
if (( (int)edge←v32644 > (int)3)) {
goto lab←L100099;
};
lab←L100102: ;
SOURCE(46701, 54)
{
word pd525;
pd525 = (* (( (ptr) (* (( (ptr) gf←c104808)+315)/* var←c97960 */ ))+6) );
(void) ( *( (fPt) ((* (ptr) pd525 ))))(f←v15404, (* (( (ptr) (* ((( (ptr) boxData←v32512)+36)+BCK(edge←v32644, 4)) ))+8)
), pd525);
};
SOURCE(46757, 16)
{
word pd526;
pd526 = (* (( (ptr) (* (( (ptr) gf←c104808)+316)/* var←c97992 */ ))+21) );
(void) ( *( (fPt) ((* (ptr) pd526 ))))(f←v15404, 32, pd526);
};
if (( (int)edge←v32644 >= (int)3)) {
goto lab←L100099;
};
edge←v32644 = (edge←v32644 + 1);
goto lab←L100102;
lab←L100099: ;
};
SOURCE(46784, 26)
{
word pd527;
pd527 = (* (( (ptr) (* (( (ptr) gf←c104808)+316)/* var←c97992 */ ))+93) );
(void) ( *( (fPt) ((* (ptr) pd527 ))))(f←v15404, (* (( (ptr) gf←c104808)+44) ), 0, 2147483647, pd527);
};
SOURCE(46812, 43)
{
word pd528;
pd528 = (* (( (ptr) (* (( (ptr) gf←c104808)+315)/* var←c97960 */ ))+6) );
(void) ( *( (fPt) ((* (ptr) pd528 ))))(f←v15404, (* (( (ptr) boxData←v32512)+5) ), pd528);
};
SOURCE(46857, 18)
{
word pd529;
pd529 = (* (( (ptr) (* (( (ptr) gf←c104808)+316)/* var←c97992 */ ))+93) );
(void) ( *( (fPt) ((* (ptr) pd529 ))))(f←v15404, (* (( (ptr) gf←c104808)+45) ), 0, 2147483647, pd529);
};
SOURCE(46877, 53)
{
word pd530;
pd530 = (* (( (ptr) (* (( (ptr) gf←c104808)+315)/* var←c97960 */ ))+7) );
(void) ( *( (fPt) ((* (ptr) pd530 ))))(f←v15404, (* (( (ptr) boxData←v32512)+6) ), pd530);
};
SOURCE(46932, 24)
{
word pd531;
pd531 = (* (( (ptr) (* (( (ptr) gf←c104808)+316)/* var←c97992 */ ))+93) );
(void) ( *( (fPt) ((* (ptr) pd531 ))))(f←v15404, (* (( (ptr) gf←c104808)+46) ), 0, 2147483647, pd531);
};
SOURCE(46958, 248)
{
register word edge←v32688 = 0;
if (( (int)edge←v32688 > (int)3)) {
goto lab←L100103;
};
lab←L100106: ;
{
word seg←v32732;
SOURCE(46989, 37)
seg←v32732 = (* ((( (ptr) boxData←v32512)+36)+BCK(edge←v32688, 4)) );
SOURCE(47028, 35)
{
word pd532;
pd532 = (* (( (ptr) (* (( (ptr) gf←c104808)+315)/* var←c97960 */ ))+15) );
(void) ( *( (fPt) ((* (ptr) pd532 ))))(f←v15404, (* (( (ptr) seg←v32732)+4) ), pd532);
};
SOURCE(47065, 16)
{
word pd533;
pd533 = (* (( (ptr) (* (( (ptr) gf←c104808)+316)/* var←c97992 */ ))+21) );
(void) ( *( (fPt) ((* (ptr) pd533 ))))(f←v15404, 32, pd533);
};
SOURCE(47083, 123)
if ((0 != (* (( (ptr) seg←v32732)+4) ))) {
SOURCE(47104, 43)
{
word pd534;
pd534 = (* (( (ptr) (* (( (ptr) gf←c104808)+315)/* var←c97960 */ ))+14) );
(void) ( *( (fPt) ((* (ptr) pd534 ))))(f←v15404, (* (( (ptr) seg←v32732)+5) ), pd534);
};
SOURCE(47149, 57)
{
W2 var←c98088;
W2 var←c98120;
W2 var←c01483;
var←c98088.f0 = 8;
var←c98088.f1 = (* (( (ptr) seg←v32732)+6) );
var←c98120.f0 = 8;
var←c98120.f1 = (* (( (ptr) seg←v32732)+7) );
(* (ptr) (word) &var←c01483 ) = 0;
(* (( (ptr) (word) &var←c01483) + 1) ) = 0;
{
word pd535;
pd535 = (* (( (ptr) (* (( (ptr) gf←c104808)+316)/* var←c97992 */ ))+60) );
(void) ( *( (fPt) ((* (ptr) pd535 ))))(f←v15404, (* (( (ptr) gf←c104808)+47) ), var←c98088, var←c98120, var←c01483, pd535)
;
};
};
};
};
if (( (int)edge←v32688 >= (int)3)) {
goto lab←L100103;
};
edge←v32688 = (edge←v32688 + 1);
goto lab←L100106;
lab←L100103: ;
};
SOURCE(47220, 25)
{
word pd536;
pd536 = (* (( (ptr) (* (( (ptr) gf←c104808)+316)/* var←c97992 */ ))+93) );
(void) ( *( (fPt) ((* (ptr) pd536 ))))(f←v15404, (* (( (ptr) gf←c104808)+48) ), 0, 2147483647, pd536);
};
SOURCE(47247, 239)
{
register word edge←v32776 = 0;
if (( (int)edge←v32776 > (int)3)) {
goto lab←L100107;
};
lab←L100110: ;
{
word seg←v32820;
SOURCE(47278, 37)
seg←v32820 = (* ((( (ptr) boxData←v32512)+36)+BCK(edge←v32776, 4)) );
SOURCE(47317, 15)
{
word pd537;
pd537 = (* (( (ptr) (* (( (ptr) gf←c104808)+316)/* var←c97992 */ ))+93) );
(void) ( *( (fPt) ((* (ptr) pd537 ))))(f←v15404, (* (( (ptr) gf←c104808)+49) ), 0, 2147483647, pd537);
};
SOURCE(47334, 38)
{
word pd538;
pd538 = (* (( (ptr) (* (( (ptr) gf←c104808)+315)/* var←c97960 */ ))+15) );
(void) ( *( (fPt) ((* (ptr) pd538 ))))(f←v15404, (unsigned) ((* (( (ptr) seg←v32820)+25) ) != 0), pd538);
};
SOURCE(47374, 79)
if (((* (( (ptr) seg←v32820)+25) ) != 0)) {
SOURCE(47396, 41)
{
word pd539;
pd539 = (* (( (ptr) (* (( (ptr) gf←c104808)+315)/* var←c97960 */ ))+13) );
(void) ( *( (fPt) ((* (ptr) pd539 ))))(f←v15404, (* (( (ptr) seg←v32820)+25) ), pd539);
};
}
else {
SOURCE(47437, 16)
{
word pd540;
pd540 = (* (( (ptr) (* (( (ptr) gf←c104808)+316)/* var←c97992 */ ))+21) );
(void) ( *( (fPt) ((* (ptr) pd540 ))))(f←v15404, 32, pd540);
};
};
SOURCE(47471, 15)
{
word pd541;
pd541 = (* (( (ptr) (* (( (ptr) gf←c104808)+316)/* var←c97992 */ ))+93) );
(void) ( *( (fPt) ((* (ptr) pd541 ))))(f←v15404, (* (( (ptr) gf←c104808)+50) ), 0, 2147483647, pd541);
};
};
if (( (int)edge←v32776 >= (int)3)) {
goto lab←L100107;
};
edge←v32776 = (edge←v32776 + 1);
goto lab←L100110;
lab←L100107: ;
};
SOURCE(47497, 20)
{
word pd542;
pd542 = (* (( (ptr) (* (( (ptr) gf←c104808)+316)/* var←c97992 */ ))+93) );
(void) ( *( (fPt) ((* (ptr) pd542 ))))(f←v15404, (* (( (ptr) gf←c104808)+51) ), 0, 2147483647, pd542);
};
SOURCE(47519, 40)
{
word pd543;
pd543 = (* (( (ptr) (* (( (ptr) gf←c104808)+315)/* var←c97960 */ ))+15) );
(void) ( *( (fPt) ((* (ptr) pd543 ))))(f←v15404, (* (( (ptr) boxData←v32512)+15) ), pd543);
};
SOURCE(47561, 27)
{
word pd544;
pd544 = (* (( (ptr) (* (( (ptr) gf←c104808)+316)/* var←c97992 */ ))+93) );
(void) ( *( (fPt) ((* (ptr) pd544 ))))(f←v15404, (* (( (ptr) gf←c104808)+52) ), 0, 2147483647, pd544);
};
SOURCE(47590, 51)
{
word pd545;
pd545 = (* (( (ptr) (* (( (ptr) gf←c104808)+315)/* var←c97960 */ ))+5) );
(void) ( *( (fPt) ((* (ptr) pd545 ))))(f←v15404, (* (( (ptr) boxData←v32512)+14) ), pd545);
};
SOURCE(47643, 226)
{
W2 loc←v32864;
word screenStyle←v32892 = 0;
SOURCE(47649, 22)
loc←v32864.f0 = 0;
loc←v32864.f1 = 0;
SOURCE(47700, 46)
{
W3 var←c98216;
{
word pd546;
pd546 = (* (( (ptr) (* (( (ptr) gf←c104808)+300)/* var←c91944 */ ))+48) );
(void) ( *( (fPt) ((* (ptr) pd546 ))))((word) &var←c98216, slice←v15376, pd546);
};
screenStyle←v32892 = var←c98216.f2;
loc←v32864 = (* (W2Pt) &var←c98216 );
};
SOURCE(47748, 26)
{
word pd547;
pd547 = (* (( (ptr) (* (( (ptr) gf←c104808)+316)/* var←c97992 */ ))+93) );
(void) ( *( (fPt) ((* (ptr) pd547 ))))(f←v15404, (* (( (ptr) gf←c104808)+53) ), 0, 2147483647, pd547);
};
SOURCE(47776, 91)
{
word var←c98248;
if ((0 == (word) IsChildOfOutline←P660(slice←v15376))) {
var←c98248 = loc←v32864.f0;
}
else {
var←c98248 = 0;
};
{
word pd548;
pd548 = (* (( (ptr) (* (( (ptr) gf←c104808)+315)/* var←c97960 */ ))+8) );
(void) ( *( (fPt) ((* (ptr) pd548 ))))(f←v15404, var←c98248, screenStyle←v32892, pd548);
};
};
};
}
static word BoxFilein←P2400(f←v15464, version←v15492, router←v15520, camera←v15548)
word f←v15464;
word version←v15492;
word router←v15520;
word camera←v15548;
{
register ptr gf←c104840 = (ptr) &globalframe;
word slice←v15592;
word boxData←v32936 = 0;
word box←v32964 = 0;
W2 p1←v32992;
W2 p2←v33020;
word transform←v33048 = 0;
W4 strokeWidths←v33076;
W4 ends←v33104;
W4 colors←v33132;
W4 dashes←v33160;
W4 patterns←v33188;
W4 offsets←v33216;
W4 lengths←v33244;
W4 props←v33272;
word fill←v33300 = 0;
word pa←v33328 = 0;
word fwd←v33356 = 1;
word truth←v33384 = 1;
word strokeJoint←v33412 = 2;
/* BoxFilein: */
SOURCE(47878, 3918)
SOURCE(47878, 3918)
slice←v15592 = 0;
SOURCE(48130, 29)
XR←FillWords(&colors←v33132, 4, 0);
SOURCE(48161, 41)
XR←FillWords(&dashes←v33160, 4, 0);
SOURCE(48204, 40)
XR←FillWords(&patterns←v33188, 4, 0);
SOURCE(48308, 23)
XR←FillWords(&props←v33272, 4, 0);
SOURCE(48469, 27)
{
word pd549;
pd549 = (* (( (ptr) (* (( (ptr) gf←c104840)+317)/* var←c98408 */ ))+19) );
(void) ( *( (fPt) ((* (ptr) pd549 ))))((word) &p1←v32992, f←v15464, pd549);
};
SOURCE(48498, 27)
{
word pd550;
pd550 = (* (( (ptr) (* (( (ptr) gf←c104840)+317)/* var←c98408 */ ))+19) );
(void) ( *( (fPt) ((* (ptr) pd550 ))))((word) &p2←v33020, f←v15464, pd550);
};
SOURCE(48527, 43)
{
word pd551;
pd551 = (* (( (ptr) (* (( (ptr) gf←c104840)+317)/* var←c98408 */ ))+20) );
transform←v33048 = (word) ( *( (fPt) ((* (ptr) pd551 ))))(f←v15464, pd551);
};
SOURCE(48572, 184)
{
word x552;
word x554;
if (((
x552 = version←v15492, *(float*)&x552
) > (
x554 = (* (ptr) &fc553 ), *(float*)&x554
))) {
SOURCE(48600, 40)
{
word pd555;
pd555 = (* (( (ptr) (* (( (ptr) gf←c104840)+317)/* var←c98408 */ ))+9) );
(void) ( *( (fPt) ((* (ptr) pd555 ))))(f←v15464, (* (( (ptr) gf←c104840)+54) ), pd555);
};
SOURCE(48642, 73)
{
register word edge←v33828 = 0;
if (( (int)edge←v33828 > (int)3)) {
goto lab←L100111;
};
lab←L100114: ;
SOURCE(48673, 42)
{
word var←c98440;
{
word pd556;
pd556 = (* (( (ptr) (* (( (ptr) gf←c104840)+317)/* var←c98408 */ ))+27) );
var←c98440 = (word) ( *( (fPt) ((* (ptr) pd556 ))))(f←v15464, pd556);
};
(* (( (ptr) &strokeWidths←v33076)+BCK(edge←v33828, 4)) ) = var←c98440;
};
if (( (int)edge←v33828 >= (int)3)) {
goto lab←L100111;
};
edge←v33828 = (edge←v33828 + 1);
goto lab←L100114;
lab←L100111: ;
};
}
else {
SOURCE(48733, 23)
XR←FillWords(&strokeWidths←v33076, 4, (* (ptr) &fc101 ));
};
};
SOURCE(48758, 214)
{
word x557;
word x559;
if (((
x557 = version←v15492, *(float*)&x557
) >= (
x559 = (* (ptr) &fc558 ), *(float*)&x559
))) {
SOURCE(48807, 40)
{
word pd560;
pd560 = (* (( (ptr) (* (( (ptr) gf←c104840)+317)/* var←c98408 */ ))+9) );
(void) ( *( (fPt) ((* (ptr) pd560 ))))(f←v15464, (* (( (ptr) gf←c104840)+55) ), pd560);
};
SOURCE(48849, 70)
{
register word edge←v33872 = 0;
if (( (int)edge←v33872 > (int)3)) {
goto lab←L100115;
};
lab←L100118: ;
SOURCE(48880, 39)
{
word var←c98472;
{
word pd561;
pd561 = (* (( (ptr) (* (( (ptr) gf←c104840)+317)/* var←c98408 */ ))+14) );
var←c98472 = (word) ( *( (fPt) ((* (ptr) pd561 ))))(f←v15464, pd561);
};
(* (( (ptr) &ends←v33104)+BCK(edge←v33872, 4)) ) = var←c98472;
};
if (( (int)edge←v33872 >= (int)3)) {
goto lab←L100115;
};
edge←v33872 = (edge←v33872 + 1);
goto lab←L100118;
lab←L100115: ;
};
}
else {
SOURCE(48937, 35)
ends←v33104.f0 = 2;
ends←v33104.f1 = 2;
ends←v33104.f2 = 2;
ends←v33104.f3 = 2;
};
};
SOURCE(48974, 287)
{
word x562;
word x563;
if (((
x562 = version←v15492, *(float*)&x562
) > (
x563 = (* (ptr) &fc553 ), *(float*)&x563
))) {
SOURCE(49002, 42)
{
word pd564;
pd564 = (* (( (ptr) (* (( (ptr) gf←c104840)+317)/* var←c98408 */ ))+9) );
(void) ( *( (fPt) ((* (ptr) pd564 ))))(f←v15464, (* (( (ptr) gf←c104840)+56) ), pd564);
};
SOURCE(49046, 77)
{
register word edge←v33916 = 0;
if (( (int)edge←v33916 > (int)3)) {
goto lab←L100119;
};
lab←L100122: ;
SOURCE(49077, 46)
{
word var←c98504;
{
word pd565;
pd565 = (* (( (ptr) (* (( (ptr) gf←c104840)+317)/* var←c98408 */ ))+16) );
var←c98504 = (word) ( *( (fPt) ((* (ptr) pd565 ))))(f←v15464, version←v15492, pd565);
};
(* (( (ptr) &colors←v33132)+BCK(edge←v33916, 4)) ) = var←c98504;
};
if (( (int)edge←v33916 >= (int)3)) {
goto lab←L100119;
};
edge←v33916 = (edge←v33916 + 1);
goto lab←L100122;
lab←L100119: ;
};
SOURCE(49134, 38)
{
word pd566;
pd566 = (* (( (ptr) (* (( (ptr) gf←c104840)+317)/* var←c98408 */ ))+9) );
(void) ( *( (fPt) ((* (ptr) pd566 ))))(f←v15464, (* (( (ptr) gf←c104840)+44) ), pd566);
};
SOURCE(49174, 38)
{
word pd567;
pd567 = (* (( (ptr) (* (( (ptr) gf←c104840)+317)/* var←c98408 */ ))+16) );
fill←v33300 = (word) ( *( (fPt) ((* (ptr) pd567 ))))(f←v15464, version←v15492, pd567);
};
}
else {
SOURCE(49223, 26)
XR←FillWords(&colors←v33132, 4, (* (ptr) (* (( (ptr) (* (( (ptr) gf←c104840)+303)/* var←c92232 */ ))+54) ) ));
SOURCE(49251, 10)
fill←v33300 = 0;
};
};
SOURCE(49266, 118)
{
word x568;
word x570;
if (((
x568 = version←v15492, *(float*)&x568
) >= (
x570 = (* (ptr) &fc569 ), *(float*)&x570
))) {
SOURCE(49322, 28)
{
word pd571;
pd571 = (* (( (ptr) (* (( (ptr) gf←c104840)+317)/* var←c98408 */ ))+9) );
(void) ( *( (fPt) ((* (ptr) pd571 ))))(f←v15464, (* (( (ptr) gf←c104840)+57) ), pd571);
};
SOURCE(49352, 32)
{
word pd572;
pd572 = (* (( (ptr) (* (( (ptr) gf←c104840)+317)/* var←c98408 */ ))+17) );
pa←v33328 = (word) ( *( (fPt) ((* (ptr) pd572 ))))(f←v15464, pd572);
};
};
};
SOURCE(49389, 342)
{
word x573;
word x575;
if (((
x573 = version←v15492, *(float*)&x573
) >= (
x575 = (* (ptr) &fc574 ), *(float*)&x575
))) {
SOURCE(49441, 34)
{
word pd576;
pd576 = (* (( (ptr) (* (( (ptr) gf←c104840)+317)/* var←c98408 */ ))+9) );
(void) ( *( (fPt) ((* (ptr) pd576 ))))(f←v15464, (* (( (ptr) gf←c104840)+58) ), pd576);
};
SOURCE(49477, 215)
{
register word edge←v33960 = 0;
if (( (int)edge←v33960 > (int)3)) {
goto lab←L100123;
};
lab←L100126: ;
SOURCE(49508, 36)
{
word var←c98536;
{
word pd577;
pd577 = (* (( (ptr) (* (( (ptr) gf←c104840)+317)/* var←c98408 */ ))+24) );
var←c98536 = (word) ( *( (fPt) ((* (ptr) pd577 ))))(f←v15464, pd577);
};
(* (( (ptr) &dashes←v33160)+BCK(edge←v33960, 4)) ) = var←c98536;
};
SOURCE(49546, 146)
if ((0 != (* (( (ptr) &dashes←v33160)+BCK(edge←v33960, 4)) ))) {
SOURCE(49569, 45)
{
word var←c98568;
{
word pd578;
pd578 = (* (( (ptr) (* (( (ptr) gf←c104840)+317)/* var←c98408 */ ))+23) );
var←c98568 = (word) ( *( (fPt) ((* (ptr) pd578 ))))(f←v15464, pd578);
};
(* (( (ptr) &patterns←v33188)+BCK(edge←v33960, 4)) ) = var←c98568;
};
SOURCE(49616, 37)
{
word var←c98600;
{
word pd579;
pd579 = (* (( (ptr) (* (( (ptr) gf←c104840)+317)/* var←c98408 */ ))+27) );
var←c98600 = (word) ( *( (fPt) ((* (ptr) pd579 ))))(f←v15464, pd579);
};
(* (( (ptr) &offsets←v33216)+BCK(edge←v33960, 4)) ) = var←c98600;
};
SOURCE(49655, 37)
{
word var←c98632;
{
word pd580;
pd580 = (* (( (ptr) (* (( (ptr) gf←c104840)+317)/* var←c98408 */ ))+27) );
var←c98632 = (word) ( *( (fPt) ((* (ptr) pd580 ))))(f←v15464, pd580);
};
(* (( (ptr) &lengths←v33244)+BCK(edge←v33960, 4)) ) = var←c98632;
};
};
if (( (int)edge←v33960 >= (int)3)) {
goto lab←L100123;
};
edge←v33960 = (edge←v33960 + 1);
goto lab←L100126;
lab←L100123: ;
};
SOURCE(49706, 25)
{
word pd581;
pd581 = (* (( (ptr) (* (( (ptr) gf←c104840)+317)/* var←c98408 */ ))+10) );
(void) ( *( (fPt) ((* (ptr) pd581 ))))(f←v15464, 41, pd581);
};
};
};
SOURCE(49736, 335)
{
word x582;
word x584;
if (((
x582 = version←v15492, *(float*)&x582
) >= (
x584 = (* (ptr) &fc583 ), *(float*)&x584
))) {
SOURCE(49761, 312)
{
word hasProps←v34004 = 0;
SOURCE(49812, 33)
{
word pd585;
pd585 = (* (( (ptr) (* (( (ptr) gf←c104840)+317)/* var←c98408 */ ))+9) );
(void) ( *( (fPt) ((* (ptr) pd585 ))))(f←v15464, (* (( (ptr) gf←c104840)+59) ), pd585);
};
SOURCE(49847, 188)
{
register word edge←v34048 = 0;
if (( (int)edge←v34048 > (int)3)) {
goto lab←L100127;
};
lab←L100130: ;
SOURCE(49878, 27)
{
word pd586;
pd586 = (* (( (ptr) (* (( (ptr) gf←c104840)+317)/* var←c98408 */ ))+9) );
(void) ( *( (fPt) ((* (ptr) pd586 ))))(f←v15464, (* (( (ptr) gf←c104840)+49) ), pd586);
};
SOURCE(49907, 32)
{
word pd587;
pd587 = (* (( (ptr) (* (( (ptr) gf←c104840)+317)/* var←c98408 */ ))+24) );
hasProps←v34004 = (word) ( *( (fPt) ((* (ptr) pd587 ))))(f←v15464, pd587);
};
SOURCE(49941, 67)
{
word var←c98664;
{
word pd588;
if ((0 != hasProps←v34004)) {
pd588 = (* (( (ptr) (* (( (ptr) gf←c104840)+317)/* var←c98408 */ ))+13) );
var←c98664 = (word) ( *( (fPt) ((* (ptr) pd588 ))))(f←v15464, pd588);
}
else {
var←c98664 = 0;
};
};
(* (( (ptr) &props←v33272)+BCK(edge←v34048, 4)) ) = var←c98664;
};
SOURCE(50010, 25)
{
word pd589;
pd589 = (* (( (ptr) (* (( (ptr) gf←c104840)+317)/* var←c98408 */ ))+10) );
(void) ( *( (fPt) ((* (ptr) pd589 ))))(f←v15464, 41, pd589);
};
if (( (int)edge←v34048 >= (int)3)) {
goto lab←L100127;
};
edge←v34048 = (edge←v34048 + 1);
goto lab←L100130;
lab←L100127: ;
};
SOURCE(50046, 25)
{
word pd590;
pd590 = (* (( (ptr) (* (( (ptr) gf←c104840)+317)/* var←c98408 */ ))+10) );
(void) ( *( (fPt) ((* (ptr) pd590 ))))(f←v15464, 41, pd590);
};
};
};
};
SOURCE(50076, 108)
{
word x591;
word x593;
if (((
x591 = version←v15492, *(float*)&x591
) >= (
x593 = (* (ptr) &fc592 ), *(float*)&x593
))) {
SOURCE(50126, 29)
{
word pd594;
pd594 = (* (( (ptr) (* (( (ptr) gf←c104840)+317)/* var←c98408 */ ))+9) );
(void) ( *( (fPt) ((* (ptr) pd594 ))))(f←v15464, (* (( (ptr) gf←c104840)+60) ), pd594);
};
SOURCE(50157, 27)
{
word pd595;
pd595 = (* (( (ptr) (* (( (ptr) gf←c104840)+317)/* var←c98408 */ ))+24) );
fwd←v33356 = (word) ( *( (fPt) ((* (ptr) pd595 ))))(f←v15464, pd595);
};
};
};
SOURCE(50189, 131)
{
word x596;
word x598;
if (((
x596 = version←v15492, *(float*)&x596
) >= (
x598 = (* (ptr) &fc597 ), *(float*)&x598
))) {
SOURCE(50239, 37)
{
word pd599;
pd599 = (* (( (ptr) (* (( (ptr) gf←c104840)+317)/* var←c98408 */ ))+9) );
(void) ( *( (fPt) ((* (ptr) pd599 ))))(f←v15464, (* (( (ptr) gf←c104840)+61) ), pd599);
};
SOURCE(50278, 42)
{
word pd600;
pd600 = (* (( (ptr) (* (( (ptr) gf←c104840)+317)/* var←c98408 */ ))+15) );
strokeJoint←v33412 = (word) ( *( (fPt) ((* (ptr) pd600 ))))(f←v15464, pd600);
};
};
};
SOURCE(50325, 57)
{
word pd601;
pd601 = (* (( (ptr) (* (( (ptr) gf←c104840)+304)/* var←c92328 */ ))+5) );
box←v32964 = (word) ( *( (fPt) ((* (ptr) pd601 ))))(p1←v32992.f0, p1←v32992.f1, p2←v33020.f0, p2←v33020.f1, 0, 0, pd601)
;
};
SOURCE(50384, 46)
slice←v15592 = (* (ptr) MakeBoxSlice←P120(box←v32964, 3, transform←v33048) );
SOURCE(50432, 28)
boxData←v32936 = XR←Narrow((* (( (ptr) slice←v15592)+1) ), (* (( (ptr) gf←c104840)+25) ));
SOURCE(50462, 411)
{
register word edge←v34092 = 0;
if (( (int)edge←v34092 > (int)3)) {
goto lab←L100131;
};
lab←L100134: ;
{
word seg←v34136;
SOURCE(50493, 37)
seg←v34136 = (* ((( (ptr) boxData←v32936)+36)+BCK(edge←v34092, 4)) );
SOURCE(50532, 36)
(* (( (ptr) seg←v34136)+2) ) = (* (( (ptr) &strokeWidths←v33076)+BCK(edge←v34092, 4)) );
SOURCE(50570, 26)
(* (( (ptr) seg←v34136)+3) ) = (* (( (ptr) &ends←v33104)+BCK(edge←v34092, 4)) );
SOURCE(50598, 24)
(* (( (ptr) seg←v34136)+8) ) = (* (( (ptr) &colors←v33132)+BCK(edge←v34092, 4)) );
SOURCE(50624, 25)
(* (( (ptr) seg←v34136)+4) ) = (* (( (ptr) &dashes←v33160)+BCK(edge←v34092, 4)) );
SOURCE(50651, 107)
if ((0 != (* (( (ptr) &dashes←v33160)+BCK(edge←v34092, 4)) ))) {
SOURCE(50674, 28)
(* (( (ptr) seg←v34136)+5) ) = (* (( (ptr) &patterns←v33188)+BCK(edge←v34092, 4)) );
SOURCE(50704, 26)
(* (( (ptr) seg←v34136)+6) ) = (* (( (ptr) &offsets←v33216)+BCK(edge←v34092, 4)) );
SOURCE(50732, 26)
(* (( (ptr) seg←v34136)+7) ) = (* (( (ptr) &lengths←v33244)+BCK(edge←v34092, 4)) );
};
SOURCE(50763, 110)
{
register word next←v34180;
next←v34180 = (* (( (ptr) &props←v33272)+BCK(edge←v34092, 4)) );
lab←L100138: ;
if ((next←v34180 != 0)) {
}
else {
goto lab←L100135;
};
SOURCE(50834, 39)
{
word var←c98696;
var←c98696 = XR←NewObject(8, (* (( (ptr) gf←c104840)+14) ));
(* (ptr) var←c98696 ) = (* (ptr) next←v34180 );
(* (( (ptr) var←c98696)+1) ) = (* (( (ptr) seg←v34136)+25) );
(* (( (ptr) seg←v34136)+25) ) = var←c98696;
};
next←v34180 = (* (( (ptr) next←v34180)+1) );
goto lab←L100138;
lab←L100135: ;
};
};
if (( (int)edge←v34092 >= (int)3)) {
goto lab←L100131;
};
edge←v34092 = (edge←v34092 + 1);
goto lab←L100134;
lab←L100131: ;
};
SOURCE(50893, 24)
(* (( (ptr) boxData←v32936)+5) ) = fill←v33300;
SOURCE(50919, 27)
(* (( (ptr) boxData←v32936)+6) ) = pa←v33328;
SOURCE(50948, 21)
(* (( (ptr) boxData←v32936)+15) ) = fwd←v33356;
SOURCE(50971, 33)
(* (( (ptr) boxData←v32936)+14) ) = strokeJoint←v33412;
SOURCE(51006, 564)
{
word x602;
word x604;
if (((
x602 = version←v15492, *(float*)&x602
) == (
x604 = (* (ptr) &fc603 ), *(float*)&x604
))) {
SOURCE(51067, 29)
{
word pd605;
pd605 = (* (( (ptr) (* (( (ptr) gf←c104840)+317)/* var←c98408 */ ))+24) );
truth←v33384 = (word) ( *( (fPt) ((* (ptr) pd605 ))))(f←v15464, pd605);
};
SOURCE(51098, 472)
if ((0 != truth←v33384)) {
SOURCE(51112, 460)
{
word fillText←v34308 = 0;
word ref←v34336 = 0;
word nodeSize←v34364 = 0;
word where←v34392 = 0;
SOURCE(51180, 29)
{
word pd606;
pd606 = (* (( (ptr) (* (( (ptr) gf←c104840)+317)/* var←c98408 */ ))+24) );
truth←v33384 = (word) ( *( (fPt) ((* (ptr) pd606 ))))(f←v15464, pd606);
};
SOURCE(51231, 54)
{
word x607;
word x609;
if (((
x607 = version←v15492, *(float*)&x607
) >= (
x609 = (* (ptr) &fc608 ), *(float*)&x609
))) {
SOURCE(51256, 29)
{
word pd610;
word idx611;
pd610 = (* (( (ptr) (* (( (ptr) gf←c104840)+317)/* var←c98408 */ ))+26) );
where←v34392 = (
idx611 = (word) ( *( (fPt) ((* (ptr) pd610 ))))(f←v15464, pd610),
SGNCK(idx611)
);
};
};
};
SOURCE(51310, 32)
{
word pd612;
word idx613;
pd612 = (* (( (ptr) (* (( (ptr) gf←c104840)+317)/* var←c98408 */ ))+26) );
nodeSize←v34364 = (
idx613 = (word) ( *( (fPt) ((* (ptr) pd612 ))))(f←v15464, pd612),
SGNCK(idx613)
);
};
SOURCE(51376, 40)
{
word pd614;
pd614 = (* (( (ptr) (* (( (ptr) gf←c104840)+316)/* var←c97992 */ ))+19) );
if (((word) ( *( (fPt) ((* (ptr) pd614 ))))(f←v15464, pd614) == 32)) {
SOURCE(51401, 15)
{
word var←c98728;
word pd615;
pd615 = (* (( (ptr) (* (( (ptr) gf←c104840)+316)/* var←c97992 */ ))+11) );
var←c98728 = (word) ( *( (fPt) ((* (ptr) pd615 ))))(f←v15464, pd615);
};
};
};
SOURCE(51447, 36)
{
word pd616;
pd616 = (* (( (ptr) (* (( (ptr) gf←c104840)+316)/* var←c97992 */ ))+92) );
fillText←v34308 = (word) ( *( (fPt) ((* (ptr) pd616 ))))(f←v15464, nodeSize←v34364, 1, pd616);
};
SOURCE(51485, 32)
{
word pd617;
pd617 = (* (( (ptr) (* (( (ptr) gf←c104840)+318)/* var←c98760 */ ))+10) );
ref←v34336 = (word) ( *( (fPt) ((* (ptr) pd617 ))))(fillText←v34308, pd617);
};
SOURCE(51519, 51)
{
W2 var←c98792;
var←c98792.f0 = ref←v34336;
var←c98792.f1 = where←v34392;
{
word pd618;
pd618 = (* (( (ptr) (* (( (ptr) gf←c104840)+300)/* var←c91944 */ ))+47) );
(void) ( *( (fPt) ((* (ptr) pd618 ))))(slice←v15592, var←c98792, truth←v33384, 0, pd618);
};
};
};
};
};
};
SOURCE(51578, 218)
{
word x619;
word x620;
if (((
x619 = version←v15492, *(float*)&x619
) >= (
x620 = (* (ptr) &fc608 ), *(float*)&x620
))) {
SOURCE(51603, 195)
{
word text←v34436 = 0;
word screenStyle←v34464 = 0;
SOURCE(51652, 34)
{
word pd621;
pd621 = (* (( (ptr) (* (( (ptr) gf←c104840)+317)/* var←c98408 */ ))+9) );
(void) ( *( (fPt) ((* (ptr) pd621 ))))(f←v15464, (* (( (ptr) gf←c104840)+63) ), pd621);
};
SOURCE(51688, 52)
{
W2 var←c98824;
{
word pd622;
pd622 = (* (( (ptr) (* (( (ptr) gf←c104840)+317)/* var←c98408 */ ))+18) );
(void) ( *( (fPt) ((* (ptr) pd622 ))))((word) &var←c98824, f←v15464, version←v15492, pd622);
};
screenStyle←v34464 = var←c98824.f1;
text←v34436 = var←c98824.f0;
};
SOURCE(51742, 54)
{
W2 var←c98856;
var←c98856.f0 = text←v34436;
var←c98856.f1 = 0;
{
word pd623;
pd623 = (* (( (ptr) (* (( (ptr) gf←c104840)+300)/* var←c91944 */ ))+47) );
(void) ( *( (fPt) ((* (ptr) pd623 ))))(slice←v15592, var←c98856, screenStyle←v34464, 0, pd623);
};
};
};
};
};
SOURCE(47878, 3918)
return(slice←v15592);
}
static void MakeComplete←P2460(boxParts←v15652)
word boxParts←v15652;
{
/* MakeComplete: */
SOURCE(51805, 125)
SOURCE(51850, 28)
XR←FillWords(&(* (W4Pt) (boxParts←v15652)), 4, 1);
SOURCE(51880, 26)
XR←FillWords(&(* (W4Pt) ((( (ptr) boxParts←v15652)+4))), 4, 1);
SOURCE(51908, 22)
(* (( (ptr) boxParts←v15652)+8) ) = 1;
}
static word IsComplete←P2520(boxParts←v15712)
word boxParts←v15712;
{
register ptr gf←c104872 = (ptr) &globalframe;
word var←c15756;
/* IsComplete: */
SOURCE(51936, 167)
SOURCE(51936, 167)
var←c15756 = 0;
SOURCE(52001, 102)
{
word tc624;
if ( ( ( (boxParts←v15712 != 0) ? XR←EqualWords(boxParts←v15712, (( (ptr) gf←c104872)+287)/* var←c91720 */ , 4) : 0 ) ? XR←EqualWords(
(( (ptr) boxParts←v15712)+4), (( (ptr) gf←c104872)+283)/* var←c91656 */ , 4) : 0 ) ) {
tc624 = (word) (unsigned) (0 != (* (( (ptr) boxParts←v15712)+8) ));
}
else {
tc624 = (word) (unsigned) 0;
};
return(tc624);
};
}
static word IsEmpty←P2580(boxParts←v15816)
word boxParts←v15816;
{
register ptr gf←c104904 = (ptr) &globalframe;
word var←c15860;
/* IsEmpty: */
SOURCE(52109, 173)
SOURCE(52109, 173)
var←c15860 = 0;
SOURCE(52171, 111)
{
word tc625;
if ((boxParts←v15816 == 0)) {
tc625 = (word) (unsigned) 1;
}
else {
if ( ( (XR←EqualWords(boxParts←v15816, (( (ptr) gf←c104904)+291)/* var←c91784 */ , 4)) ? XR←EqualWords((( (ptr) boxParts←v15816)+4)
, (( (ptr) gf←c104904)+295)/* var←c91848 */ , 4) : 0 ) ) {
tc625 = (word) (unsigned) ((* (( (ptr) boxParts←v15816)+8) ) == 0);
}
else {
tc625 = (word) (unsigned) 0;
};
};
return(tc625);
};
}
static void CountCorners←P2640(formal←c0854, a←v15920)
word formal←c0854;
W4 a←v15920;
{
word count←v15964;
word cornerNum←v15992;
/* CountCorners: */
SOURCE(52288, 199)
SOURCE(52373, 9)
count←v15964 = 0;
SOURCE(52384, 14)
cornerNum←v15992 = (word) -1;
SOURCE(52400, 87)
{
register word corner←v34508 = 0;
if (( (int)corner←v34508 > (int)3)) {
goto lab←L100140;
};
lab←L100143: ;
SOURCE(52433, 54)
if ((0 != (* (( (ptr) &a←v15920)+BCK(corner←v34508, 4)) ))) {
SOURCE(52452, 15)
count←v15964 = (count←v15964 + 1);
SOURCE(52469, 18)
cornerNum←v15992 = corner←v34508;
};
if (( (int)corner←v34508 >= (int)3)) {
goto lab←L100140;
};
corner←v34508 = (corner←v34508 + 1);
goto lab←L100143;
lab←L100140: ;
};
/* removed tail goto */
(* (ptr) formal←c0854 ) = count←v15964;
(* (( (ptr) formal←c0854)+1) ) = cornerNum←v15992;
return;
}
static void CountEdges←P2700(formal←c0859, a←v16052)
word formal←c0859;
W4 a←v16052;
{
word count←v16096;
word edgeNum←v16124;
/* CountEdges: */
SOURCE(52503, 183)
SOURCE(52582, 9)
count←v16096 = 0;
SOURCE(52593, 12)
edgeNum←v16124 = (word) -1;
SOURCE(52607, 79)
{
register word edge←v34552 = 0;
if (( (int)edge←v34552 > (int)3)) {
goto lab←L100145;
};
lab←L100148: ;
SOURCE(52638, 48)
if ((0 != (* (( (ptr) &a←v16052)+BCK(edge←v34552, 4)) ))) {
SOURCE(52655, 15)
count←v16096 = (count←v16096 + 1);
SOURCE(52672, 14)
edgeNum←v16124 = edge←v34552;
};
if (( (int)edge←v34552 >= (int)3)) {
goto lab←L100145;
};
edge←v34552 = (edge←v34552 + 1);
goto lab←L100148;
lab←L100145: ;
};
/* removed tail goto */
(* (ptr) formal←c0859 ) = count←v16096;
(* (( (ptr) formal←c0859)+1) ) = edgeNum←v16124;
return;
}
static word BoxPointsInDescriptor←P2760(sliceD←v16184)
word sliceD←v16184;
{
register ptr gf←c104936 = (ptr) &globalframe;
word pointGen←v16228;
word parts←v34596;
/* BoxPointsInDescriptor: */
SOURCE(52702, 379)
SOURCE(52702, 379)
pointGen←v16228 = 0;
SOURCE(52795, 38)
parts←v34596 = XR←Narrow((* (( (ptr) sliceD←v16184)+1) ), (* (( (ptr) gf←c104936)+28) ));
SOURCE(52835, 56)
{
word var←c98888;
var←c98888 = XR←NewObject(16, (* (( (ptr) gf←c104936)+12) ));
(* (ptr) var←c98888 ) = sliceD←v16184;
pointGen←v16228 = var←c98888;
};
SOURCE(52920, 96)
{
register word corner←v34640 = 0;
if (( (int)corner←v34640 > (int)3)) {
goto lab←L100149;
};
lab←L100152: ;
SOURCE(52953, 63)
if ((0 != (* (( (ptr) parts←v34596)+BCK(corner←v34640, 4)) ))) {
SOURCE(52983, 33)
(* (( (ptr) pointGen←v16228)+1) ) = ((* (( (ptr) pointGen←v16228)+1) ) + 1);
};
if (( (int)corner←v34640 >= (int)3)) {
goto lab←L100149;
};
corner←v34640 = (corner←v34640 + 1);
goto lab←L100152;
lab←L100149: ;
};
SOURCE(53027, 54)
if ((0 != (* (( (ptr) parts←v34596)+8) ))) {
SOURCE(53048, 33)
(* (( (ptr) pointGen←v16228)+1) ) = ((* (( (ptr) pointGen←v16228)+1) ) + 1);
};
SOURCE(52702, 379)
return(pointGen←v16228);
}
static void BoxWalkPointsInDescriptor←P2820(sliceD←v16288, walkProc←v16316)
word sliceD←v16288;
word walkProc←v16316;
{
register ptr gf←c104968 = (ptr) &globalframe;
word parts←v34684;
word boxData←v34712;
word done←v34740 = 0;
/* BoxWalkPointsInDescriptor: */
SOURCE(53087, 401)
SOURCE(53174, 38)
parts←v34684 = XR←Narrow((* (( (ptr) sliceD←v16288)+1) ), (* (( (ptr) gf←c104968)+28) ));
SOURCE(53214, 44)
boxData←v34712 = XR←Narrow((* (( (ptr) (* (ptr) sliceD←v16288 ))+1) ), (* (( (ptr) gf←c104968)+25) ));
SOURCE(53280, 131)
{
register word corner←v34784 = 0;
if (( (int)corner←v34784 > (int)3)) {
goto lab←L100153;
};
lab←L100156: ;
SOURCE(53313, 98)
if ((0 != (* (( (ptr) parts←v34684)+BCK(corner←v34784, 4)) ))) {
SOURCE(53345, 45)
{
W2 var←c98920;
(void) GetBoxPoint←P3120((word) &var←c98920, boxData←v34712, corner←v34784);
done←v34740 = (word) ( *( (fPt) ((* (ptr) walkProc←v16316 ))))(var←c98920, walkProc←v16316);
};
SOURCE(53392, 19)
if ((0 != done←v34740)) {
SOURCE(53405, 6)
return;
};
};
if (( (int)corner←v34784 >= (int)3)) {
goto lab←L100153;
};
corner←v34784 = (corner←v34784 + 1);
goto lab←L100156;
lab←L100153: ;
};
SOURCE(53425, 63)
if ((0 != (* (( (ptr) parts←v34684)+8) ))) {
SOURCE(53448, 40)
{
W2 var←c98952;
(void) GetBoxPoint←P3120((word) &var←c98952, boxData←v34712, 4);
done←v34740 = (word) ( *( (fPt) ((* (ptr) walkProc←v16316 ))))(var←c98952, walkProc←v16316);
};
};
}
static word BoxPointPairsInDescriptor←P2880(sliceD←v16376)
word sliceD←v16376;
{
register ptr gf←c105000 = (ptr) &globalframe;
word pointPairGen←v16420;
word parts←v34828;
/* BoxPointPairsInDescriptor: */
SOURCE(53497, 336)
SOURCE(53497, 336)
pointPairGen←v16420 = 0;
SOURCE(53602, 38)
parts←v34828 = XR←Narrow((* (( (ptr) sliceD←v16376)+1) ), (* (( (ptr) gf←c105000)+28) ));
SOURCE(53642, 64)
{
word var←c98984;
var←c98984 = XR←NewObject(16, (* (( (ptr) gf←c105000)+11) ));
(* (ptr) var←c98984 ) = sliceD←v16376;
pointPairGen←v16420 = var←c98984;
};
SOURCE(53735, 98)
{
register word edge←v34872 = 0;
if (( (int)edge←v34872 > (int)3)) {
goto lab←L100157;
};
lab←L100160: ;
SOURCE(53766, 67)
if ((0 != (* ((( (ptr) parts←v34828)+4)+BCK(edge←v34872, 4)) ))) {
SOURCE(53792, 41)
(* (( (ptr) pointPairGen←v16420)+1) ) = ((* (( (ptr) pointPairGen←v16420)+1) ) + 1);
};
if (( (int)edge←v34872 >= (int)3)) {
goto lab←L100157;
};
edge←v34872 = (edge←v34872 + 1);
goto lab←L100160;
lab←L100157: ;
};
SOURCE(53497, 336)
return(pointPairGen←v16420);
}
static word BoxSegmentsInDescriptor←P2940(sliceD←v16480)
word sliceD←v16480;
{
register ptr gf←c105032 = (ptr) &globalframe;
word segGen←v16524;
word parts←v34916;
/* BoxSegmentsInDescriptor: */
SOURCE(53848, 348)
SOURCE(53848, 348)
segGen←v16524 = 0;
SOURCE(53943, 38)
parts←v34916 = XR←Narrow((* (( (ptr) sliceD←v16480)+1) ), (* (( (ptr) gf←c105032)+28) ));
SOURCE(53983, 125)
{
word var←c99016;
var←c99016 = XR←NewObject(32, (* (( (ptr) gf←c105032)+10) ));
(* (( (ptr) var←c99016)+6) ) = sliceD←v16480;
segGen←v16524 = var←c99016;
};
SOURCE(54110, 86)
{
register word edge←v34960 = 0;
if (( (int)edge←v34960 > (int)3)) {
goto lab←L100161;
};
lab←L100164: ;
SOURCE(54141, 55)
if ((0 != (* ((( (ptr) parts←v34916)+4)+BCK(edge←v34960, 4)) ))) {
SOURCE(54167, 29)
(* (( (ptr) segGen←v16524)+1) ) = ((* (( (ptr) segGen←v16524)+1) ) + 1);
};
if (( (int)edge←v34960 >= (int)3)) {
goto lab←L100161;
};
edge←v34960 = (edge←v34960 + 1);
goto lab←L100164;
lab←L100161: ;
};
SOURCE(53848, 348)
return(segGen←v16524);
}
static word BoxWalkSegments←P3000(slice←v16584, walkProc←v16612)
word slice←v16584;
word walkProc←v16612;
{
register ptr gf←c105064 = (ptr) &globalframe;
word sliceD←v16656;
word boxData←v35004;
word boxParts←v35032;
/* BoxWalkSegments: */
SOURCE(54211, 531)
SOURCE(54211, 531)
sliceD←v16656 = 0;
SOURCE(54306, 37)
boxData←v35004 = XR←Narrow((* (( (ptr) slice←v16584)+1) ), (* (( (ptr) gf←c105064)+25) ));
SOURCE(54345, 95)
boxParts←v35032 = XR←NewObject(36, (* (( (ptr) gf←c105064)+28) ));
SOURCE(54442, 148)
{
register word i←v35076 = 0;
lab←L100168: ;
SOURCE(54466, 124)
{
word var←c99080;
var←c99080 = (word) ( *( (fPt) ((* (ptr) walkProc←v16612 ))))((* ((( (ptr) boxData←v35004)+36)+BCK(i←v35076, 4)) ), (* (
( (ptr) boxData←v35004)+1) ), walkProc←v16612);
(* (( (ptr) boxParts←v35032)+((i←v35076 + 1) & 3)) ) = var←c99080;
(* (( (ptr) boxParts←v35032)+BCK(i←v35076, 4)) ) = var←c99080;
(* ((( (ptr) boxParts←v35032)+4)+BCK(i←v35076, 4)) ) = var←c99080;
};
if ((i←v35076 >= 3)) {
goto lab←L100165;
};
i←v35076 = (i←v35076 + 1);
goto lab←L100168;
lab←L100165: ;
};
SOURCE(54601, 86)
if ( ( (XR←EqualWords((( (ptr) boxParts←v35032)+4), (( (ptr) gf←c105064)+283)/* var←c91656 */ , 4)) ? XR←EqualWords(boxParts←v35032, (
( (ptr) gf←c105064)+287)/* var←c91720 */ , 4) : 0 ) ) {
SOURCE(54665, 22)
(* (( (ptr) boxParts←v35032)+8) ) = 1;
};
SOURCE(54689, 53)
{
word pd626;
pd626 = (* (( (ptr) (* (( (ptr) gf←c105064)+300)/* var←c91944 */ ))+8) );
sliceD←v16656 = (word) ( *( (fPt) ((* (ptr) pd626 ))))(slice←v16584, boxParts←v35032, pd626);
};
SOURCE(54211, 531)
return(sliceD←v16656);
}
static void BoxNextPoint←P3060(formal←c0900, slice←v16716, pointGen←v16744)
word formal←c0900;
word slice←v16716;
word pointGen←v16744;
{
register ptr gf←c105096 = (ptr) &globalframe;
W3 pointAndDone←v16788;
/* BoxNextPoint: */
SOURCE(54748, 733)
SOURCE(54862, 619)
if ((pointGen←v16744 == 0) || ((* (( (ptr) pointGen←v16744)+1) ) == 0)) {
SOURCE(54906, 24)
pointAndDone←v16788.f2 = 1;
SOURCE(54932, 6)
goto lab←L100169;
}
else {
SOURCE(54947, 589)
{
word sliceD←v35120;
word boxData←v35148;
word boxParts←v35176;
register word index←v35204;
SOURCE(54949, 41)
sliceD←v35120 = (* (ptr) pointGen←v16744 );
SOURCE(54992, 44)
boxData←v35148 = XR←Narrow((* (( (ptr) (* (ptr) sliceD←v35120 ))+1) ), (* (( (ptr) gf←c105096)+25) ));
SOURCE(55038, 41)
boxParts←v35176 = XR←Narrow((* (( (ptr) sliceD←v35120)+1) ), (* (( (ptr) gf←c105096)+28) ));
SOURCE(55097, 25)
pointAndDone←v16788.f2 = 0;
SOURCE(55124, 203)
index←v35204 = (* (( (ptr) pointGen←v16744)+2) );
lab←L100173: ;
if (( (int)index←v35204 < (int)4)) {
}
else {
goto lab←L100170;
};
SOURCE(55179, 32)
if ((0 != (* (( (ptr) boxParts←v35176)+BCK(index←v35204, 4)) ))) {
SOURCE(55211, 4)
goto lab←L100171;
};
index←v35204 = (index←v35204 + 1);
goto lab←L100173;
lab←L100170: ;
SOURCE(55282, 45)
if ((0 == (* (( (ptr) boxParts←v35176)+8) ))) {
SOURCE(55310, 17)
index←v35204 = (index←v35204 + 1);
};
lab←L100171: ;
SOURCE(55342, 48)
(void) GetBoxPoint←P3120((word) &pointAndDone←v16788, boxData←v35148, index←v35204);
SOURCE(55392, 31)
{
word idx627;
(* (( (ptr) pointGen←v16744)+1) ) = (
idx627 = (word) ((* (( (ptr) pointGen←v16744)+1) ) - 1),
SGNCK(idx627)
);
};
SOURCE(55425, 56)
{
word idx628;
(* (( (ptr) pointGen←v16744)+2) ) = (
idx628 = (word) ( ((* (( (ptr) pointGen←v16744)+1) ) == 0) ? 99 : (index←v35204 + 1) ) ,
SGNCK(idx628)
);
};
};
};
/* removed tail goto */
lab←L100169: ;
(* (W3Pt) formal←c0900 ) = pointAndDone←v16788;
return;
}
static void GetBoxPoint←P3120(formal←c0917, boxData←v16848, index←v16876)
word formal←c0917;
word boxData←v16848;
word index←v16876;
{
register ptr gf←c105128 = (ptr) &globalframe;
W2 point←v16920;
word t←v35248;
/* GetBoxPoint: */
SOURCE(55543, 621)
SOURCE(55650, 37)
t←v35248 = (* (( (ptr) boxData←v16848)+1) );
SOURCE(55689, 475)
{
word var←c99112;
var←c99112 = index←v16876;
switch (var←c99112) {
case 0:
SOURCE(55756, 56)
{
W2 var←c0907;
{
W2 var←c99144;
var←c99144.f0 = (* (ptr) (* (ptr) boxData←v16848 ) );
var←c99144.f1 = (* (( (ptr) (* (ptr) boxData←v16848 ))+1) );
{
word pd629;
pd629 = (* (( (ptr) (* (( (ptr) gf←c105128)+301)/* var←c91976 */ ))+39) );
(void) ( *( (fPt) ((* (ptr) pd629 ))))((word) &var←c0907, t←v35248, var←c99144, pd629);
};
};
point←v16920 = var←c0907;
};
break;
case 1:
SOURCE(55819, 56)
{
W2 var←c0909;
{
W2 var←c99176;
var←c99176.f0 = (* (ptr) (* (ptr) boxData←v16848 ) );
var←c99176.f1 = (* (( (ptr) (* (ptr) boxData←v16848 ))+3) );
{
word pd630;
pd630 = (* (( (ptr) (* (( (ptr) gf←c105128)+301)/* var←c91976 */ ))+39) );
(void) ( *( (fPt) ((* (ptr) pd630 ))))((word) &var←c0909, t←v35248, var←c99176, pd630);
};
};
point←v16920 = var←c0909;
};
break;
case 2:
SOURCE(55882, 56)
{
W2 var←c0911;
{
W2 var←c99208;
var←c99208.f0 = (* (( (ptr) (* (ptr) boxData←v16848 ))+2) );
var←c99208.f1 = (* (( (ptr) (* (ptr) boxData←v16848 ))+3) );
{
word pd631;
pd631 = (* (( (ptr) (* (( (ptr) gf←c105128)+301)/* var←c91976 */ ))+39) );
(void) ( *( (fPt) ((* (ptr) pd631 ))))((word) &var←c0911, t←v35248, var←c99208, pd631);
};
};
point←v16920 = var←c0911;
};
break;
case 3:
SOURCE(55945, 56)
{
W2 var←c0913;
{
W2 var←c99240;
var←c99240.f0 = (* (( (ptr) (* (ptr) boxData←v16848 ))+2) );
var←c99240.f1 = (* (( (ptr) (* (ptr) boxData←v16848 ))+1) );
{
word pd632;
pd632 = (* (( (ptr) (* (( (ptr) gf←c105128)+301)/* var←c91976 */ ))+39) );
(void) ( *( (fPt) ((* (ptr) pd632 ))))((word) &var←c0913, t←v35248, var←c99240, pd632);
};
};
point←v16920 = var←c0913;
};
break;
case 4:
SOURCE(56008, 104)
{
W2 var←c0915;
{
W2 var←c99272;
{
word x633;
word x634;
word x635;
*(float*)&var←c99272.f0 = ((
x633 = (* (ptr) (* (ptr) boxData←v16848 ) ), *(float*)&x633
) + (
x634 = (* (( (ptr) (* (ptr) boxData←v16848 ))+2) ), *(float*)&x634
)) / (
x635 = (* (ptr) &fc101 ), *(float*)&x635
);
};
{
word x636;
word x637;
word x638;
*(float*)&var←c99272.f1 = ((
x636 = (* (( (ptr) (* (ptr) boxData←v16848 ))+1) ), *(float*)&x636
) + (
x637 = (* (( (ptr) (* (ptr) boxData←v16848 ))+3) ), *(float*)&x637
)) / (
x638 = (* (ptr) &fc101 ), *(float*)&x638
);
};
{
word pd639;
pd639 = (* (( (ptr) (* (( (ptr) gf←c105128)+301)/* var←c91976 */ ))+39) );
(void) ( *( (fPt) ((* (ptr) pd639 ))))((word) &var←c0915, t←v35248, var←c99272, pd639);
};
};
point←v16920 = var←c0915;
};
break;
default:
SOURCE(56125, 39)
{
word var←c0916;
var←c0916 = (* (( (ptr) gf←c105128)+33) );
(void) (XR←RaiseSignal((* (( (ptr) gf←c105128)+4)/* Problem←v5660 */ ), 0, (word) &var←c0916));
};
break;
};
};
/* removed tail goto */
(* (W2Pt) formal←c0917 ) = point←v16920;
return;
}
static void BoxNextPointPair←P3180(formal←c0944, slice←v16980, pointPairGen←v17008)
word formal←c0944;
word slice←v16980;
word pointPairGen←v17008;
{
register ptr gf←c105160 = (ptr) &globalframe;
W5 pointPairAndDone←v17052;
/* BoxNextPointPair: */
SOURCE(56170, 1610)
SOURCE(56304, 1476)
if ((pointPairGen←v17008 == 0) || ((* (( (ptr) pointPairGen←v17008)+1) ) == 0)) {
SOURCE(56356, 28)
pointPairAndDone←v17052.f4 = 1;
SOURCE(56386, 6)
goto lab←L100175;
}
else {
SOURCE(56401, 1433)
{
word sliceD←v35292;
word boxData←v35320;
word boxParts←v35348;
word t←v35376;
register word index←v35404 = (word) -1;
SOURCE(56403, 45)
sliceD←v35292 = (* (ptr) pointPairGen←v17008 );
SOURCE(56450, 44)
boxData←v35320 = XR←Narrow((* (( (ptr) (* (ptr) sliceD←v35292 ))+1) ), (* (( (ptr) gf←c105160)+25) ));
SOURCE(56496, 41)
boxParts←v35348 = XR←Narrow((* (( (ptr) sliceD←v35292)+1) ), (* (( (ptr) gf←c105160)+28) ));
SOURCE(56539, 37)
t←v35376 = (* (( (ptr) boxData←v35320)+1) );
SOURCE(56599, 29)
pointPairAndDone←v17052.f4 = 0;
SOURCE(56630, 89)
index←v35404 = (* (( (ptr) pointPairGen←v17008)+2) );
lab←L100179: ;
if (( (int)index←v35404 < (int)4)) {
}
else {
goto lab←L100176;
};
SOURCE(56689, 30)
if ((0 != (* ((( (ptr) boxParts←v35348)+4)+BCK(index←v35404, 4)) ))) {
SOURCE(56719, 4)
goto lab←L100177;
};
index←v35404 = (index←v35404 + 1);
goto lab←L100179;
lab←L100176: ;
lab←L100177: ;
SOURCE(56777, 894)
{
word var←c99304;
var←c99304 = index←v35404;
switch (var←c99304) {
case 0:
SOURCE(56844, 91)
{
W2 var←c0928;
{
W2 var←c99336;
var←c99336.f0 = (* (ptr) (* (ptr) boxData←v35320 ) );
var←c99336.f1 = (* (( (ptr) (* (ptr) boxData←v35320 ))+1) );
{
word pd640;
pd640 = (* (( (ptr) (* (( (ptr) gf←c105160)+301)/* var←c91976 */ ))+39) );
(void) ( *( (fPt) ((* (ptr) pd640 ))))((word) &var←c0928, t←v35376, var←c99336, pd640);
};
};
(* (W2Pt) &pointPairAndDone←v17052 ) = var←c0928;
};
SOURCE(56937, 91)
{
W2 var←c0930;
{
W2 var←c99368;
var←c99368.f0 = (* (ptr) (* (ptr) boxData←v35320 ) );
var←c99368.f1 = (* (( (ptr) (* (ptr) boxData←v35320 ))+3) );
{
word pd641;
pd641 = (* (( (ptr) (* (( (ptr) gf←c105160)+301)/* var←c91976 */ ))+39) );
(void) ( *( (fPt) ((* (ptr) pd641 ))))((word) &var←c0930, t←v35376, var←c99368, pd641);
};
};
(* (W2Pt) (( (ptr) &pointPairAndDone←v17052)+2) ) = var←c0930;
};
break;
case 1:
SOURCE(57040, 91)
{
W2 var←c0932;
{
W2 var←c99400;
var←c99400.f0 = (* (ptr) (* (ptr) boxData←v35320 ) );
var←c99400.f1 = (* (( (ptr) (* (ptr) boxData←v35320 ))+3) );
{
word pd642;
pd642 = (* (( (ptr) (* (( (ptr) gf←c105160)+301)/* var←c91976 */ ))+39) );
(void) ( *( (fPt) ((* (ptr) pd642 ))))((word) &var←c0932, t←v35376, var←c99400, pd642);
};
};
(* (W2Pt) &pointPairAndDone←v17052 ) = var←c0932;
};
SOURCE(57133, 91)
{
W2 var←c0934;
{
W2 var←c99432;
var←c99432.f0 = (* (( (ptr) (* (ptr) boxData←v35320 ))+2) );
var←c99432.f1 = (* (( (ptr) (* (ptr) boxData←v35320 ))+3) );
{
word pd643;
pd643 = (* (( (ptr) (* (( (ptr) gf←c105160)+301)/* var←c91976 */ ))+39) );
(void) ( *( (fPt) ((* (ptr) pd643 ))))((word) &var←c0934, t←v35376, var←c99432, pd643);
};
};
(* (W2Pt) (( (ptr) &pointPairAndDone←v17052)+2) ) = var←c0934;
};
break;
case 2:
SOURCE(57236, 91)
{
W2 var←c0936;
{
W2 var←c99464;
var←c99464.f0 = (* (( (ptr) (* (ptr) boxData←v35320 ))+2) );
var←c99464.f1 = (* (( (ptr) (* (ptr) boxData←v35320 ))+3) );
{
word pd644;
pd644 = (* (( (ptr) (* (( (ptr) gf←c105160)+301)/* var←c91976 */ ))+39) );
(void) ( *( (fPt) ((* (ptr) pd644 ))))((word) &var←c0936, t←v35376, var←c99464, pd644);
};
};
(* (W2Pt) &pointPairAndDone←v17052 ) = var←c0936;
};
SOURCE(57329, 91)
{
W2 var←c0938;
{
W2 var←c99496;
var←c99496.f0 = (* (( (ptr) (* (ptr) boxData←v35320 ))+2) );
var←c99496.f1 = (* (( (ptr) (* (ptr) boxData←v35320 ))+1) );
{
word pd645;
pd645 = (* (( (ptr) (* (( (ptr) gf←c105160)+301)/* var←c91976 */ ))+39) );
(void) ( *( (fPt) ((* (ptr) pd645 ))))((word) &var←c0938, t←v35376, var←c99496, pd645);
};
};
(* (W2Pt) (( (ptr) &pointPairAndDone←v17052)+2) ) = var←c0938;
};
break;
case 3:
SOURCE(57432, 91)
{
W2 var←c0940;
{
W2 var←c99528;
var←c99528.f0 = (* (( (ptr) (* (ptr) boxData←v35320 ))+2) );
var←c99528.f1 = (* (( (ptr) (* (ptr) boxData←v35320 ))+1) );
{
word pd646;
pd646 = (* (( (ptr) (* (( (ptr) gf←c105160)+301)/* var←c91976 */ ))+39) );
(void) ( *( (fPt) ((* (ptr) pd646 ))))((word) &var←c0940, t←v35376, var←c99528, pd646);
};
};
(* (W2Pt) &pointPairAndDone←v17052 ) = var←c0940;
};
SOURCE(57525, 91)
{
W2 var←c0942;
{
W2 var←c99560;
var←c99560.f0 = (* (ptr) (* (ptr) boxData←v35320 ) );
var←c99560.f1 = (* (( (ptr) (* (ptr) boxData←v35320 ))+1) );
{
word pd647;
pd647 = (* (( (ptr) (* (( (ptr) gf←c105160)+301)/* var←c91976 */ ))+39) );
(void) ( *( (fPt) ((* (ptr) pd647 ))))((word) &var←c0942, t←v35376, var←c99560, pd647);
};
};
(* (W2Pt) (( (ptr) &pointPairAndDone←v17052)+2) ) = var←c0942;
};
break;
default:
SOURCE(57632, 39)
{
word var←c0943;
var←c0943 = (* (( (ptr) gf←c105160)+33) );
(void) (XR←RaiseSignal((* (( (ptr) gf←c105160)+4)/* Problem←v5660 */ ), 0, (word) &var←c0943));
};
break;
};
};
SOURCE(57673, 41)
{
word idx648;
(* (( (ptr) pointPairGen←v17008)+1) ) = (
idx648 = (word) ((* (( (ptr) pointPairGen←v17008)+1) ) - 1),
SGNCK(idx648)
);
};
SOURCE(57716, 64)
{
word idx649;
(* (( (ptr) pointPairGen←v17008)+2) ) = (
idx649 = (word) ( ((* (( (ptr) pointPairGen←v17008)+1) ) == 0) ? 99 : (index←v35404 + 1) ) ,
SGNCK(idx649)
);
};
};
};
/* removed tail goto */
lab←L100175: ;
(* (W5Pt) formal←c0944 ) = pointPairAndDone←v17052;
return;
}
static void BoxNextSegment←P3240(formal←c0953, slice←v17112, segGen←v17140)
word formal←c0953;
word slice←v17112;
word segGen←v17140;
{
register ptr gf←c105192 = (ptr) &globalframe;
word seg←v17184;
word transform←v17212;
/* BoxNextSegment: */
SOURCE(57841, 620)
SOURCE(57841, 620)
seg←v17184 = 0;
SOURCE(57841, 620)
transform←v17212 = 0;
SOURCE(57964, 497)
if ((segGen←v17140 == 0) || ((* (( (ptr) segGen←v17140)+1) ) == 0)) {
SOURCE(58002, 22)
seg←v17184 = 0;
transform←v17212 = 0;
goto lab←L100180;
}
else {
SOURCE(58024, 494)
{
word boxData←v35448;
word boxParts←v35476;
register word index←v35504 = (word) -1;
SOURCE(58026, 51)
boxData←v35448 = XR←Narrow((* (( (ptr) (* (ptr) (* (( (ptr) segGen←v17140)+6) ) ))+1) ), (* (( (ptr) gf←c105192)+25) ));
SOURCE(58079, 48)
boxParts←v35476 = XR←Narrow((* (( (ptr) (* (( (ptr) segGen←v17140)+6) ))+1) ), (* (( (ptr) gf←c105192)+28) ));
SOURCE(58150, 83)
index←v35504 = (* (( (ptr) segGen←v17140)+2) );
lab←L100184: ;
if (( (int)index←v35504 < (int)4)) {
}
else {
goto lab←L100181;
};
SOURCE(58203, 30)
if ((0 != (* ((( (ptr) boxParts←v35476)+4)+BCK(index←v35504, 4)) ))) {
SOURCE(58233, 4)
goto lab←L100182;
};
index←v35504 = (index←v35504 + 1);
goto lab←L100184;
lab←L100181: ;
lab←L100182: ;
SOURCE(58291, 56)
if (( (int)index←v35504 >= (int)4)) {
SOURCE(58308, 39)
{
word var←c0952;
var←c0952 = (* (( (ptr) gf←c105192)+33) );
(void) (XR←RaiseSignal((* (( (ptr) gf←c105192)+4)/* Problem←v5660 */ ), 0, (word) &var←c0952));
};
};
SOURCE(58349, 29)
seg←v17184 = (* ((( (ptr) boxData←v35448)+36)+BCK(index←v35504, 4)) );
SOURCE(58380, 27)
{
word idx650;
(* (( (ptr) segGen←v17140)+1) ) = (
idx650 = (word) ((* (( (ptr) segGen←v17140)+1) ) - 1),
SGNCK(idx650)
);
};
SOURCE(58409, 52)
{
word idx651;
(* (( (ptr) segGen←v17140)+2) ) = (
idx651 = (word) ( ((* (( (ptr) segGen←v17140)+1) ) == 0) ? 99 : (index←v35504 + 1) ) ,
SGNCK(idx651)
);
};
};
};
/* removed tail goto */
lab←L100180: ;
(* (ptr) formal←c0953 ) = seg←v17184;
(* (( (ptr) formal←c0953)+1) ) = transform←v17212;
return;
}
static word BoxIsEmptyParts←P3300(sliceD←v17272)
word sliceD←v17272;
{
register ptr gf←c105224 = (ptr) &globalframe;
word var←c17316;
word boxParts←v35548;
/* BoxIsEmptyParts: */
SOURCE(58526, 143)
SOURCE(58526, 143)
var←c17316 = 0;
SOURCE(58601, 41)
boxParts←v35548 = XR←Narrow((* (( (ptr) sliceD←v17272)+1) ), (* (( (ptr) gf←c105224)+28) ));
SOURCE(58644, 25)
return((word) IsEmpty←P2580(boxParts←v35548));
}
static word BoxIsCompleteParts←P3360(sliceD←v17376)
word sliceD←v17376;
{
register ptr gf←c105256 = (ptr) &globalframe;
word var←c17420;
word boxParts←v35592;
/* BoxIsCompleteParts: */
SOURCE(58675, 149)
SOURCE(58675, 149)
var←c17420 = 0;
SOURCE(58753, 41)
boxParts←v35592 = XR←Narrow((* (( (ptr) sliceD←v17376)+1) ), (* (( (ptr) gf←c105256)+28) ));
SOURCE(58796, 28)
return((word) IsComplete←P2520(boxParts←v35592));
}
static void NearestBoxPoint←P3420(formal←c0970, slice←v17480, point←v17508)
word formal←c0970;
word slice←v17480;
W2 point←v17508;
{
register ptr gf←c105288 = (ptr) &globalframe;
word index←v17552;
word center←v17580;
word boxHitData←v35636 = 0;
word success←v35664;
word hitData←v35692 = 0;
word sliceD←v35720;
/* NearestBoxPoint: */
SOURCE(58830, 493)
SOURCE(58830, 493)
center←v17580 = 0;
SOURCE(58989, 56)
sliceD←v35720 = (word) BoxNewParts←P3480(slice←v17480, 0, 6);
SOURCE(59047, 123)
{
W7 var←c99656;
(void) BoxClosestPoint←P4020((word) &var←c99656, sliceD←v35720, point←v17508, (* (ptr) &fc652 ));
success←v35664 = var←c99656.f6;
hitData←v35692 = var←c99656.f5;
};
SOURCE(59172, 20)
if ((0 == success←v35664)) {
SOURCE(59192, 5)
(void) XR←RaiseUnnamedError();
};
SOURCE(59199, 28)
boxHitData←v35636 = XR←Narrow(hitData←v35692, (* (( (ptr) gf←c105288)+15) ));
SOURCE(59229, 31)
center←v17580 = (unsigned) ( (int)((* (( (ptr) boxHitData←v35636)+2) ) - 1) > (int) (word) -1);
SOURCE(59262, 25)
index←v17552 = (* (ptr) boxHitData←v35636 );
SOURCE(59289, 34)
if ( ( ( (int)(index←v17552 - 1) == (int) (word) -1) ? (0 == center←v17580) : 0 ) ) {
SOURCE(59323, 5)
(void) XR←RaiseUnnamedError();
};
/* removed tail goto */
(* (ptr) formal←c0970 ) = index←v17552;
(* (( (ptr) formal←c0970)+1) ) = center←v17580;
return;
}
static word BoxNewParts←P3480(slice←v17660, hitData←v17688, mode←v17716)
word slice←v17660;
word hitData←v17688;
word mode←v17716;
{
register ptr gf←c105320 = (ptr) &globalframe;
word sliceD←v17772;
word boxHitData←v35776;
word boxParts←v35804 = 0;
/* BoxNewParts: */
SOURCE(59334, 1333)
SOURCE(59334, 1333)
sliceD←v17772 = 0;
SOURCE(59441, 40)
boxHitData←v35776 = XR←Narrow(hitData←v17688, (* (( (ptr) gf←c105320)+15) ));
SOURCE(59503, 84)
boxParts←v35804 = XR←NewObject(36, (* (( (ptr) gf←c105320)+28) ));
SOURCE(59589, 968)
{
word var←c99720;
var←c99720 = mode←v17716;
switch (var←c99720) {
case 0:
SOURCE(59619, 205)
if (( (int)((* (ptr) boxHitData←v35776 ) - 1) != (int) (word) -1)) {
SOURCE(59648, 48)
{
word idx653;
(* (( (ptr) boxParts←v35804)+(
idx653 = (word) ((* (ptr) boxHitData←v35776 ) - 1),
BCK(idx653, 4)
)) ) = 1;
};
}
else {
SOURCE(59696, 128)
if (( (int)((* (( (ptr) boxHitData←v35776)+2) ) - 1) != (int) (word) -1)) {
SOURCE(59725, 28)
(* (( (ptr) boxParts←v35804)+8) ) = 1;
}
else {
SOURCE(59753, 71)
if (( (int)((* (( (ptr) boxHitData←v35776)+1) ) - 1) != (int) (word) -1)) {
SOURCE(59780, 44)
{
word idx654;
(* ((( (ptr) boxParts←v35804)+4)+(
/*1*/ idx654 = (word) ((* (( (ptr) boxHitData←v35776)+1) ) - 1),
/*1*/ BCK(idx654, 4)
/*1*/ )) ) = 1;
};
}
else {
SOURCE(59824, 5)
(void) XR←RaiseUnnamedError();
};
};
};
break;
case 1:
SOURCE(59845, 329)
if (( (int)((* (ptr) boxHitData←v35776 ) - 1) != (int) (word) -1)) {
SOURCE(59874, 48)
{
word idx655;
(* (( (ptr) boxParts←v35804)+(
idx655 = (word) ((* (ptr) boxHitData←v35776 ) - 1),
BCK(idx655, 4)
)) ) = 1;
};
}
else {
SOURCE(59922, 252)
if (( (int)((* (( (ptr) boxHitData←v35776)+2) ) - 1) != (int) (word) -1)) {
SOURCE(59951, 28)
(* (( (ptr) boxParts←v35804)+8) ) = 1;
}
else {
SOURCE(59979, 195)
if (( (int)((* (( (ptr) boxHitData←v35776)+1) ) - 1) != (int) (word) -1)) {
SOURCE(60006, 170)
{
word index←v35848;
word center←v35876;
SOURCE(60038, 61)
{
W2 var←c99752;
(void) NearestBoxPoint←P3420((word) &var←c99752, slice←v17660, (* (W2Pt) (( (ptr) boxHitData←v35776)+3) ));
center←v35876 = var←c99752.f1;
index←v35848 = var←c99752.f0;
};
SOURCE(60101, 73)
if ((0 != center←v35876)) {
SOURCE(60116, 28)
(* (( (ptr) boxParts←v35804)+8) ) = 1;
}
else {
SOURCE(60144, 30)
(* (( (ptr) boxParts←v35804)+BCK((index←v35848 - 1), 4)) ) = 1;
};
};
};
};
};
break;
case 3:
SOURCE(60195, 232)
if (( (int)((* (( (ptr) boxHitData←v35776)+2) ) - 1) != (int) (word) -1)) {
SOURCE(60224, 28)
(void) MakeComplete←P2460(boxParts←v35804);
}
else {
SOURCE(60252, 175)
if (( (int)((* (( (ptr) boxHitData←v35776)+1) ) - 1) != (int) (word) -1)) {
SOURCE(60279, 150)
{
word lo←v35940;
word hi←v35968;
SOURCE(60294, 38)
{
word idx656;
(* ((( (ptr) boxParts←v35804)+4)+(
/*1*/ idx656 = (word) ((* (( (ptr) boxHitData←v35776)+1) ) - 1),
/*1*/ BCK(idx656, 4)
/*1*/ )) ) = 1;
};
SOURCE(60334, 41)
{
W2 var←c99784;
{
word idx657;
(void) CornersOfEdge←P3660((word) &var←c99784, (
/*1*/ idx657 = (word) ((* (( (ptr) boxHitData←v35776)+1) ) - 1),
/*1*/ SGNCK(idx657)
/*1*/ ));
};
hi←v35968 = var←c99784.f1;
lo←v35940 = var←c99784.f0;
};
SOURCE(60377, 50)
(* (( (ptr) boxParts←v35804)+BCK(hi←v35968, 4)) ) = 1;
(* (( (ptr) boxParts←v35804)+BCK(lo←v35940, 4)) ) = 1;
};
};
};
break;
case 2:
SOURCE(60453, 28)
XR←FillWords(&(* (W4Pt) (boxParts←v35804)), 4, 1);
SOURCE(60483, 22)
(* (( (ptr) boxParts←v35804)+8) ) = 1;
break;
case 5: case 7: case 6:
SOURCE(60535, 22)
(void) MakeComplete←P2460(boxParts←v35804);
break;
case 8:
break;
default:
SOURCE(60607, 5)
(void) XR←RaiseUnnamedError();
break;
};
};
SOURCE(60614, 53)
{
word pd658;
pd658 = (* (( (ptr) (* (( (ptr) gf←c105320)+300)/* var←c91944 */ ))+8) );
sliceD←v17772 = (word) ( *( (fPt) ((* (ptr) pd658 ))))(slice←v17660, boxParts←v35804, pd658);
};
SOURCE(59334, 1333)
return(sliceD←v17772);
}
static word BoxUnionParts←P3540(partsA←v17832, partsB←v17860)
word partsA←v17832;
word partsB←v17860;
{
register ptr gf←c105352 = (ptr) &globalframe;
word aPlusB←v17904;
word boxPartsA←v36012;
word boxPartsB←v36040;
word newParts←v36068 = 0;
/* BoxUnionParts: */
SOURCE(60674, 854)
SOURCE(60674, 854)
aPlusB←v17904 = 0;
SOURCE(60783, 42)
boxPartsA←v36012 = XR←Narrow((* (( (ptr) partsA←v17832)+1) ), (* (( (ptr) gf←c105352)+28) ));
SOURCE(60827, 42)
boxPartsB←v36040 = XR←Narrow((* (( (ptr) partsB←v17860)+1) ), (* (( (ptr) gf←c105352)+28) ));
SOURCE(60891, 41)
if (((* (( (ptr) partsA←v17832)+1) ) == 0)) {
SOURCE(60918, 14)
return(partsB←v17860);
};
SOURCE(60934, 41)
if (((* (( (ptr) partsB←v17860)+1) ) == 0)) {
SOURCE(60961, 14)
return(partsA←v17832);
};
SOURCE(60977, 41)
if ((0 != (word) IsEmpty←P2580(boxPartsA←v36012))) {
SOURCE(61004, 14)
return(partsB←v17860);
};
SOURCE(61020, 41)
if ((0 != (word) IsEmpty←P2580(boxPartsB←v36040))) {
SOURCE(61047, 14)
return(partsA←v17832);
};
SOURCE(61063, 44)
if ((0 != (word) IsComplete←P2520(boxPartsA←v36012))) {
SOURCE(61093, 14)
return(partsA←v17832);
};
SOURCE(61109, 44)
if ((0 != (word) IsComplete←P2520(boxPartsB←v36040))) {
SOURCE(61139, 14)
return(partsB←v17860);
};
SOURCE(61156, 87)
newParts←v36068 = XR←NewObject(36, (* (( (ptr) gf←c105352)+28) ));
SOURCE(61245, 156)
{
register word i←v36112 = 0;
if (( (int)i←v36112 > (int)3)) {
goto lab←L100186;
};
lab←L100189: ;
SOURCE(61273, 66)
if ((0 != (* (( (ptr) boxPartsA←v36012)+BCK(i←v36112, 4)) ))) {
(* (( (ptr) newParts←v36068)+BCK(i←v36112, 4)) ) = (unsigned) 1;
}
else {
(* (( (ptr) newParts←v36068)+BCK(i←v36112, 4)) ) = (unsigned) (0 != (* (( (ptr) boxPartsB←v36040)+BCK(i←v36112, 4)) ));
};
SOURCE(61341, 60)
if ((0 != (* ((( (ptr) boxPartsA←v36012)+4)+BCK(i←v36112, 4)) ))) {
(* ((( (ptr) newParts←v36068)+4)+BCK(i←v36112, 4)) ) = (unsigned) 1;
}
else {
(* ((( (ptr) newParts←v36068)+4)+BCK(i←v36112, 4)) ) = (unsigned) (0 != (* ((( (ptr) boxPartsB←v36040)+4)+BCK(i←v36112, 4)
) ));
};
if (( (int)i←v36112 >= (int)3)) {
goto lab←L100186;
};
i←v36112 = (i←v36112 + 1);
goto lab←L100189;
lab←L100186: ;
};
SOURCE(61412, 54)
if ((0 != (* (( (ptr) boxPartsA←v36012)+8) ))) {
(* (( (ptr) newParts←v36068)+8) ) = (unsigned) 1;
}
else {
(* (( (ptr) newParts←v36068)+8) ) = (unsigned) (0 != (* (( (ptr) boxPartsB←v36040)+8) ));
};
SOURCE(61468, 60)
{
word pd659;
pd659 = (* (( (ptr) (* (( (ptr) gf←c105352)+300)/* var←c91944 */ ))+8) );
aPlusB←v17904 = (word) ( *( (fPt) ((* (ptr) pd659 ))))((* (ptr) partsA←v17832 ), newParts←v36068, pd659);
};
SOURCE(60674, 854)
return(aPlusB←v17904);
}
static word BoxDiffParts←P3600(partsA←v17964, partsB←v17992)
word partsA←v17964;
word partsB←v17992;
{
register ptr gf←c105384 = (ptr) &globalframe;
word aMinusB←v18036;
word boxPartsA←v36156;
word boxPartsB←v36184;
word newParts←v36212 = 0;
/* BoxDiffParts: */
SOURCE(61534, 747)
SOURCE(61534, 747)
aMinusB←v18036 = 0;
SOURCE(61643, 42)
boxPartsA←v36156 = XR←Narrow((* (( (ptr) partsA←v17964)+1) ), (* (( (ptr) gf←c105384)+28) ));
SOURCE(61687, 42)
boxPartsB←v36184 = XR←Narrow((* (( (ptr) partsB←v17992)+1) ), (* (( (ptr) gf←c105384)+28) ));
SOURCE(61751, 37)
if ((partsA←v17964 == 0) || (partsB←v17992 == 0)) {
SOURCE(61788, 5)
(void) XR←RaiseUnnamedError();
};
SOURCE(61795, 63)
if (((* (( (ptr) partsA←v17964)+1) ) == 0) || ((* (( (ptr) partsB←v17992)+1) ) == 0)) {
SOURCE(61844, 14)
return(partsA←v17964);
};
SOURCE(61860, 87)
newParts←v36212 = XR←NewObject(36, (* (( (ptr) gf←c105384)+28) ));
SOURCE(61949, 188)
{
register word i←v36256 = 0;
if (( (int)i←v36256 > (int)3)) {
goto lab←L100190;
};
lab←L100193: ;
SOURCE(61977, 82)
if ((0 != (* (( (ptr) boxPartsB←v36184)+BCK(i←v36256, 4)) ))) {
(* (( (ptr) newParts←v36212)+BCK(i←v36256, 4)) ) = 0;
}
else {
(* (( (ptr) newParts←v36212)+BCK(i←v36256, 4)) ) = (* (( (ptr) boxPartsA←v36156)+BCK(i←v36256, 4)) );
};
SOURCE(62061, 76)
if ((0 != (* ((( (ptr) boxPartsB←v36184)+4)+BCK(i←v36256, 4)) ))) {
(* ((( (ptr) newParts←v36212)+4)+BCK(i←v36256, 4)) ) = 0;
}
else {
(* ((( (ptr) newParts←v36212)+4)+BCK(i←v36256, 4)) ) = (* ((( (ptr) boxPartsA←v36156)+4)+BCK(i←v36256, 4)) );
};
if (( (int)i←v36256 >= (int)3)) {
goto lab←L100190;
};
i←v36256 = (i←v36256 + 1);
goto lab←L100193;
lab←L100190: ;
};
SOURCE(62148, 70)
if ((0 != (* (( (ptr) boxPartsB←v36184)+8) ))) {
(* (( (ptr) newParts←v36212)+8) ) = 0;
}
else {
(* (( (ptr) newParts←v36212)+8) ) = (* (( (ptr) boxPartsA←v36156)+8) );
};
SOURCE(62220, 61)
{
word pd660;
pd660 = (* (( (ptr) (* (( (ptr) gf←c105384)+300)/* var←c91944 */ ))+8) );
aMinusB←v18036 = (word) ( *( (fPt) ((* (ptr) pd660 ))))((* (ptr) partsA←v17964 ), newParts←v36212, pd660);
};
SOURCE(61534, 747)
return(aMinusB←v18036);
}
static void CornersOfEdge←P3660(formal←c01004, edge←v18096)
word formal←c01004;
word edge←v18096;
{
word lo←v18140;
word hi←v18168;
/* CornersOfEdge: */
SOURCE(62287, 121)
SOURCE(62345, 63)
{
word var←c99880;
var←c99880 = edge←v18096;
if ((var←c99880 <= 3)) {
SOURCE(62376, 9)
lo←v18140 = edge←v18096;
SOURCE(62387, 21)
hi←v18168 = ((edge←v18096 + 1) & 3);
}
else {
SOURCE(62422, 5)
(void) XR←RaiseUnnamedError();
};
};
/* removed tail goto */
(* (ptr) formal←c01004 ) = lo←v18140;
(* (( (ptr) formal←c01004)+1) ) = hi←v18168;
return;
}
static word OppositeCorner←P3720(corner←v18228)
word corner←v18228;
{
word opCorner←v18272;
/* OppositeCorner: */
SOURCE(62432, 124)
SOURCE(62495, 61)
{
word var←c99912;
var←c99912 = corner←v18228;
if ((var←c99912 <= 3)) {
SOURCE(62527, 29)
opCorner←v18272 = ((corner←v18228 + 2) & 3);
}
else {
SOURCE(62569, 5)
(void) XR←RaiseUnnamedError();
};
};
SOURCE(62432, 124)
return(opCorner←v18272);
}
static void BoxPoint←P3780(formal←c01016, box←v18332, corner←v18360)
word formal←c01016;
word box←v18332;
word corner←v18360;
{
W2 point←v18404;
/* BoxPoint: */
SOURCE(62579, 214)
SOURCE(62650, 143)
{
word var←c99944;
var←c99944 = corner←v18360;
switch (var←c99944) {
case 0:
point←v18404.f0 = (* (ptr) box←v18332 );
point←v18404.f1 = (* (( (ptr) box←v18332)+1) );
break;
case 1:
point←v18404.f0 = (* (ptr) box←v18332 );
point←v18404.f1 = (* (( (ptr) box←v18332)+3) );
break;
case 2:
point←v18404.f0 = (* (( (ptr) box←v18332)+2) );
point←v18404.f1 = (* (( (ptr) box←v18332)+3) );
break;
case 3:
point←v18404.f0 = (* (( (ptr) box←v18332)+2) );
point←v18404.f1 = (* (( (ptr) box←v18332)+1) );
break;
default:
point←v18404 = (* (W2Pt) (
XR←RaiseUnnamedError(), &dummy661
) );
break;
};
};
/* removed tail goto */
(* (W2Pt) formal←c01016 ) = point←v18404;
return;
}
static void BoxMovingParts←P3840(formal←c01052, slice←v18464, selectedParts←v18492, editConstraints←v18520, bezierDrag←v18548)
word formal←c01052;
word slice←v18464;
word selectedParts←v18492;
word editConstraints←v18520;
W5 bezierDrag←v18548;
{
register ptr gf←c105416 = (ptr) &globalframe;
word background←v18592;
word overlay←v18620;
word rubber←v18648;
word drag←v18676;
word boxParts←v36300;
word boxData←v36328;
word overlayParts←v36356 = 0;
word filled←v36384;
word nullD←v36412;
word newParts←v36440 = 0;
word cornerCount←v36468;
word cornerNum←v36496;
word edgeCount←v36524;
word edgeNum←v36552;
word centerCount←v36580;
/* BoxMovingParts: */
SOURCE(62799, 2319)
SOURCE(62799, 2319)
background←v18592 = 0;
SOURCE(62799, 2319)
overlay←v18620 = 0;
SOURCE(62799, 2319)
rubber←v18648 = 0;
SOURCE(62799, 2319)
drag←v18676 = 0;
SOURCE(63008, 42)
boxParts←v36300 = XR←Narrow(selectedParts←v18492, (* (( (ptr) gf←c105416)+28) ));
SOURCE(63052, 37)
boxData←v36328 = XR←Narrow((* (( (ptr) slice←v18464)+1) ), (* (( (ptr) gf←c105416)+25) ));
SOURCE(63115, 38)
filled←v36384 = (unsigned) ((* (( (ptr) boxData←v36328)+5) ) != 0);
SOURCE(63155, 45)
nullD←v36412 = (* (( (ptr) slice←v18464)+11) );
SOURCE(63275, 55)
centerCount←v36580 = ( (0 != (* (( (ptr) boxParts←v36300)+8) )) ? 1 : 0 ) ;
SOURCE(63333, 80)
if ((0 != (word) IsEmpty←P2580(boxParts←v36300))) {
SOURCE(63361, 44)
{
word var←c100104;
var←c100104 = nullD←v36412;
drag←v18676 = nullD←v36412;
rubber←v18648 = var←c100104;
overlay←v18620 = var←c100104;
background←v18592 = var←c100104;
};
SOURCE(63407, 6)
goto lab←L100196;
};
SOURCE(63418, 129)
if ((0 != (word) IsComplete←P2520(boxParts←v36300))) {
SOURCE(63449, 37)
{
word var←c100136;
var←c100136 = nullD←v36412;
rubber←v18648 = nullD←v36412;
overlay←v18620 = var←c100136;
background←v18592 = var←c100136;
};
SOURCE(63488, 51)
{
word pd662;
pd662 = (* (( (ptr) (* (( (ptr) gf←c105416)+300)/* var←c91944 */ ))+8) );
drag←v18676 = (word) ( *( (fPt) ((* (ptr) pd662 ))))(slice←v18464, boxParts←v36300, pd662);
};
SOURCE(63541, 6)
goto lab←L100196;
};
SOURCE(63552, 57)
{
W2 var←c100168;
(void) CountCorners←P2640((word) &var←c100168, (* (W4Pt) boxParts←v36300 ));
cornerNum←v36496 = var←c100168.f1;
cornerCount←v36468 = var←c100168.f0;
};
SOURCE(63611, 49)
{
W2 var←c100200;
(void) CountEdges←P2700((word) &var←c100200, (* (W4Pt) (( (ptr) boxParts←v36300)+4) ));
edgeNum←v36552 = var←c100200.f1;
edgeCount←v36524 = var←c100200.f0;
};
SOURCE(63663, 79)
{
word var←c100232;
var←c100232 = XR←NewObject(36, (* (( (ptr) gf←c105416)+28) ));
XR←FillWords(&(* (W4Pt) (var←c100232)), 4, 1);
XR←FillWords(&(* (W4Pt) ((( (ptr) var←c100232)+4))), 4, 1);
(* (( (ptr) var←c100232)+8) ) = 1;
newParts←v36440 = var←c100232;
};
SOURCE(63744, 1374)
SOURCE(63750, 62)
if ((( (int)edgeCount←v36524 >= (int)2) || ( (int)cornerCount←v36468 >= (int)3)) || ( (int)centerCount←v36580 > (int)0)) {
SOURCE(63812, 20)
goto lab←L100197;
};
SOURCE(63834, 1157)
if (( (int)edgeCount←v36524 == (int)1)) {
SOURCE(63856, 571)
{
word lo←v36624;
word hi←v36652;
SOURCE(63871, 24)
if (( (int)cornerCount←v36468 != (int)2)) {
SOURCE(63895, 20)
goto lab←L100197;
};
SOURCE(63917, 33)
{
W2 var←c100264;
(void) CornersOfEdge←P3660((word) &var←c100264, SGNCK(edgeNum←v36552));
hi←v36652 = var←c100264.f1;
lo←v36624 = var←c100264.f0;
};
SOURCE(63952, 61)
if ((0 == (* (( (ptr) boxParts←v36300)+BCK(lo←v36624, 4)) ))) { goto then0663;};
if ((0 == (* (( (ptr) boxParts←v36300)+BCK(hi←v36652, 4)) ))) {
then0663: ;
SOURCE(64013, 20)
goto lab←L100197;
};
SOURCE(64035, 387)
{
word wholeD←v36696;
SOURCE(64041, 64)
{
word pd664;
pd664 = (* (( (ptr) (* (( (ptr) gf←c105416)+305)/* var←c92456 */ ))+29) );
wholeD←v36696 = (word) ( *( (fPt) ((* (ptr) pd664 ))))(slice←v18464, 0, 6, pd664);
};
SOURCE(64107, 41)
{
word idx665;
(* ((( (ptr) newParts←v36440)+4)+(
idx665 = (word) IOP2( % , (int)(edgeNum←v36552 + 2), (int)4),
BCK(idx665, 4)
)) ) = 0;
};
SOURCE(64150, 43)
{
word idx666;
(* (( (ptr) newParts←v36440)+(
idx666 = (word) IOP2( % , (int)(edgeNum←v36552 + 2), (int)4),
BCK(idx666, 4)
)) ) = 0;
};
SOURCE(64195, 43)
{
word idx667;
(* (( (ptr) newParts←v36440)+(
idx667 = (word) IOP2( % , (int)(edgeNum←v36552 + 3), (int)4),
BCK(idx667, 4)
)) ) = 0;
};
SOURCE(64240, 25)
background←v18592 = nullD←v36412;
drag←v18676 = nullD←v36412;
SOURCE(64267, 53)
{
word pd668;
pd668 = (* (( (ptr) (* (( (ptr) gf←c105416)+300)/* var←c91944 */ ))+8) );
rubber←v18648 = (word) ( *( (fPt) ((* (ptr) pd668 ))))(slice←v18464, newParts←v36440, pd668);
};
SOURCE(64322, 38)
overlay←v18620 = (word) BoxDiffParts←P3600(wholeD←v36696, rubber←v18648);
SOURCE(64362, 57)
if ((0 == filled←v36384)) {
SOURCE(64382, 20)
background←v18592 = overlay←v18620;
SOURCE(64404, 15)
overlay←v18620 = nullD←v36412;
};
};
};
}
else {
SOURCE(64434, 557)
if (( (int)cornerCount←v36468 == (int)1)) {
SOURCE(64491, 45)
{
word idx669;
(* (( (ptr) newParts←v36440)+(
idx669 = (word) IOP2( % , (int)(cornerNum←v36496 + 2), (int)4),
BCK(idx669, 4)
)) ) = 0;
};
SOURCE(64538, 25)
background←v18592 = nullD←v36412;
drag←v18676 = nullD←v36412;
SOURCE(64565, 53)
{
word pd670;
pd670 = (* (( (ptr) (* (( (ptr) gf←c105416)+300)/* var←c91944 */ ))+8) );
rubber←v18648 = (word) ( *( (fPt) ((* (ptr) pd670 ))))(slice←v18464, newParts←v36440, pd670);
};
SOURCE(64620, 89)
overlayParts←v36356 = XR←NewObject(36, (* (( (ptr) gf←c105416)+28) ));
SOURCE(64711, 38)
(* (( (ptr) overlayParts←v36356)+BCK(cornerNum←v36496, 4)) ) = 1;
SOURCE(64751, 58)
{
word pd671;
pd671 = (* (( (ptr) (* (( (ptr) gf←c105416)+300)/* var←c91944 */ ))+8) );
overlay←v18620 = (word) ( *( (fPt) ((* (ptr) pd671 ))))(slice←v18464, overlayParts←v36356, pd671);
};
SOURCE(64811, 57)
if ((0 == filled←v36384)) {
SOURCE(64831, 20)
background←v18592 = overlay←v18620;
SOURCE(64853, 15)
overlay←v18620 = nullD←v36412;
};
}
else {
SOURCE(64901, 57)
{
word pd672;
pd672 = (* (( (ptr) (* (( (ptr) gf←c105416)+300)/* var←c91944 */ ))+8) );
background←v18592 = (word) ( *( (fPt) ((* (ptr) pd672 ))))(slice←v18464, newParts←v36440, pd672);
};
SOURCE(64960, 31)
{
word var←c100392;
var←c100392 = nullD←v36412;
drag←v18676 = nullD←v36412;
overlay←v18620 = var←c100392;
rubber←v18648 = var←c100392;
};
};
};
goto lab←L100198;
lab←L100197: ;
SOURCE(65023, 37)
{
word var←c100424;
var←c100424 = nullD←v36412;
rubber←v18648 = nullD←v36412;
overlay←v18620 = var←c100424;
background←v18592 = var←c100424;
};
SOURCE(65062, 51)
{
word pd673;
pd673 = (* (( (ptr) (* (( (ptr) gf←c105416)+300)/* var←c91944 */ ))+8) );
drag←v18676 = (word) ( *( (fPt) ((* (ptr) pd673 ))))(slice←v18464, newParts←v36440, pd673);
};
lab←L100198: ;
/* removed tail goto */
lab←L100196: ;
(* (ptr) formal←c01052 ) = background←v18592;
(* (( (ptr) formal←c01052)+1) ) = overlay←v18620;
(* (( (ptr) formal←c01052)+2) ) = rubber←v18648;
(* (( (ptr) formal←c01052)+3) ) = drag←v18676;
return;
}
static word BoxAugmentParts←P3900(sliceD←v18736, selectClass←v18764)
word sliceD←v18736;
word selectClass←v18764;
{
register ptr gf←c105448 = (ptr) &globalframe;
word more←v18808;
word boxParts←v36740;
word newParts←v36768 = 0;
/* BoxAugmentParts: */
SOURCE(65127, 476)
SOURCE(65127, 476)
more←v18808 = 0;
SOURCE(65240, 41)
boxParts←v36740 = XR←Narrow((* (( (ptr) sliceD←v18736)+1) ), (* (( (ptr) gf←c105448)+28) ));
SOURCE(65303, 106)
{
word var←c100456;
var←c100456 = XR←NewObject(36, (* (( (ptr) gf←c105448)+28) ));
(* (W4Pt) var←c100456 ) = (* (W4Pt) boxParts←v36740 );
(* (W4Pt) (( (ptr) var←c100456)+4) ) = (* (W4Pt) (( (ptr) boxParts←v36740)+4) );
(* (( (ptr) var←c100456)+8) ) = (* (( (ptr) boxParts←v36740)+8) );
newParts←v36768 = var←c100456;
};
SOURCE(65411, 120)
{
register word i←v36812 = 0;
if (( (int)i←v36812 > (int)3)) {
goto lab←L100199;
};
lab←L100202: ;
SOURCE(65439, 92)
if ((0 != (* ((( (ptr) boxParts←v36740)+4)+BCK(i←v36812, 4)) ))) {
SOURCE(65467, 26)
(* (( (ptr) newParts←v36768)+BCK(i←v36812, 4)) ) = 1;
SOURCE(65495, 36)
{
word idx674;
(* (( (ptr) newParts←v36768)+(
idx674 = (word) IOP2( % , (int)(i←v36812 + 1), (int)4),
BCK(idx674, 4)
)) ) = 1;
};
};
if (( (int)i←v36812 >= (int)3)) {
goto lab←L100199;
};
i←v36812 = (i←v36812 + 1);
goto lab←L100202;
lab←L100199: ;
};
SOURCE(65545, 58)
{
word pd675;
pd675 = (* (( (ptr) (* (( (ptr) gf←c105448)+300)/* var←c91944 */ ))+8) );
more←v18808 = (word) ( *( (fPt) ((* (ptr) pd675 ))))((* (ptr) sliceD←v18736 ), newParts←v36768, pd675);
};
SOURCE(65127, 476)
return(more←v18808);
}
static word BoxAlterParts←P3960(sliceD←v18868, action←v18896)
word sliceD←v18868;
word action←v18896;
{
register ptr gf←c105480 = (ptr) &globalframe;
word newD←v18940;
word boxParts←v36856;
word newParts←v36884 = 0;
word selectedCorner←v36912 = (word) -1;
word selectedEdge←v36940 = (word) -1;
/* BoxAlterParts: */
SOURCE(65609, 1421)
SOURCE(65609, 1421)
newD←v18940 = 0;
SOURCE(65705, 41)
boxParts←v36856 = XR←Narrow((* (( (ptr) sliceD←v18868)+1) ), (* (( (ptr) gf←c105480)+28) ));
SOURCE(65818, 85)
newParts←v36884 = XR←NewObject(36, (* (( (ptr) gf←c105480)+28) ));
SOURCE(65905, 76)
{
register word i←v36984 = 0;
if (( (int)i←v36984 > (int)3)) {
goto lab←L100203;
};
lab←L100206: ;
SOURCE(65933, 48)
if ((0 != (* (( (ptr) boxParts←v36856)+BCK(i←v36984, 4)) ))) {
SOURCE(65963, 18)
selectedCorner←v36912 = i←v36984;
SOURCE(65983, 4)
goto lab←L100204;
};
if (( (int)i←v36984 >= (int)3)) {
goto lab←L100203;
};
i←v36984 = (i←v36984 + 1);
goto lab←L100206;
lab←L100203: ;
lab←L100204: ;
};
SOURCE(66001, 102)
if (( (int)selectedCorner←v36912 == (int) (word) -1)) {
SOURCE(66031, 72)
{
register word i←v37028 = 0;
if (( (int)i←v37028 > (int)3)) {
goto lab←L100207;
};
lab←L100210: ;
SOURCE(66059, 44)
if ((0 != (* ((( (ptr) boxParts←v36856)+4)+BCK(i←v37028, 4)) ))) {
SOURCE(66087, 16)
selectedEdge←v36940 = i←v37028;
SOURCE(66105, 4)
goto lab←L100208;
};
if (( (int)i←v37028 >= (int)3)) {
goto lab←L100207;
};
i←v37028 = (i←v37028 + 1);
goto lab←L100210;
lab←L100207: ;
lab←L100208: ;
};
};
SOURCE(66126, 798)
{
word var←c100520;
var←c100520 = action←v18896;
if ((var←c100520 == (* (( (ptr) gf←c105480)+67) ))) {
SOURCE(66159, 315)
if (( (int)selectedCorner←v36912 > (int) (word) -1)) {
SOURCE(66189, 136)
if (( (int)selectedCorner←v36912 == (int)3)) {
SOURCE(66218, 22)
(* (( (ptr) newParts←v36884)+8) ) = 1;
}
else {
SOURCE(66251, 33)
selectedCorner←v36912 = (selectedCorner←v36912 + 1);
SOURCE(66286, 39)
(* (( (ptr) newParts←v36884)+BCK(selectedCorner←v36912, 4)) ) = 1;
};
}
else {
SOURCE(66337, 137)
if (( (int)selectedEdge←v36940 > (int) (word) -1)) {
SOURCE(66365, 37)
selectedEdge←v36940 = IOP2( % , (int)(selectedEdge←v36940 + 1), (int)4);
SOURCE(66404, 35)
(* ((( (ptr) newParts←v36884)+4)+BCK(selectedEdge←v36940, 4)) ) = 1;
}
else {
SOURCE(66448, 26)
(* (ptr) newParts←v36884 ) = 1;
};
};
goto endif0676;
};
if ((var←c100520 == (* (( (ptr) gf←c105480)+68) ))) {
SOURCE(66494, 315)
if (( (int)selectedCorner←v36912 > (int) (word) -1)) {
SOURCE(66524, 136)
if (( (int)selectedCorner←v36912 == (int)0)) {
SOURCE(66553, 22)
(* (( (ptr) newParts←v36884)+8) ) = 1;
}
else {
SOURCE(66586, 33)
selectedCorner←v36912 = (selectedCorner←v36912 - 1);
SOURCE(66621, 39)
(* (( (ptr) newParts←v36884)+BCK(selectedCorner←v36912, 4)) ) = 1;
};
}
else {
SOURCE(66672, 137)
if (( (int)selectedEdge←v36940 > (int) (word) -1)) {
SOURCE(66700, 37)
selectedEdge←v36940 = IOP2( % , (int)(selectedEdge←v36940 + 3), (int)4);
SOURCE(66739, 35)
(* ((( (ptr) newParts←v36884)+4)+BCK(selectedEdge←v36940, 4)) ) = 1;
}
else {
SOURCE(66783, 26)
(* (( (ptr) newParts←v36884)+3) ) = 1;
};
};
goto endif0676;
};
if ((var←c100520 == (* (( (ptr) gf←c105480)+69) ))) {
SOURCE(66823, 53)
{
word pd677;
pd677 = (* (( (ptr) (* (( (ptr) gf←c105480)+305)/* var←c92456 */ ))+29) );
return((word) ( *( (fPt) ((* (ptr) pd677 ))))((* (ptr) sliceD←v18868 ), 0, 6, pd677));
};
};
if ((var←c100520 == (* (( (ptr) gf←c105480)+70) )) || (var←c100520 == (* (( (ptr) gf←c105480)+71) ))) {
SOURCE(66913, 11)
return(0);
};
SOURCE(66965, 5)
(void) XR←RaiseUnnamedError();
goto endif0676;
endif0676: ;
};
SOURCE(66972, 58)
{
word pd678;
pd678 = (* (( (ptr) (* (( (ptr) gf←c105480)+300)/* var←c91944 */ ))+8) );
newD←v18940 = (word) ( *( (fPt) ((* (ptr) pd678 ))))((* (ptr) sliceD←v18868 ), newParts←v36884, pd678);
};
SOURCE(65609, 1421)
return(newD←v18940);
}
static void BoxClosestPoint←P4020(formal←c01136, sliceD←v19000, testPoint←v19028, tolerance←v19056)
word formal←c01136;
word sliceD←v19000;
W2 testPoint←v19028;
word tolerance←v19056;
{
register ptr gf←c105512 = (ptr) &globalframe;
W2 bestPoint←v19100;
word bestDist←v19128;
W2 bestNormal←v19156;
word hitData←v19184;
word success←v19212;
/* BoxClosestPoint: */
SOURCE(67036, 3800)
SOURCE(67036, 3800)
bestPoint←v19100.f0 = (* (ptr) &fc216 );
bestPoint←v19100.f1 = (* (ptr) &fc216 );
SOURCE(67036, 3800)
bestDist←v19128 = 2139095039;
SOURCE(67036, 3800)
bestNormal←v19156.f0 = (* (ptr) &fc216 );
bestNormal←v19156.f1 = (* (ptr) &fc679 );
SOURCE(67036, 3800)
hitData←v19184 = 0;
SOURCE(67036, 3800)
success←v19212 = 0;
{
word var←c100584;
SOURCE(67271, 107)
{
word pd681;
{
word pd680;
pd680 = (* (( (ptr) (* (( (ptr) gf←c105512)+305)/* var←c92456 */ ))+9) );
var←c100584 = (word) ( *( (fPt) ((* (ptr) pd680 ))))((* (ptr) sliceD←v19000 ), 0, pd680);
};
pd681 = (* (( (ptr) (* (( (ptr) gf←c105512)+304)/* var←c92328 */ ))+22) );
if ((0 == (word) ( *( (fPt) ((* (ptr) pd681 ))))(testPoint←v19028, var←c100584, tolerance←v19056, pd681))) {
SOURCE(67372, 6)
goto lab←L100211;
};
};
SOURCE(67381, 3460)
{
word index←v37072 = 9999;
word boxHitData←v37100 = 0;
word boxData←v37128;
word box←v37156;
word boxParts←v37184;
W2 thisPoint←v37212;
word thisDist←v37240;
W2 localTestPoint←v37268;
word localTolerance←v37296;
SOURCE(67430, 44)
boxData←v37128 = XR←Narrow((* (( (ptr) (* (ptr) sliceD←v19000 ))+1) ), (* (( (ptr) gf←c105512)+25) ));
SOURCE(67476, 27)
box←v37156 = (* (ptr) boxData←v37128 );
SOURCE(67505, 41)
boxParts←v37184 = XR←Narrow((* (( (ptr) sliceD←v19000)+1) ), (* (( (ptr) gf←c105512)+28) ));
SOURCE(67582, 73)
{
word pd682;
pd682 = (* (( (ptr) (* (( (ptr) gf←c105512)+319)/* var←c100616 */ ))+5) );
(void) ( *( (fPt) ((* (ptr) pd682 ))))((word) &localTestPoint←v37268, (* (( (ptr) boxData←v37128)+2) ), testPoint←v19028, pd682)
;
};
SOURCE(67657, 89)
{
float tf683;
word x684;
word x685;
float tf686;
float tf687;
word x688;
float tf689;
localTolerance←v37296 = (
tf689 = FABS(((
x684 = tolerance←v19056, *(float*)&x684
) * FMAX((
x685 = (* (( (ptr) boxData←v37128)+3) ), *(float*)&x685
), (
x688 = (* (( (ptr) boxData←v37128)+4) ), *(float*)&x688
), tf686, tf687)), tf683), *(word*)&tf689
);
};
SOURCE(67800, 118)
{
W5 var←c100648;
{
word pd690;
pd690 = (* (( (ptr) (* (( (ptr) gf←c105512)+304)/* var←c92328 */ ))+26) );
(void) ( *( (fPt) ((* (ptr) pd690 ))))((word) &var←c100648, box←v37156, localTestPoint←v37268, localTolerance←v37296, (* (W4Pt) boxParts←v37184 ), pd690)
;
};
success←v19212 = var←c100648.f4;
bestPoint←v19100 = (* (W2Pt) (( (ptr) &var←c100648)+2) );
index←v37072 = var←c100648.f1;
bestDist←v19128 = var←c100648.f0;
};
SOURCE(67920, 116)
if ((0 != success←v19212)) {
SOURCE(67938, 98)
{
word var←c100680;
{
word var←c100712;
var←c100712 = XR←NewObject(20, (* (( (ptr) gf←c105512)+15) ));
(* (ptr) var←c100712 ) = BCK((index←v37072 + 1), 5);
(* (( (ptr) var←c100712)+3) ) = (* (ptr) &fc216 );
(* (( (ptr) var←c100712)+4) ) = (* (ptr) &fc216 );
var←c100680 = var←c100712;
};
boxHitData←v37100 = var←c100680;
hitData←v19184 = var←c100680;
};
};
SOURCE(68041, 490)
if ((0 != (* (( (ptr) boxParts←v37184)+8) ))) {
SOURCE(68115, 58)
{
word x691;
word x692;
word x693;
*(float*)&thisPoint←v37212.f0 = ((
x691 = (* (ptr) box←v37156 ), *(float*)&x691
) + (
x692 = (* (( (ptr) box←v37156)+2) ), *(float*)&x692
)) / (
x693 = (* (ptr) &fc101 ), *(float*)&x693
);
};
{
word x694;
word x695;
word x696;
*(float*)&thisPoint←v37212.f1 = ((
x694 = (* (( (ptr) box←v37156)+1) ), *(float*)&x694
) + (
x695 = (* (( (ptr) box←v37156)+3) ), *(float*)&x695
)) / (
x696 = (* (ptr) &fc101 ), *(float*)&x696
);
};
SOURCE(68191, 56)
{
word pd697;
pd697 = (* (( (ptr) (* (( (ptr) gf←c105512)+320)/* var←c100744 */ ))+19) );
thisDist←v37240 = (word) ( *( (fPt) ((* (ptr) pd697 ))))(localTestPoint←v37268, thisPoint←v37212, pd697);
};
SOURCE(68249, 282)
{
word x698;
word x699;
word x700;
word x701;
if ( ( ((
x698 = thisDist←v37240, *(float*)&x698
) < (
x699 = bestDist←v19128, *(float*)&x699
)) ? ((
x700 = thisDist←v37240, *(float*)&x700
) < (
x701 = localTolerance←v37296, *(float*)&x701
)) : 0 ) ) {
SOURCE(68309, 19)
bestDist←v19128 = thisDist←v37240;
SOURCE(68330, 21)
bestPoint←v19100 = thisPoint←v37212;
SOURCE(68353, 139)
if ((0 != success←v19212)) {
SOURCE(68369, 28)
(* (ptr) boxHitData←v37100 ) = 0;
}
else {
SOURCE(68397, 95)
{
word var←c100776;
{
word var←c100808;
var←c100808 = XR←NewObject(20, (* (( (ptr) gf←c105512)+15) ));
(* (( (ptr) var←c100808)+3) ) = (* (ptr) &fc216 );
(* (( (ptr) var←c100808)+4) ) = (* (ptr) &fc216 );
var←c100776 = var←c100808;
};
boxHitData←v37100 = var←c100776;
hitData←v19184 = var←c100776;
};
};
SOURCE(68494, 21)
(* (( (ptr) boxHitData←v37100)+2) ) = 1;
SOURCE(68517, 14)
success←v19212 = 1;
};
};
};
SOURCE(68539, 2297)
if ((0 != success←v19212)) {
SOURCE(68557, 2120)
if (( (int)((* (ptr) boxHitData←v37100 ) - 1) != (int) (word) -1)) {
SOURCE(68588, 2096)
{
W2 lxly←v37340;
W2 lxhy←v37368;
W2 hxly←v37396;
W2 hxhy←v37424;
SOURCE(68620, 68)
{
W2 var←c01100;
{
W2 var←c100840;
var←c100840.f0 = (* (ptr) box←v37156 );
var←c100840.f1 = (* (( (ptr) box←v37156)+1) );
{
word pd702;
pd702 = (* (( (ptr) (* (( (ptr) gf←c105512)+319)/* var←c100616 */ ))+5) );
(void) ( *( (fPt) ((* (ptr) pd702 ))))((word) &var←c01100, (* (( (ptr) boxData←v37128)+1) ), var←c100840, pd702);
};
};
lxly←v37340 = var←c01100;
};
SOURCE(68690, 68)
{
W2 var←c01102;
{
W2 var←c100872;
var←c100872.f0 = (* (ptr) box←v37156 );
var←c100872.f1 = (* (( (ptr) box←v37156)+3) );
{
word pd703;
pd703 = (* (( (ptr) (* (( (ptr) gf←c105512)+319)/* var←c100616 */ ))+5) );
(void) ( *( (fPt) ((* (ptr) pd703 ))))((word) &var←c01102, (* (( (ptr) boxData←v37128)+1) ), var←c100872, pd703);
};
};
lxhy←v37368 = var←c01102;
};
SOURCE(68760, 68)
{
W2 var←c01104;
{
W2 var←c100904;
var←c100904.f0 = (* (( (ptr) box←v37156)+2) );
var←c100904.f1 = (* (( (ptr) box←v37156)+1) );
{
word pd704;
pd704 = (* (( (ptr) (* (( (ptr) gf←c105512)+319)/* var←c100616 */ ))+5) );
(void) ( *( (fPt) ((* (ptr) pd704 ))))((word) &var←c01104, (* (( (ptr) boxData←v37128)+1) ), var←c100904, pd704);
};
};
hxly←v37396 = var←c01104;
};
SOURCE(68830, 68)
{
W2 var←c01106;
{
W2 var←c100936;
var←c100936.f0 = (* (( (ptr) box←v37156)+2) );
var←c100936.f1 = (* (( (ptr) box←v37156)+3) );
{
word pd705;
pd705 = (* (( (ptr) (* (( (ptr) gf←c105512)+319)/* var←c100616 */ ))+5) );
(void) ( *( (fPt) ((* (ptr) pd705 ))))((word) &var←c01106, (* (( (ptr) boxData←v37128)+1) ), var←c100936, pd705);
};
};
hxhy←v37424 = var←c01106;
};
SOURCE(68900, 1777)
{
word pd706;
pd706 = (* (( (ptr) (* (( (ptr) gf←c105512)+304)/* var←c92328 */ ))+21) );
if ((0 != (word) ( *( (fPt) ((* (ptr) pd706 ))))(localTestPoint←v37268, (* (W6Pt) box←v37156 ), pd706))) {
SOURCE(68954, 862)
{
W2 normal1←v37468;
W2 normal2←v37496;
W2 nearDir←v37524;
SOURCE(68982, 108)
{
/*1*/ W2 var←c100968;
/*1*/ {
/*1*/ word pd707;
/*1*/ pd707 = (* (( (ptr) (* (( (ptr) gf←c105512)+319)/* var←c100616 */ ))+5) );
/*1*/ (void) ( *( (fPt) ((* (ptr) pd707 ))))((word) &var←c100968, (* (( (ptr) boxData←v37128)+1) ), bestPoint←v19100, pd707);
/*1*/ };
/*1*/ {
/*1*/ W2 var←c01112;
/*1*/ {
/*1*/ word pd708;
/*1*/ pd708 = (* (( (ptr) (* (( (ptr) gf←c105512)+320)/* var←c100744 */ ))+22) );
/*1*/ (void) ( *( (fPt) ((* (ptr) pd708 ))))((word) &var←c01112, var←c100968, testPoint←v19028, pd708);
/*1*/ };
/*1*/ nearDir←v37524 = var←c01112;
/*1*/ };
/*1*/ };
SOURCE(69092, 129)
if (( (int)((* (ptr) boxHitData←v37100 ) - 1) == (int)0)) {
SOURCE(69125, 47)
/*1*/ {
/*1*/ word pd709;
/*1*/ pd709 = (* (( (ptr) (* (( (ptr) gf←c105512)+320)/* var←c100744 */ ))+22) );
/*1*/ (void) ( *( (fPt) ((* (ptr) pd709 ))))((word) &normal1←v37468, lxly←v37340, lxhy←v37368, pd709);
/*1*/ };
SOURCE(69174, 47)
/*1*/ {
/*1*/ word pd710;
/*1*/ pd710 = (* (( (ptr) (* (( (ptr) gf←c105512)+320)/* var←c100744 */ ))+22) );
/*1*/ (void) ( *( (fPt) ((* (ptr) pd710 ))))((word) &normal2←v37496, lxly←v37340, hxly←v37396, pd710);
/*1*/ };
/*1*/ };
SOURCE(69226, 128)
if (( (int)((* (ptr) boxHitData←v37100 ) - 1) == (int)1)) {
SOURCE(69258, 47)
/*1*/ {
/*1*/ word pd711;
/*1*/ pd711 = (* (( (ptr) (* (( (ptr) gf←c105512)+320)/* var←c100744 */ ))+22) );
/*1*/ (void) ( *( (fPt) ((* (ptr) pd711 ))))((word) &normal1←v37468, lxhy←v37368, lxly←v37340, pd711);
/*1*/ };
SOURCE(69307, 47)
/*1*/ {
/*1*/ word pd712;
/*1*/ pd712 = (* (( (ptr) (* (( (ptr) gf←c105512)+320)/* var←c100744 */ ))+22) );
/*1*/ (void) ( *( (fPt) ((* (ptr) pd712 ))))((word) &normal2←v37496, lxhy←v37368, hxhy←v37424, pd712);
/*1*/ };
/*1*/ };
SOURCE(69359, 128)
if (( (int)((* (ptr) boxHitData←v37100 ) - 1) == (int)2)) {
SOURCE(69391, 47)
/*1*/ {
/*1*/ word pd713;
/*1*/ pd713 = (* (( (ptr) (* (( (ptr) gf←c105512)+320)/* var←c100744 */ ))+22) );
/*1*/ (void) ( *( (fPt) ((* (ptr) pd713 ))))((word) &normal1←v37468, hxhy←v37424, lxhy←v37368, pd713);
/*1*/ };
SOURCE(69440, 47)
/*1*/ {
/*1*/ word pd714;
/*1*/ pd714 = (* (( (ptr) (* (( (ptr) gf←c105512)+320)/* var←c100744 */ ))+22) );
/*1*/ (void) ( *( (fPt) ((* (ptr) pd714 ))))((word) &normal2←v37496, hxhy←v37424, hxly←v37396, pd714);
/*1*/ };
/*1*/ };
SOURCE(69492, 128)
if (( (int)((* (ptr) boxHitData←v37100 ) - 1) == (int)3)) {
SOURCE(69524, 47)
/*1*/ {
/*1*/ word pd715;
/*1*/ pd715 = (* (( (ptr) (* (( (ptr) gf←c105512)+320)/* var←c100744 */ ))+22) );
/*1*/ (void) ( *( (fPt) ((* (ptr) pd715 ))))((word) &normal1←v37468, hxly←v37396, hxhy←v37424, pd715);
/*1*/ };
SOURCE(69573, 47)
/*1*/ {
/*1*/ word pd716;
/*1*/ pd716 = (* (( (ptr) (* (( (ptr) gf←c105512)+320)/* var←c100744 */ ))+22) );
/*1*/ (void) ( *( (fPt) ((* (ptr) pd716 ))))((word) &normal2←v37496, hxly←v37396, lxly←v37340, pd716);
/*1*/ };
/*1*/ };
SOURCE(69627, 185)
{
/*1*/ float tf717;
/*1*/ word pd718;
/*1*/ word x719;
/*1*/ float tf720;
/*1*/ word pd721;
/*1*/ word x722;
/*1*/ pd718 = (* (( (ptr) (* (( (ptr) gf←c105512)+320)/* var←c100744 */ ))+9) );
/*1*/ pd721 = (* (( (ptr) (* (( (ptr) gf←c105512)+320)/* var←c100744 */ ))+9) );
/*1*/ if ((FABS((
/*1*/ x719 = (word) ( *( (fPt) ((* (ptr) pd718 ))))(normal1←v37468, nearDir←v37524, pd718), *(float*)&x719
/*1*/ ), tf717) > FABS((
/*1*/ x722 = (word) ( *( (fPt) ((* (ptr) pd721 ))))(normal2←v37496, nearDir←v37524, pd721), *(float*)&x722
/*1*/ ), tf720))) {
SOURCE(69761, 21)
/*1*/ bestNormal←v19156 = normal1←v37468;
/*1*/ }
/*1*/ else {
SOURCE(69792, 20)
/*1*/ bestNormal←v19156 = normal2←v37496;
/*1*/ };
/*1*/ };
};
}
else {
SOURCE(69823, 858)
{
W2 normal1←v37568;
W2 normal2←v37596;
W2 nearDir←v37624;
SOURCE(69851, 108)
{
/*1*/ W2 var←c101000;
/*1*/ {
/*1*/ word pd723;
/*1*/ pd723 = (* (( (ptr) (* (( (ptr) gf←c105512)+319)/* var←c100616 */ ))+5) );
/*1*/ (void) ( *( (fPt) ((* (ptr) pd723 ))))((word) &var←c101000, (* (( (ptr) boxData←v37128)+1) ), bestPoint←v19100, pd723);
/*1*/ };
/*1*/ {
/*1*/ W2 var←c01126;
/*1*/ {
/*1*/ word pd724;
/*1*/ pd724 = (* (( (ptr) (* (( (ptr) gf←c105512)+320)/* var←c100744 */ ))+22) );
/*1*/ (void) ( *( (fPt) ((* (ptr) pd724 ))))((word) &var←c01126, var←c101000, testPoint←v19028, pd724);
/*1*/ };
/*1*/ nearDir←v37624 = var←c01126;
/*1*/ };
/*1*/ };
SOURCE(69961, 129)
if (( (int)((* (ptr) boxHitData←v37100 ) - 1) == (int)0)) {
SOURCE(69994, 47)
/*1*/ {
/*1*/ word pd725;
/*1*/ pd725 = (* (( (ptr) (* (( (ptr) gf←c105512)+320)/* var←c100744 */ ))+22) );
/*1*/ (void) ( *( (fPt) ((* (ptr) pd725 ))))((word) &normal1←v37568, lxhy←v37368, lxly←v37340, pd725);
/*1*/ };
SOURCE(70043, 47)
/*1*/ {
/*1*/ word pd726;
/*1*/ pd726 = (* (( (ptr) (* (( (ptr) gf←c105512)+320)/* var←c100744 */ ))+22) );
/*1*/ (void) ( *( (fPt) ((* (ptr) pd726 ))))((word) &normal2←v37596, hxly←v37396, lxly←v37340, pd726);
/*1*/ };
/*1*/ };
SOURCE(70095, 128)
if (( (int)((* (ptr) boxHitData←v37100 ) - 1) == (int)1)) {
SOURCE(70127, 47)
/*1*/ {
/*1*/ word pd727;
/*1*/ pd727 = (* (( (ptr) (* (( (ptr) gf←c105512)+320)/* var←c100744 */ ))+22) );
/*1*/ (void) ( *( (fPt) ((* (ptr) pd727 ))))((word) &normal1←v37568, lxly←v37340, lxhy←v37368, pd727);
/*1*/ };
SOURCE(70176, 47)
/*1*/ {
/*1*/ word pd728;
/*1*/ pd728 = (* (( (ptr) (* (( (ptr) gf←c105512)+320)/* var←c100744 */ ))+22) );
/*1*/ (void) ( *( (fPt) ((* (ptr) pd728 ))))((word) &normal2←v37596, hxhy←v37424, lxhy←v37368, pd728);
/*1*/ };
/*1*/ };
SOURCE(70228, 128)
if (( (int)((* (ptr) boxHitData←v37100 ) - 1) == (int)2)) {
SOURCE(70260, 47)
/*1*/ {
/*1*/ word pd729;
/*1*/ pd729 = (* (( (ptr) (* (( (ptr) gf←c105512)+320)/* var←c100744 */ ))+22) );
/*1*/ (void) ( *( (fPt) ((* (ptr) pd729 ))))((word) &normal1←v37568, lxhy←v37368, hxhy←v37424, pd729);
/*1*/ };
SOURCE(70309, 47)
/*1*/ {
/*1*/ word pd730;
/*1*/ pd730 = (* (( (ptr) (* (( (ptr) gf←c105512)+320)/* var←c100744 */ ))+22) );
/*1*/ (void) ( *( (fPt) ((* (ptr) pd730 ))))((word) &normal2←v37596, hxly←v37396, hxhy←v37424, pd730);
/*1*/ };
/*1*/ };
SOURCE(70361, 128)
if (( (int)((* (ptr) boxHitData←v37100 ) - 1) == (int)3)) {
SOURCE(70393, 47)
/*1*/ {
/*1*/ word pd731;
/*1*/ pd731 = (* (( (ptr) (* (( (ptr) gf←c105512)+320)/* var←c100744 */ ))+22) );
/*1*/ (void) ( *( (fPt) ((* (ptr) pd731 ))))((word) &normal1←v37568, hxhy←v37424, hxly←v37396, pd731);
/*1*/ };
SOURCE(70442, 47)
/*1*/ {
/*1*/ word pd732;
/*1*/ pd732 = (* (( (ptr) (* (( (ptr) gf←c105512)+320)/* var←c100744 */ ))+22) );
/*1*/ (void) ( *( (fPt) ((* (ptr) pd732 ))))((word) &normal2←v37596, lxly←v37340, hxly←v37396, pd732);
/*1*/ };
/*1*/ };
SOURCE(70494, 183)
{
/*1*/ float tf733;
/*1*/ word pd734;
/*1*/ word x735;
/*1*/ float tf736;
/*1*/ word pd737;
/*1*/ word x738;
/*1*/ pd734 = (* (( (ptr) (* (( (ptr) gf←c105512)+320)/* var←c100744 */ ))+9) );
/*1*/ pd737 = (* (( (ptr) (* (( (ptr) gf←c105512)+320)/* var←c100744 */ ))+9) );
/*1*/ if ((FABS((
/*1*/ x735 = (word) ( *( (fPt) ((* (ptr) pd734 ))))(normal1←v37568, nearDir←v37624, pd734), *(float*)&x735
/*1*/ ), tf733) < FABS((
/*1*/ x738 = (word) ( *( (fPt) ((* (ptr) pd737 ))))(normal2←v37596, nearDir←v37624, pd737), *(float*)&x738
/*1*/ ), tf736))) {
SOURCE(70628, 20)
/*1*/ bestNormal←v19156 = normal1←v37568;
/*1*/ }
/*1*/ else {
SOURCE(70657, 20)
/*1*/ bestNormal←v19156 = normal2←v37596;
/*1*/ };
/*1*/ };
};
};
};
};
};
SOURCE(70687, 63)
{
word pd739;
pd739 = (* (( (ptr) (* (( (ptr) gf←c105512)+319)/* var←c100616 */ ))+5) );
(void) ( *( (fPt) ((* (ptr) pd739 ))))((word) &bestPoint←v19100, (* (( (ptr) boxData←v37128)+1) ), bestPoint←v19100, pd739)
;
};
SOURCE(70752, 31)
(* (W2Pt) (( (ptr) boxHitData←v37100)+3) ) = bestPoint←v19100;
SOURCE(70785, 51)
{
word pd740;
pd740 = (* (( (ptr) (* (( (ptr) gf←c105512)+320)/* var←c100744 */ ))+19) );
bestDist←v19128 = (word) ( *( (fPt) ((* (ptr) pd740 ))))(testPoint←v19028, bestPoint←v19100, pd740);
};
};
};
};
/* removed tail goto */
lab←L100211: ;
(* (W2Pt) formal←c01136 ) = bestPoint←v19100;
(* (( (ptr) formal←c01136)+2) ) = bestDist←v19128;
(* (W2Pt) (( (ptr) formal←c01136)+3) ) = bestNormal←v19156;
(* (( (ptr) formal←c01136)+5) ) = hitData←v19184;
(* (( (ptr) formal←c01136)+6) ) = success←v19212;
return;
}
static void BoxClosestJointToHitData←P4080(formal←c01151, sliceD←v19284, mapPoint←v19312, testPoint←v19340, hitData←v19368)
word formal←c01151;
word sliceD←v19284;
W2 mapPoint←v19312;
W2 testPoint←v19340;
word hitData←v19368;
{
register ptr gf←c105544 = (ptr) &globalframe;
word jointD←v19424;
W2 point←v19452;
W2 normal←v19480;
word hitD←v37668 = 0;
word boxData←v37696;
word box←v37724;
W2 localTestPoint←v37752;
/* BoxClosestJointToHitData: */
SOURCE(70850, 456)
SOURCE(70850, 456)
jointD←v19424 = 0;
SOURCE(70850, 456)
normal←v19480.f0 = (* (ptr) &fc216 );
normal←v19480.f1 = (* (ptr) &fc679 );
SOURCE(71045, 44)
boxData←v37696 = XR←Narrow((* (( (ptr) (* (ptr) sliceD←v19284 ))+1) ), (* (( (ptr) gf←c105544)+25) ));
SOURCE(71091, 27)
box←v37724 = (* (ptr) boxData←v37696 );
SOURCE(71120, 73)
{
word pd741;
pd741 = (* (( (ptr) (* (( (ptr) gf←c105544)+319)/* var←c100616 */ ))+5) );
(void) ( *( (fPt) ((* (ptr) pd741 ))))((word) &localTestPoint←v37752, (* (( (ptr) boxData←v37696)+2) ), testPoint←v19340, pd741)
;
};
SOURCE(71195, 94)
{
W7 var←c101032;
(void) BoxClosestPoint←P4020((word) &var←c101032, sliceD←v19284, testPoint←v19340, (* (ptr) &fc652 ));
hitD←v37668 = var←c101032.f5;
normal←v19480 = (* (W2Pt) (( (ptr) &var←c101032)+3) );
point←v19452 = (* (W2Pt) &var←c101032 );
};
SOURCE(71291, 15)
jointD←v19424 = sliceD←v19284;
/* removed tail goto */
(* (ptr) formal←c01151 ) = jointD←v19424;
(* (W2Pt) (( (ptr) formal←c01151)+1) ) = point←v19452;
(* (W2Pt) (( (ptr) formal←c01151)+3) ) = normal←v19480;
return;
}
static void BoxClosestSegment←P4140(formal←c01174, sliceD←v19540, testPoint←v19568, tolerance←v19596)
word formal←c01174;
word sliceD←v19540;
W2 testPoint←v19568;
word tolerance←v19596;
{
register ptr gf←c105576 = (ptr) &globalframe;
W2 bestPoint←v19640;
word bestDist←v19668;
W2 bestNormal←v19696;
word hitData←v19724;
word success←v19752;
/* BoxClosestSegment: */
SOURCE(71363, 1112)
SOURCE(71363, 1112)
bestPoint←v19640.f0 = (* (ptr) &fc216 );
bestPoint←v19640.f1 = (* (ptr) &fc216 );
SOURCE(71363, 1112)
bestDist←v19668 = 2139095039;
SOURCE(71363, 1112)
bestNormal←v19696.f0 = (* (ptr) &fc216 );
bestNormal←v19696.f1 = (* (ptr) &fc679 );
SOURCE(71363, 1112)
hitData←v19724 = 0;
SOURCE(71363, 1112)
success←v19752 = 0;
{
word var←c101064;
SOURCE(71599, 107)
{
word pd743;
{
word pd742;
pd742 = (* (( (ptr) (* (( (ptr) gf←c105576)+305)/* var←c92456 */ ))+9) );
var←c101064 = (word) ( *( (fPt) ((* (ptr) pd742 ))))((* (ptr) sliceD←v19540 ), 0, pd742);
};
pd743 = (* (( (ptr) (* (( (ptr) gf←c105576)+304)/* var←c92328 */ ))+22) );
if ((0 == (word) ( *( (fPt) ((* (ptr) pd743 ))))(testPoint←v19568, var←c101064, tolerance←v19596, pd743))) {
SOURCE(71700, 6)
goto lab←L100213;
};
};
SOURCE(71709, 771)
{
word seg←v37808 = 9999;
word boxHitData←v37836 = 0;
word boxData←v37864;
word boxParts←v37892;
W2 localTestpoint←v37920;
word localTolerance←v37948;
SOURCE(71756, 44)
boxData←v37864 = XR←Narrow((* (( (ptr) (* (ptr) sliceD←v19540 ))+1) ), (* (( (ptr) gf←c105576)+25) ));
SOURCE(71802, 41)
boxParts←v37892 = XR←Narrow((* (( (ptr) sliceD←v19540)+1) ), (* (( (ptr) gf←c105576)+28) ));
SOURCE(71845, 73)
{
word pd744;
pd744 = (* (( (ptr) (* (( (ptr) gf←c105576)+319)/* var←c100616 */ ))+5) );
(void) ( *( (fPt) ((* (ptr) pd744 ))))((word) &localTestpoint←v37920, (* (( (ptr) boxData←v37864)+2) ), testPoint←v19568, pd744)
;
};
SOURCE(71920, 89)
{
float tf745;
word x746;
word x747;
float tf748;
float tf749;
word x750;
float tf751;
localTolerance←v37948 = (
tf751 = FABS(((
x746 = tolerance←v19596, *(float*)&x746
) * FMAX((
x747 = (* (( (ptr) boxData←v37864)+3) ), *(float*)&x747
), (
x750 = (* (( (ptr) boxData←v37864)+4) ), *(float*)&x750
), tf748, tf749)), tf745), *(word*)&tf751
);
};
SOURCE(72062, 124)
{
W5 var←c101096;
{
word pd752;
pd752 = (* (( (ptr) (* (( (ptr) gf←c105576)+304)/* var←c92328 */ ))+27) );
(void) ( *( (fPt) ((* (ptr) pd752 ))))((word) &var←c101096, (* (ptr) boxData←v37864 ), localTestpoint←v37920, localTolerance←v37948, (* (W4Pt) (
( (ptr) boxParts←v37892)+4) ), pd752);
};
success←v19752 = var←c101096.f4;
bestPoint←v19640 = (* (W2Pt) (( (ptr) &var←c101096)+2) );
seg←v37808 = var←c101096.f1;
bestDist←v19668 = var←c101096.f0;
};
SOURCE(72188, 287)
if ((0 != success←v19752)) {
SOURCE(72206, 63)
{
word pd753;
pd753 = (* (( (ptr) (* (( (ptr) gf←c105576)+319)/* var←c100616 */ ))+5) );
(void) ( *( (fPt) ((* (ptr) pd753 ))))((word) &bestPoint←v19640, (* (( (ptr) boxData←v37864)+1) ), bestPoint←v19640, pd753)
;
};
SOURCE(72271, 51)
{
word pd754;
pd754 = (* (( (ptr) (* (( (ptr) gf←c105576)+320)/* var←c100744 */ ))+19) );
bestDist←v19668 = (word) ( *( (fPt) ((* (ptr) pd754 ))))(testPoint←v19568, bestPoint←v19640, pd754);
};
SOURCE(72324, 101)
{
word var←c101128;
{
word var←c101160;
var←c101160 = XR←NewObject(20, (* (( (ptr) gf←c105576)+15) ));
(* (( (ptr) var←c101160)+1) ) = BCK((seg←v37808 + 1), 5);
(* (W2Pt) (( (ptr) var←c101160)+3) ) = bestPoint←v19640;
var←c101128 = var←c101160;
};
boxHitData←v37836 = var←c101128;
hitData←v19724 = var←c101128;
};
SOURCE(72427, 48)
{
word pd755;
pd755 = (* (( (ptr) (* (( (ptr) gf←c105576)+320)/* var←c100744 */ ))+11) );
(void) ( *( (fPt) ((* (ptr) pd755 ))))((word) &bestNormal←v19696, testPoint←v19568, bestPoint←v19640, pd755);
};
};
};
};
/* removed tail goto */
lab←L100213: ;
(* (W2Pt) formal←c01174 ) = bestPoint←v19640;
(* (( (ptr) formal←c01174)+2) ) = bestDist←v19668;
(* (W2Pt) (( (ptr) formal←c01174)+3) ) = bestNormal←v19696;
(* (( (ptr) formal←c01174)+5) ) = hitData←v19724;
(* (( (ptr) formal←c01174)+6) ) = success←v19752;
return;
}
static void BoxFilledPathsUnderPoint←P4200(formal←c01186, slice←v19824, point←v19852, tolerance←v19880)
word formal←c01186;
word slice←v19824;
W2 point←v19852;
word tolerance←v19880;
{
register ptr gf←c105608 = (ptr) &globalframe;
word hitData←v19924;
word moreHitDatas←v19952;
word boxData←v37992;
W2 pointBox←v38020;
word box←v38048;
word success←v38076 = 0;
/* BoxFilledPathsUnderPoint: */
SOURCE(72489, 590)
SOURCE(72489, 590)
hitData←v19924 = 0;
SOURCE(72489, 590)
moreHitDatas←v19952 = 0;
SOURCE(72647, 37)
boxData←v37992 = XR←Narrow((* (( (ptr) slice←v19824)+1) ), (* (( (ptr) gf←c105608)+25) ));
SOURCE(72686, 72)
{
word pd756;
pd756 = (* (( (ptr) (* (( (ptr) gf←c105608)+301)/* var←c91976 */ ))+39) );
(void) ( *( (fPt) ((* (ptr) pd756 ))))((word) &pointBox←v38020, (* (( (ptr) boxData←v37992)+2) ), point←v19852, pd756);
};
SOURCE(72760, 27)
box←v38048 = (* (ptr) boxData←v37992 );
SOURCE(72813, 165)
{
word x757;
word x758;
word x759;
word x760;
word x761;
word x762;
word x763;
word x764;
if (((* (( (ptr) boxData←v37992)+5) ) != 0)) {
if ((0 != (* (( (ptr) (* (ptr) boxData←v37992 ))+5) ))) {
success←v38076 = (unsigned) 1;
}
else {
if ( ( ( ((
x757 = pointBox←v38020.f0, *(float*)&x757
) >= (
x758 = (* (ptr) box←v38048 ), *(float*)&x758
)) ? ((
x759 = pointBox←v38020.f0, *(float*)&x759
) <= (
x760 = (* (( (ptr) box←v38048)+2) ), *(float*)&x760
)) : 0 ) ? ((
x761 = pointBox←v38020.f1, *(float*)&x761
) >= (
x762 = (* (( (ptr) box←v38048)+1) ), *(float*)&x762
)) : 0 ) ) {
success←v38076 = (unsigned) ((
x763 = pointBox←v38020.f1, *(float*)&x763
) <= (
x764 = (* (( (ptr) box←v38048)+3) ), *(float*)&x764
));
}
else {
success←v38076 = (unsigned) 0;
};
};
}
else {
success←v38076 = (unsigned) 0;
};
};
SOURCE(72980, 99)
if ((0 != success←v38076)) {
SOURCE(72998, 81)
{
word var←c101192;
var←c101192 = XR←NewObject(20, (* (( (ptr) gf←c105608)+15) ));
(* (( (ptr) var←c101192)+2) ) = 1;
(* (W2Pt) (( (ptr) var←c101192)+3) ) = point←v19852;
hitData←v19924 = var←c101192;
};
};
/* removed tail goto */
(* (ptr) formal←c01186 ) = hitData←v19924;
(* (( (ptr) formal←c01186)+1) ) = moreHitDatas←v19952;
return;
}
static void BoxLineIntersection←P4260(formal←c01211, sliceD←v20120, line←v20148)
word formal←c01211;
word sliceD←v20120;
word line←v20148;
{
register ptr gf←c105640 = (ptr) &globalframe;
word points←v20192;
word pointCount←v20220;
word boxData←v38120;
word boxParts←v38148;
word bBox←v38176;
word noHit←v38204;
W4 hits←v38232;
W8 hitPoints←v38260;
word localLine←v38316;
word localPoints←v38344 = 0;
/* BoxLineIntersection: */
SOURCE(73088, 1826)
SOURCE(73088, 1826)
points←v20192 = 0;
SOURCE(73088, 1826)
pointCount←v20220 = 0;
SOURCE(73216, 44)
boxData←v38120 = XR←Narrow((* (( (ptr) (* (ptr) sliceD←v20120 ))+1) ), (* (( (ptr) gf←c105640)+25) ));
SOURCE(73262, 41)
boxParts←v38148 = XR←Narrow((* (( (ptr) sliceD←v20120)+1) ), (* (( (ptr) gf←c105640)+28) ));
SOURCE(73305, 28)
bBox←v38176 = (* (ptr) boxData←v38120 );
SOURCE(73431, 62)
{
word pd765;
pd765 = (* (( (ptr) (* (( (ptr) gf←c105640)+321)/* var←c101224 */ ))+15) );
localLine←v38316 = (word) ( *( (fPt) ((* (ptr) pd765 ))))(line←v20148, (* (( (ptr) boxData←v38120)+2) ), pd765);
};
SOURCE(73523, 39)
{
register word i←v38544 = 0;
lab←L100219: ;
SOURCE(73547, 15)
(* (( (ptr) &hits←v38232)+BCK(i←v38544, 4)) ) = 0;
if ((i←v38544 >= 3)) {
goto lab←L100216;
};
i←v38544 = (i←v38544 + 1);
goto lab←L100219;
lab←L100216: ;
};
SOURCE(73573, 1126)
{
register word i←v38588 = 0;
lab←L100223: ;
SOURCE(73597, 30)
if ((0 == (* ((( (ptr) boxParts←v38148)+4)+BCK(i←v38588, 4)) ))) {
SOURCE(73627, 4)
goto lab←L100222;
};
SOURCE(73678, 32)
(void) FillBoxEdge←P4380((* (( (ptr) gf←c105640)+6)/* globalEdge←v8264 */ ), bBox←v38176, i←v38588);
SOURCE(73712, 68)
{
W3 var←c101256;
{
word pd766;
pd766 = (* (( (ptr) (* (( (ptr) gf←c105640)+321)/* var←c101224 */ ))+35) );
(void) ( *( (fPt) ((* (ptr) pd766 ))))((word) &var←c101256, localLine←v38316, (* (( (ptr) gf←c105640)+6)/* globalEdge←v8264 */ ), pd766)
;
};
noHit←v38204 = var←c101256.f2;
(* (( (W2Pt) &hitPoints←v38260)+BCK(i←v38588, 4)) ) = (* (W2Pt) &var←c101256 );
};
SOURCE(73782, 14)
if ((0 != noHit←v38204)) {
SOURCE(73796, 4)
goto lab←L100222;
};
SOURCE(73802, 148)
if ( ( (i←v38588 > 0) ? (0 != (* (( (ptr) &hits←v38232)+BCK((i←v38588 - 1), 4)) )) : 0 ) ) {
SOURCE(73830, 57)
{
float tf767;
word x768;
word x769;
word x771;
if ((FABS(((
x768 = (* (( (W2Pt) &hitPoints←v38260)+BCK(i←v38588, 4)) ).f0, *(float*)&x768
) - (
x769 = (* (( (W2Pt) &hitPoints←v38260)+BCK((i←v38588 - 1), 4)) ).f0, *(float*)&x769
)), tf767) < (
x771 = (* (ptr) &fc770 ), *(float*)&x771
))) {
SOURCE(73887, 4)
goto lab←L100222;
};
};
SOURCE(73893, 57)
{
float tf772;
word x773;
word x774;
word x775;
if ((FABS(((
x773 = (* (( (W2Pt) &hitPoints←v38260)+BCK(i←v38588, 4)) ).f1, *(float*)&x773
) - (
x774 = (* (( (W2Pt) &hitPoints←v38260)+BCK((i←v38588 - 1), 4)) ).f1, *(float*)&x774
)), tf772) < (
x775 = (* (ptr) &fc770 ), *(float*)&x775
))) {
SOURCE(73950, 4)
goto lab←L100222;
};
};
};
SOURCE(73959, 45)
{
word var←c101288;
var←c101288 = XR←NewObject(12, (* (( (ptr) gf←c105640)+9) ));
(* (W2Pt) var←c101288 ) = (* (( (W2Pt) &hitPoints←v38260)+BCK(i←v38588, 4)) );
(* (( (ptr) var←c101288)+2) ) = localPoints←v38344;
localPoints←v38344 = var←c101288;
};
SOURCE(74006, 27)
pointCount←v20220 = (pointCount←v20220 + 1);
SOURCE(74035, 14)
(* (( (ptr) &hits←v38232)+BCK(i←v38588, 4)) ) = 1;
lab←L100222: ;
if ((i←v38588 >= 2)) {
goto lab←L100220;
};
i←v38588 = (i←v38588 + 1);
goto lab←L100223;
lab←L100220: ;
SOURCE(74070, 629)
SOURCE(74072, 30)
if ((0 == (* (( (ptr) boxParts←v38148)+7) ))) {
SOURCE(74102, 8)
goto lab←L100224;
};
SOURCE(74158, 32)
(void) FillBoxEdge←P4380((* (( (ptr) gf←c105640)+6)/* globalEdge←v8264 */ ), bBox←v38176, 3);
SOURCE(74192, 68)
{
W3 var←c101320;
{
word pd776;
pd776 = (* (( (ptr) (* (( (ptr) gf←c105640)+321)/* var←c101224 */ ))+35) );
(void) ( *( (fPt) ((* (ptr) pd776 ))))((word) &var←c101320, localLine←v38316, (* (( (ptr) gf←c105640)+6)/* globalEdge←v8264 */ ), pd776)
;
};
noHit←v38204 = var←c101320.f2;
(* (W2Pt) (( (ptr) &hitPoints←v38260)+6) ) = (* (W2Pt) &var←c101320 );
};
SOURCE(74262, 14)
if ((0 != noHit←v38204)) {
SOURCE(74276, 8)
goto lab←L100224;
};
SOURCE(74286, 138)
if ((0 != hits←v38232.f2)) {
SOURCE(74304, 55)
{
float tf777;
word x778;
word x779;
word x780;
if ((FABS(((
x778 = hitPoints←v38260.f6, *(float*)&x778
) - (
x779 = hitPoints←v38260.f4, *(float*)&x779
)), tf777) < (
x780 = (* (ptr) &fc770 ), *(float*)&x780
))) {
SOURCE(74359, 8)
goto lab←L100224;
};
};
SOURCE(74369, 55)
{
float tf781;
word x782;
word x783;
word x784;
if ((FABS(((
x782 = hitPoints←v38260.f7, *(float*)&x782
) - (
x783 = hitPoints←v38260.f5, *(float*)&x783
)), tf781) < (
x784 = (* (ptr) &fc770 ), *(float*)&x784
))) {
SOURCE(74424, 8)
goto lab←L100224;
};
};
};
SOURCE(74437, 138)
if ((0 != hits←v38232.f0)) {
SOURCE(74455, 55)
{
float tf785;
word x786;
word x787;
word x788;
if ((FABS(((
x786 = hitPoints←v38260.f6, *(float*)&x786
) - (
x787 = hitPoints←v38260.f0, *(float*)&x787
)), tf785) < (
x788 = (* (ptr) &fc770 ), *(float*)&x788
))) {
SOURCE(74510, 8)
goto lab←L100224;
};
};
SOURCE(74520, 55)
{
float tf789;
word x790;
word x791;
word x792;
if ((FABS(((
x790 = hitPoints←v38260.f7, *(float*)&x790
) - (
x791 = hitPoints←v38260.f1, *(float*)&x791
)), tf789) < (
x792 = (* (ptr) &fc770 ), *(float*)&x792
))) {
SOURCE(74575, 8)
goto lab←L100224;
};
};
};
SOURCE(74588, 45)
{
word var←c101352;
var←c101352 = XR←NewObject(12, (* (( (ptr) gf←c105640)+9) ));
(* (W2Pt) var←c101352 ) = (* (W2Pt) (( (ptr) &hitPoints←v38260)+6) );
(* (( (ptr) var←c101352)+2) ) = localPoints←v38344;
localPoints←v38344 = var←c101352;
};
SOURCE(74635, 27)
pointCount←v20220 = (pointCount←v20220 + 1);
SOURCE(74664, 14)
hits←v38232.f3 = 1;
goto lab←L100225;
lab←L100224: ;
lab←L100225: ;
};
SOURCE(74711, 23)
if ((pointCount←v20220 > 2)) {
SOURCE(74734, 5)
(void) XR←RaiseUnnamedError();
};
SOURCE(74741, 12)
points←v20192 = 0;
SOURCE(74755, 159)
{
register word list←v38632;
list←v38632 = localPoints←v38344;
lab←L100229: ;
if ((list←v38632 != 0)) {
}
else {
goto lab←L100226;
};
SOURCE(74824, 90)
{
W2 var←c101384;
word var←c101416;
{
word pd793;
pd793 = (* (( (ptr) (* (( (ptr) gf←c105640)+301)/* var←c91976 */ ))+39) );
(void) ( *( (fPt) ((* (ptr) pd793 ))))((word) &var←c101384, (* (( (ptr) boxData←v38120)+1) ), (* (W2Pt) list←v38632 ), pd793)
;
};
var←c101416 = XR←NewObject(12, (* (( (ptr) gf←c105640)+9) ));
(* (W2Pt) var←c101416 ) = var←c101384;
(* (( (ptr) var←c101416)+2) ) = points←v20192;
points←v20192 = var←c101416;
};
list←v38632 = (* (( (ptr) list←v38632)+2) );
goto lab←L100229;
lab←L100226: ;
};
/* removed tail goto */
(* (ptr) formal←c01211 ) = points←v20192;
(* (( (ptr) formal←c01211)+1) ) = pointCount←v20220;
return;
}
static word BoxHitDataAsSimpleCurve←P4320(slice←v20364, hitData←v20392)
word slice←v20364;
word hitData←v20392;
{
register ptr gf←c105672 = (ptr) &globalframe;
word simpleCurve←v20448;
word boxHitData←v38760;
word boxData←v38788;
word bBox←v38816;
word edge←v38844 = 0;
/* BoxHitDataAsSimpleCurve: */
SOURCE(74929, 415)
SOURCE(74929, 415)
simpleCurve←v20448 = 0;
SOURCE(75027, 40)
boxHitData←v38760 = XR←Narrow(hitData←v20392, (* (( (ptr) gf←c105672)+15) ));
SOURCE(75069, 37)
boxData←v38788 = XR←Narrow((* (( (ptr) slice←v20364)+1) ), (* (( (ptr) gf←c105672)+25) ));
SOURCE(75108, 28)
bBox←v38816 = (* (ptr) boxData←v38788 );
SOURCE(75150, 40)
if (( (int)((* (( (ptr) boxHitData←v38760)+1) ) - 1) == (int) (word) -1)) {
SOURCE(75179, 11)
return(0);
};
SOURCE(75192, 32)
{
word pd794;
pd794 = (* (( (ptr) (* (( (ptr) gf←c105672)+321)/* var←c101224 */ ))+25) );
edge←v38844 = (word) ( *( (fPt) ((* (ptr) pd794 ))))(pd794);
};
SOURCE(75226, 40)
{
word idx795;
(void) FillBoxEdge←P4380(edge←v38844, bBox←v38816, (
idx795 = (word) ((* (( (ptr) boxHitData←v38760)+1) ) - 1),
SGNCK(idx795)
));
};
SOURCE(75268, 56)
{
word pd796;
pd796 = (* (( (ptr) (* (( (ptr) gf←c105672)+321)/* var←c101224 */ ))+30) );
(void) ( *( (fPt) ((* (ptr) pd796 ))))(edge←v38844, (* (( (ptr) boxData←v38788)+1) ), edge←v38844, pd796);
};
SOURCE(75326, 18)
simpleCurve←v20448 = edge←v38844;
SOURCE(74929, 415)
return(simpleCurve←v20448);
}
static void FillBoxEdge←P4380(edge←v20520, bBox←v20548, index←v20576)
word edge←v20520;
word bBox←v20548;
word index←v20576;
{
register ptr gf←c105704 = (ptr) &globalframe;
/* FillBoxEdge: */
SOURCE(75350, 421)
SOURCE(75421, 35)
if ((0 != (* (( (ptr) bBox←v20548)+4) )) || (0 != (* (( (ptr) bBox←v20548)+5) ))) {
SOURCE(75456, 5)
(void) XR←RaiseUnnamedError();
};
SOURCE(75463, 308)
{
word var←c101448;
var←c101448 = index←v20576;
switch (var←c101448) {
case 0:
SOURCE(75486, 66)
{
W2 var←c101480;
W2 var←c101512;
var←c101480.f0 = (* (ptr) bBox←v20548 );
var←c101480.f1 = (* (( (ptr) bBox←v20548)+1) );
var←c101512.f0 = (* (ptr) bBox←v20548 );
var←c101512.f1 = (* (( (ptr) bBox←v20548)+3) );
{
word pd797;
pd797 = (* (( (ptr) (* (( (ptr) gf←c105704)+321)/* var←c101224 */ ))+29) );
(void) ( *( (fPt) ((* (ptr) pd797 ))))(var←c101480, var←c101512, edge←v20520, pd797);
};
};
break;
case 1:
SOURCE(75559, 66)
{
W2 var←c101544;
W2 var←c101576;
var←c101544.f0 = (* (ptr) bBox←v20548 );
var←c101544.f1 = (* (( (ptr) bBox←v20548)+3) );
var←c101576.f0 = (* (( (ptr) bBox←v20548)+2) );
var←c101576.f1 = (* (( (ptr) bBox←v20548)+3) );
{
word pd798;
pd798 = (* (( (ptr) (* (( (ptr) gf←c105704)+321)/* var←c101224 */ ))+29) );
(void) ( *( (fPt) ((* (ptr) pd798 ))))(var←c101544, var←c101576, edge←v20520, pd798);
};
};
break;
case 2:
SOURCE(75632, 66)
{
W2 var←c101608;
W2 var←c101640;
var←c101608.f0 = (* (( (ptr) bBox←v20548)+2) );
var←c101608.f1 = (* (( (ptr) bBox←v20548)+3) );
var←c101640.f0 = (* (( (ptr) bBox←v20548)+2) );
var←c101640.f1 = (* (( (ptr) bBox←v20548)+1) );
{
word pd799;
pd799 = (* (( (ptr) (* (( (ptr) gf←c105704)+321)/* var←c101224 */ ))+29) );
(void) ( *( (fPt) ((* (ptr) pd799 ))))(var←c101608, var←c101640, edge←v20520, pd799);
};
};
break;
case 3:
SOURCE(75705, 66)
{
W2 var←c101672;
W2 var←c101704;
var←c101672.f0 = (* (( (ptr) bBox←v20548)+2) );
var←c101672.f1 = (* (( (ptr) bBox←v20548)+1) );
var←c101704.f0 = (* (ptr) bBox←v20548 );
var←c101704.f1 = (* (( (ptr) bBox←v20548)+1) );
{
word pd800;
pd800 = (* (( (ptr) (* (( (ptr) gf←c105704)+321)/* var←c101224 */ ))+29) );
(void) ( *( (fPt) ((* (ptr) pd800 ))))(var←c101672, var←c101704, edge←v20520, pd800);
};
};
break;
default:
SOURCE(75784, 5)
(void) XR←RaiseUnnamedError();
break;
};
};
}
static void BoxSetStrokeColor←P4440(slice←v20636, parts←v20664, color←v20692, setHow←v20720, history←v20748)
word slice←v20636;
word parts←v20664;
word color←v20692;
word setHow←v20720;
word history←v20748;
{
register ptr gf←c105736 = (ptr) &globalframe;
word boxParts←v38888;
word boxData←v38916;
/* BoxSetStrokeColor: */
SOURCE(75795, 462)
SOURCE(75908, 34)
boxParts←v38888 = XR←Narrow(parts←v20664, (* (( (ptr) gf←c105736)+28) ));
SOURCE(75944, 37)
boxData←v38916 = XR←Narrow((* (( (ptr) slice←v20636)+1) ), (* (( (ptr) gf←c105736)+25) ));
SOURCE(75983, 274)
{
register word edge←v38960 = 0;
if (( (int)edge←v38960 > (int)3)) {
goto lab←L100230;
};
lab←L100233: ;
SOURCE(76014, 243)
if ((boxParts←v38888 == 0)) { goto then0801;};
if ((0 != (* ((( (ptr) boxParts←v38888)+4)+BCK(edge←v38960, 4)) ))) {
then0801: ;
SOURCE(76061, 196)
{
word var←c101736;
var←c101736 = setHow←v20720;
if ((var←c101736 == (* (( (ptr) gf←c105736)+73) ))) {
SOURCE(76088, 36)
(* (( (ptr) (* ((( (ptr) boxData←v38916)+36)+BCK(edge←v38960, 4)) ))+8) ) = color←v20692;
}
else {
if ((var←c101736 == (* (( (ptr) gf←c105736)+74) ))) {
SOURCE(76140, 119)
{
word newColor←v39004;
SOURCE(76142, 74)
{
word pd802;
pd802 = (* (( (ptr) (* (( (ptr) gf←c105736)+313)/* var←c96552 */ ))+36) );
newColor←v39004 = (word) ( *( (fPt) ((* (ptr) pd802 ))))((* (( (ptr) (* ((( (ptr) boxData←v38916)+36)+BCK(edge←v38960, 4)
/*1*/ ) ))+8) ), color←v20692, pd802);
};
SOURCE(76218, 39)
(* (( (ptr) (* ((( (ptr) boxData←v38916)+36)+BCK(edge←v38960, 4)) ))+8) ) = newColor←v39004;
};
}
else {
SOURCE(76273, 5)
(void) XR←RaiseUnnamedError();
};
};
};
};
if (( (int)edge←v38960 >= (int)3)) {
goto lab←L100230;
};
edge←v38960 = (edge←v38960 + 1);
goto lab←L100233;
lab←L100230: ;
};
}
static void BoxGetStrokeColor←P4500(formal←c01251, slice←v20808, parts←v20836)
word formal←c01251;
word slice←v20808;
word parts←v20836;
{
register ptr gf←c105768 = (ptr) &globalframe;
word color←v20880;
word isUnique←v20908;
word boxParts←v39048;
word boxData←v39076;
word colorFound←v39104 = 0;
word thisColor←v39132 = 0;
/* BoxGetStrokeColor: */
SOURCE(76296, 849)
SOURCE(76296, 849)
color←v20880 = 0;
SOURCE(76296, 849)
isUnique←v20908 = 1;
SOURCE(76404, 34)
boxParts←v39048 = XR←Narrow(parts←v20836, (* (( (ptr) gf←c105768)+28) ));
SOURCE(76440, 37)
boxData←v39076 = XR←Narrow((* (( (ptr) slice←v20808)+1) ), (* (( (ptr) gf←c105768)+25) ));
SOURCE(76523, 285)
{
register word edge←v39176 = 0;
if (( (int)edge←v39176 > (int)3)) {
goto lab←L100235;
};
lab←L100238: ;
SOURCE(76554, 254)
if ((boxParts←v39048 == 0)) { goto then0803;};
if ((0 != (* ((( (ptr) boxParts←v39048)+4)+BCK(edge←v39176, 4)) ))) {
then0803: ;
SOURCE(76601, 207)
if ((0 != colorFound←v39104)) {
SOURCE(76622, 40)
thisColor←v39132 = (* (( (ptr) (* ((( (ptr) boxData←v39076)+36)+BCK(edge←v39176, 4)) ))+8) );
SOURCE(76664, 78)
{
word pd804;
pd804 = (* (( (ptr) (* (( (ptr) gf←c105768)+310)/* var←c93352 */ ))+35) );
if ((0 == (word) ( *( (fPt) ((* (ptr) pd804 ))))(thisColor←v39132, color←v20880, pd804))) {
SOURCE(76721, 21)
/* removed bogus assignment */
isUnique←v20908 = 0;
goto lab←L100234;
};
};
}
else {
SOURCE(76753, 17)
colorFound←v39104 = 1;
SOURCE(76772, 36)
color←v20880 = (* (( (ptr) (* ((( (ptr) boxData←v39076)+36)+BCK(edge←v39176, 4)) ))+8) );
};
};
if (( (int)edge←v39176 >= (int)3)) {
goto lab←L100235;
};
edge←v39176 = (edge←v39176 + 1);
goto lab←L100238;
lab←L100235: ;
};
SOURCE(76825, 320)
if ((0 == colorFound←v39104)) {
SOURCE(76850, 295)
{
register word corner←v39220 = 0;
if (( (int)corner←v39220 > (int)3)) {
goto lab←L100239;
};
lab←L100242: ;
SOURCE(76883, 262)
if ((boxParts←v39048 == 0)) { goto then0805;};
if ((0 != (* (( (ptr) boxParts←v39048)+BCK(corner←v39220, 4)) ))) {
then0805: ;
SOURCE(76934, 211)
if ((0 != colorFound←v39104)) {
SOURCE(76955, 42)
thisColor←v39132 = (* (( (ptr) (* ((( (ptr) boxData←v39076)+36)+BCK(corner←v39220, 4)) ))+8) );
SOURCE(76999, 78)
{
word pd806;
pd806 = (* (( (ptr) (* (( (ptr) gf←c105768)+310)/* var←c93352 */ ))+35) );
if ((0 == (word) ( *( (fPt) ((* (ptr) pd806 ))))(thisColor←v39132, color←v20880, pd806))) {
SOURCE(77056, 21)
/* removed bogus assignment */
isUnique←v20908 = 0;
goto lab←L100234;
};
};
}
else {
SOURCE(77088, 17)
colorFound←v39104 = 1;
SOURCE(77107, 38)
color←v20880 = (* (( (ptr) (* ((( (ptr) boxData←v39076)+36)+BCK(corner←v39220, 4)) ))+8) );
};
};
if (( (int)corner←v39220 >= (int)3)) {
goto lab←L100239;
};
corner←v39220 = (corner←v39220 + 1);
goto lab←L100242;
lab←L100239: ;
};
};
/* removed tail goto */
lab←L100234: ;
(* (ptr) formal←c01251 ) = color←v20880;
(* (( (ptr) formal←c01251)+1) ) = isUnique←v20908;
return;
}
static void BoxSetFillColor←P4560(slice←v20968, parts←v20996, color←v21024, setHow←v21052, history←v21080)
word slice←v20968;
word parts←v20996;
word color←v21024;
word setHow←v21052;
word history←v21080;
{
register ptr gf←c105800 = (ptr) &globalframe;
word boxData←v39264;
/* BoxSetFillColor: */
SOURCE(77169, 313)
SOURCE(77280, 37)
boxData←v39264 = XR←Narrow((* (( (ptr) slice←v20968)+1) ), (* (( (ptr) gf←c105800)+25) ));
SOURCE(77319, 163)
{
word var←c101768;
var←c101768 = setHow←v21052;
if ((var←c101768 == (* (( (ptr) gf←c105800)+73) ))) {
SOURCE(77346, 25)
(* (( (ptr) boxData←v39264)+5) ) = color←v21024;
}
else {
if ((var←c101768 == (* (( (ptr) gf←c105800)+74) ))) {
SOURCE(77387, 97)
{
word newColor←v39308;
SOURCE(77389, 63)
{
word pd807;
pd807 = (* (( (ptr) (* (( (ptr) gf←c105800)+313)/* var←c96552 */ ))+36) );
newColor←v39308 = (word) ( *( (fPt) ((* (ptr) pd807 ))))((* (( (ptr) boxData←v39264)+5) ), color←v21024, pd807);
};
SOURCE(77454, 28)
(* (( (ptr) boxData←v39264)+5) ) = newColor←v39308;
};
}
else {
SOURCE(77498, 5)
(void) XR←RaiseUnnamedError();
};
};
};
}
static void BoxGetFillColor←P4620(formal←c01265, slice←v21140, parts←v21168)
word formal←c01265;
word slice←v21140;
word parts←v21168;
{
register ptr gf←c105832 = (ptr) &globalframe;
word color←v21212;
word isUnique←v21240;
word boxData←v39352;
/* BoxGetFillColor: */
SOURCE(77509, 170)
SOURCE(77509, 170)
color←v21212 = 0;
SOURCE(77509, 170)
isUnique←v21240 = 1;
SOURCE(77615, 37)
boxData←v39352 = XR←Narrow((* (( (ptr) slice←v21140)+1) ), (* (( (ptr) gf←c105832)+25) ));
SOURCE(77654, 25)
color←v21212 = (* (( (ptr) boxData←v39352)+5) );
/* removed tail goto */
(* (ptr) formal←c01265 ) = color←v21212;
(* (( (ptr) formal←c01265)+1) ) = isUnique←v21240;
return;
}
static word BoxSetStrokeWidth←P4680(slice←v21300, parts←v21328, strokeWidth←v21356, history←v21384)
word slice←v21300;
word parts←v21328;
word strokeWidth←v21356;
word history←v21384;
{
register ptr gf←c105864 = (ptr) &globalframe;
word box←v21428;
word boxParts←v39396;
word boxData←v39424;
/* BoxSetStrokeWidth: */
SOURCE(77685, 405)
SOURCE(77685, 405)
box←v21428 = 0;
SOURCE(77813, 34)
boxParts←v39396 = XR←Narrow(parts←v21328, (* (( (ptr) gf←c105864)+28) ));
SOURCE(77849, 37)
boxData←v39424 = XR←Narrow((* (( (ptr) slice←v21300)+1) ), (* (( (ptr) gf←c105864)+25) ));
SOURCE(77888, 124)
{
register word edge←v39468 = 0;
if (( (int)edge←v39468 > (int)3)) {
goto lab←L100244;
};
lab←L100247: ;
SOURCE(77919, 93)
if ((boxParts←v39396 == 0)) { goto then0808;};
if ((0 != (* ((( (ptr) boxParts←v39396)+4)+BCK(edge←v39468, 4)) ))) {
then0808: ;
SOURCE(77964, 48)
(* (( (ptr) (* ((( (ptr) boxData←v39424)+36)+BCK(edge←v39468, 4)) ))+2) ) = strokeWidth←v21356;
};
if (( (int)edge←v39468 >= (int)3)) {
goto lab←L100244;
};
edge←v39468 = (edge←v39468 + 1);
goto lab←L100247;
lab←L100244: ;
};
SOURCE(78023, 67)
{
word var←c101800;
{
word pd809;
pd809 = (* (( (ptr) (* (( (ptr) gf←c105864)+305)/* var←c92456 */ ))+7) );
var←c101800 = (word) ( *( (fPt) ((* (ptr) pd809 ))))(slice←v21300, parts←v21328, pd809);
};
{
word pd810;
pd810 = (* (( (ptr) (* (( (ptr) gf←c105864)+304)/* var←c92328 */ ))+7) );
box←v21428 = (word) ( *( (fPt) ((* (ptr) pd810 ))))(var←c101800, pd810);
};
};
SOURCE(77685, 405)
return(box←v21428);
}
static void BoxSetDefaults←P4740(slice←v21488, parts←v21516, defaults←v21544, history←v21572)
word slice←v21488;
word parts←v21516;
word defaults←v21544;
word history←v21572;
{
register ptr gf←c105896 = (ptr) &globalframe;
word boxParts←v39512;
word boxData←v39540;
/* BoxSetDefaults: */
SOURCE(78178, 433)
SOURCE(78283, 34)
boxParts←v39512 = XR←Narrow(parts←v21516, (* (( (ptr) gf←c105896)+28) ));
SOURCE(78319, 37)
boxData←v39540 = XR←Narrow((* (( (ptr) slice←v21488)+1) ), (* (( (ptr) gf←c105896)+25) ));
SOURCE(78358, 131)
{
register word edge←v39584 = 0;
if (( (int)edge←v39584 > (int)3)) {
goto lab←L100248;
};
lab←L100251: ;
SOURCE(78389, 100)
if ((boxParts←v39512 == 0)) { goto then0811;};
if ((0 != (* ((( (ptr) boxParts←v39512)+4)+BCK(edge←v39584, 4)) ))) {
then0811: ;
SOURCE(78434, 55)
{
word pd812;
pd812 = (* (( (ptr) (* (( (ptr) gf←c105896)+302)/* var←c92200 */ ))+16) );
(void) ( *( (fPt) ((* (ptr) pd812 ))))((* ((( (ptr) boxData←v39540)+36)+BCK(edge←v39584, 4)) ), defaults←v21544, pd812);
};
};
if (( (int)edge←v39584 >= (int)3)) {
goto lab←L100248;
};
edge←v39584 = (edge←v39584 + 1);
goto lab←L100251;
lab←L100248: ;
};
SOURCE(78500, 38)
(* (( (ptr) boxData←v39540)+5) ) = (* (( (ptr) defaults←v21544)+8) );
SOURCE(78540, 42)
(* (( (ptr) boxData←v39540)+14) ) = (* (( (ptr) defaults←v21544)+1) );
SOURCE(78584, 27)
{
word pd813;
pd813 = (* (( (ptr) (* (( (ptr) gf←c105896)+300)/* var←c91944 */ ))+68) );
(void) ( *( (fPt) ((* (ptr) pd813 ))))(slice←v21488, pd813);
};
}
static void BoxGetStrokeWidth←P4800(formal←c01291, slice←v21632, parts←v21660)
word formal←c01291;
word slice←v21632;
word parts←v21660;
{
register ptr gf←c105928 = (ptr) &globalframe;
word strokeWidth←v21704;
word isUnique←v21732;
word boxParts←v39628;
word boxData←v39656;
word found←v39684 = 0;
word this←v39712;
/* BoxGetStrokeWidth: */
SOURCE(78617, 544)
SOURCE(78617, 544)
strokeWidth←v21704 = (* (ptr) &fc814 );
SOURCE(78617, 544)
isUnique←v21732 = 1;
SOURCE(78737, 34)
boxParts←v39628 = XR←Narrow(parts←v21660, (* (( (ptr) gf←c105928)+28) ));
SOURCE(78773, 37)
boxData←v39656 = XR←Narrow((* (( (ptr) slice←v21632)+1) ), (* (( (ptr) gf←c105928)+25) ));
SOURCE(78845, 262)
{
register word edge←v39756 = 0;
if (( (int)edge←v39756 > (int)3)) {
goto lab←L100253;
};
lab←L100256: ;
SOURCE(78876, 231)
if ((boxParts←v39628 == 0)) { goto then0815;};
if ((0 != (* ((( (ptr) boxParts←v39628)+4)+BCK(edge←v39756, 4)) ))) {
then0815: ;
SOURCE(78923, 184)
if ((0 != found←v39684)) {
SOURCE(78939, 41)
this←v39712 = (* (( (ptr) (* ((( (ptr) boxData←v39656)+36)+BCK(edge←v39756, 4)) ))+2) );
SOURCE(78982, 52)
{
word x816;
word x817;
if (((
x816 = this←v39712, *(float*)&x816
) != (
x817 = strokeWidth←v21704, *(float*)&x817
))) {
SOURCE(79007, 27)
/* removed bogus assignment */
isUnique←v21732 = 0;
goto lab←L100252;
};
};
}
else {
SOURCE(79045, 12)
found←v39684 = 1;
SOURCE(79059, 48)
strokeWidth←v21704 = (* (( (ptr) (* ((( (ptr) boxData←v39656)+36)+BCK(edge←v39756, 4)) ))+2) );
};
};
if (( (int)edge←v39756 >= (int)3)) {
goto lab←L100253;
};
edge←v39756 = (edge←v39756 + 1);
goto lab←L100256;
lab←L100253: ;
};
SOURCE(79124, 37)
if ((0 == found←v39684)) {
SOURCE(79142, 19)
strokeWidth←v21704 = (* (ptr) &fc679 );
isUnique←v21732 = 0;
goto lab←L100252;
};
/* removed tail goto */
lab←L100252: ;
(* (ptr) formal←c01291 ) = strokeWidth←v21704;
(* (( (ptr) formal←c01291)+1) ) = isUnique←v21732;
return;
}
static void BoxSetStrokeEnd←P4860(slice←v21792, parts←v21820, strokeEnd←v21848, history←v21876)
word slice←v21792;
word parts←v21820;
word strokeEnd←v21848;
word history←v21876;
{
register ptr gf←c105960 = (ptr) &globalframe;
word boxParts←v39800;
word boxData←v39828;
/* BoxSetStrokeEnd: */
SOURCE(79187, 300)
SOURCE(79292, 34)
boxParts←v39800 = XR←Narrow(parts←v21820, (* (( (ptr) gf←c105960)+28) ));
SOURCE(79328, 37)
boxData←v39828 = XR←Narrow((* (( (ptr) slice←v21792)+1) ), (* (( (ptr) gf←c105960)+25) ));
SOURCE(79367, 120)
{
register word edge←v39872 = 0;
if (( (int)edge←v39872 > (int)3)) {
goto lab←L100257;
};
lab←L100260: ;
SOURCE(79398, 89)
if ((boxParts←v39800 == 0)) { goto then0818;};
if ((0 != (* ((( (ptr) boxParts←v39800)+4)+BCK(edge←v39872, 4)) ))) {
then0818: ;
SOURCE(79443, 44)
(* (( (ptr) (* ((( (ptr) boxData←v39828)+36)+BCK(edge←v39872, 4)) ))+3) ) = strokeEnd←v21848;
};
if (( (int)edge←v39872 >= (int)3)) {
goto lab←L100257;
};
edge←v39872 = (edge←v39872 + 1);
goto lab←L100260;
lab←L100257: ;
};
}
static void BoxSetStrokeJoint←P4920(slice←v21936, parts←v21964, strokeJoint←v21992, history←v22020)
word slice←v21936;
word parts←v21964;
word strokeJoint←v21992;
word history←v22020;
{
register ptr gf←c105992 = (ptr) &globalframe;
word boxData←v39916;
/* BoxSetStrokeJoint: */
SOURCE(79502, 183)
SOURCE(79613, 37)
boxData←v39916 = XR←Narrow((* (( (ptr) slice←v21936)+1) ), (* (( (ptr) gf←c105992)+25) ));
SOURCE(79652, 33)
(* (( (ptr) boxData←v39916)+14) ) = strokeJoint←v21992;
}
static void BoxGetStrokeJoint←P4980(formal←c01310, slice←v22080, parts←v22108)
word formal←c01310;
word slice←v22080;
word parts←v22108;
{
register ptr gf←c106024 = (ptr) &globalframe;
word strokeJoint←v22152;
word isUnique←v22180;
word boxData←v39960;
/* BoxGetStrokeJoint: */
SOURCE(79691, 186)
SOURCE(79691, 186)
isUnique←v22180 = 1;
SOURCE(79811, 37)
boxData←v39960 = XR←Narrow((* (( (ptr) slice←v22080)+1) ), (* (( (ptr) gf←c106024)+25) ));
SOURCE(79850, 27)
strokeJoint←v22152 = (* (( (ptr) boxData←v39960)+14) );
isUnique←v22180 = 1;
/* removed tail goto */
(* (ptr) formal←c01310 ) = strokeJoint←v22152;
(* (( (ptr) formal←c01310)+1) ) = isUnique←v22180;
return;
}
static void BoxGetStrokeEnd←P5040(formal←c01320, slice←v22240, parts←v22268)
word formal←c01320;
word slice←v22240;
word parts←v22268;
{
register ptr gf←c106056 = (ptr) &globalframe;
word strokeEnd←v22312;
word isUnique←v22340;
word boxParts←v40004;
word boxData←v40032;
word found←v40060 = 0;
word this←v40088;
/* BoxGetStrokeEnd: */
SOURCE(79883, 543)
SOURCE(79883, 543)
strokeEnd←v22312 = 0;
SOURCE(79883, 543)
isUnique←v22340 = 1;
SOURCE(80006, 34)
boxParts←v40004 = XR←Narrow(parts←v22268, (* (( (ptr) gf←c106056)+28) ));
SOURCE(80042, 37)
boxData←v40032 = XR←Narrow((* (( (ptr) slice←v22240)+1) ), (* (( (ptr) gf←c106056)+25) ));
SOURCE(80119, 252)
{
register word edge←v40132 = 0;
if (( (int)edge←v40132 > (int)3)) {
goto lab←L100263;
};
lab←L100266: ;
SOURCE(80150, 221)
if ((boxParts←v40004 == 0)) { goto then0819;};
if ((0 != (* ((( (ptr) boxParts←v40004)+4)+BCK(edge←v40132, 4)) ))) {
then0819: ;
SOURCE(80197, 174)
if ((0 != found←v40060)) {
SOURCE(80213, 39)
this←v40088 = (* (( (ptr) (* ((( (ptr) boxData←v40032)+36)+BCK(edge←v40132, 4)) ))+3) );
SOURCE(80254, 48)
if ((this←v40088 != strokeEnd←v22312)) {
SOURCE(80277, 25)
/* removed bogus assignment */
isUnique←v22340 = 0;
goto lab←L100262;
};
}
else {
SOURCE(80313, 12)
found←v40060 = 1;
SOURCE(80327, 44)
strokeEnd←v22312 = (* (( (ptr) (* ((( (ptr) boxData←v40032)+36)+BCK(edge←v40132, 4)) ))+3) );
};
};
if (( (int)edge←v40132 >= (int)3)) {
goto lab←L100263;
};
edge←v40132 = (edge←v40132 + 1);
goto lab←L100266;
lab←L100263: ;
};
SOURCE(80388, 38)
if ((0 == found←v40060)) {
SOURCE(80406, 20)
strokeEnd←v22312 = 2;
isUnique←v22340 = 0;
goto lab←L100262;
};
/* removed tail goto */
lab←L100262: ;
(* (ptr) formal←c01320 ) = strokeEnd←v22312;
(* (( (ptr) formal←c01320)+1) ) = isUnique←v22340;
return;
}
static void BoxSetDashed←P5100(slice←v22400, parts←v22428, dashed←v22456, pattern←v22484, offset←v22512, length←v22540, history←v22568)
word slice←v22400;
word parts←v22428;
word dashed←v22456;
word pattern←v22484;
word offset←v22512;
word length←v22540;
word history←v22568;
{
register ptr gf←c106088 = (ptr) &globalframe;
word boxParts←v40176;
word boxData←v40204;
/* BoxSetDashed: */
SOURCE(80452, 450)
SOURCE(80626, 34)
boxParts←v40176 = XR←Narrow(parts←v22428, (* (( (ptr) gf←c106088)+28) ));
SOURCE(80662, 37)
boxData←v40204 = XR←Narrow((* (( (ptr) slice←v22400)+1) ), (* (( (ptr) gf←c106088)+25) ));
SOURCE(80701, 201)
{
register word edge←v40248 = 0;
if (( (int)edge←v40248 > (int)3)) {
goto lab←L100267;
};
lab←L100270: ;
SOURCE(80732, 170)
if ((boxParts←v40176 == 0)) { goto then0820;};
if ((0 != (* ((( (ptr) boxParts←v40176)+4)+BCK(edge←v40248, 4)) ))) {
then0820: ;
SOURCE(80777, 127)
{
word seg←v40292;
SOURCE(80779, 37)
seg←v40292 = (* ((( (ptr) boxData←v40204)+36)+BCK(edge←v40248, 4)) );
SOURCE(80818, 19)
(* (( (ptr) seg←v40292)+4) ) = dashed←v22456;
SOURCE(80839, 21)
(* (( (ptr) seg←v40292)+5) ) = pattern←v22484;
SOURCE(80862, 19)
(* (( (ptr) seg←v40292)+6) ) = offset←v22512;
SOURCE(80883, 19)
(* (( (ptr) seg←v40292)+7) ) = length←v22540;
};
};
if (( (int)edge←v40248 >= (int)3)) {
goto lab←L100267;
};
edge←v40248 = (edge←v40248 + 1);
goto lab←L100270;
lab←L100267: ;
};
}
static void BoxGetDashed←P5160(formal←c01344, slice←v22628, parts←v22656)
word formal←c01344;
word slice←v22628;
word parts←v22656;
{
register ptr gf←c106120 = (ptr) &globalframe;
word dashed←v22700;
word pattern←v22728;
word offset←v22756;
word length←v22784;
word isUnique←v22812;
word boxParts←v40336;
word boxData←v40364;
word found←v40392 = 0;
/* BoxGetDashed: */
SOURCE(80920, 777)
SOURCE(80920, 777)
dashed←v22700 = 0;
SOURCE(80920, 777)
pattern←v22728 = 0;
SOURCE(80920, 777)
offset←v22756 = (* (ptr) &fc216 );
SOURCE(80920, 777)
length←v22784 = (* (ptr) &fc216 );
SOURCE(80920, 777)
isUnique←v22812 = 1;
SOURCE(81084, 34)
boxParts←v40336 = XR←Narrow(parts←v22656, (* (( (ptr) gf←c106120)+28) ));
SOURCE(81120, 37)
boxData←v40364 = XR←Narrow((* (( (ptr) slice←v22628)+1) ), (* (( (ptr) gf←c106120)+25) ));
SOURCE(81180, 437)
{
register word edge←v40436 = 0;
if (( (int)edge←v40436 > (int)3)) {
goto lab←L100272;
};
lab←L100275: ;
SOURCE(81211, 406)
if ((boxParts←v40336 == 0)) { goto then0821;};
if ((0 != (* ((( (ptr) boxParts←v40336)+4)+BCK(edge←v40436, 4)) ))) {
then0821: ;
SOURCE(81256, 366)
{
word seg←v40480;
SOURCE(81258, 37)
seg←v40480 = (* ((( (ptr) boxData←v40364)+36)+BCK(edge←v40436, 4)) );
SOURCE(81297, 320)
if ((0 != found←v40392)) {
SOURCE(81313, 195)
{
word tc823;
word x824;
word x825;
word x826;
word x827;
word pd828;
if ((dashed←v22700 != (* (( (ptr) seg←v40480)+4) ))) { goto then0822;};
if ((0 != (* (( (ptr) seg←v40480)+4) ))) {
if (((
x824 = (* (( (ptr) seg←v40480)+6) ), *(float*)&x824
) != (
x825 = offset←v22756, *(float*)&x825
)) || ((
x826 = (* (( (ptr) seg←v40480)+7) ), *(float*)&x826
) != (
x827 = length←v22784, *(float*)&x827
))) {
tc823 = (word) 1;
}
else {
pd828 = (* (( (ptr) (* (( (ptr) gf←c106120)+313)/* var←c96552 */ ))+38) );
tc823 = (word) (0 == (word) ( *( (fPt) ((* (ptr) pd828 ))))((* (( (ptr) seg←v40480)+5) ), pattern←v22728, pd828));
};
}
else {
tc823 = (word) 0;
};
if (tc823) {
then0822: ;
SOURCE(81462, 46)
/* removed bogus assignment */
/* removed bogus assignment */
/* removed bogus assignment */
/* removed bogus assignment */
isUnique←v22812 = 0;
goto lab←L100271;
};
};
}
else {
SOURCE(81519, 12)
found←v40392 = 1;
SOURCE(81533, 19)
dashed←v22700 = (* (( (ptr) seg←v40480)+4) );
SOURCE(81554, 21)
pattern←v22728 = (* (( (ptr) seg←v40480)+5) );
SOURCE(81577, 19)
offset←v22756 = (* (( (ptr) seg←v40480)+6) );
SOURCE(81598, 19)
length←v22784 = (* (( (ptr) seg←v40480)+7) );
};
};
};
if (( (int)edge←v40436 >= (int)3)) {
goto lab←L100272;
};
edge←v40436 = (edge←v40436 + 1);
goto lab←L100275;
lab←L100272: ;
};
SOURCE(81634, 63)
if ((0 == found←v40392)) {
SOURCE(81652, 45)
dashed←v22700 = 0;
/* removed bogus assignment */
/* removed bogus assignment */
/* removed bogus assignment */
isUnique←v22812 = 0;
goto lab←L100271;
};
/* removed tail goto */
lab←L100271: ;
(* (ptr) formal←c01344 ) = dashed←v22700;
(* (( (ptr) formal←c01344)+1) ) = pattern←v22728;
(* (( (ptr) formal←c01344)+2) ) = offset←v22756;
(* (( (ptr) formal←c01344)+3) ) = length←v22784;
(* (( (ptr) formal←c01344)+4) ) = isUnique←v22812;
return;
}
static word BoxSetOrientation←P5220(slice←v22872, parts←v22900, orientation←v22928, history←v22956)
word slice←v22872;
word parts←v22900;
word orientation←v22928;
word history←v22956;
{
register ptr gf←c106152 = (ptr) &globalframe;
word success←v23000;
word boxData←v40524;
/* BoxSetOrientation: */
SOURCE(81723, 315)
SOURCE(81723, 315)
success←v23000 = 1;
SOURCE(81865, 37)
boxData←v40524 = XR←Narrow((* (( (ptr) slice←v22872)+1) ), (* (( (ptr) gf←c106152)+25) ));
SOURCE(81904, 134)
{
word var←c101864;
var←c101864 = orientation←v22928;
switch (var←c101864) {
case 0:
SOURCE(81934, 22)
(* (( (ptr) boxData←v40524)+15) ) = 1;
break;
case 1:
SOURCE(81965, 23)
(* (( (ptr) boxData←v40524)+15) ) = 0;
break;
case 2:
SOURCE(82001, 37)
(* (( (ptr) boxData←v40524)+15) ) = (unsigned) (0 == (* (( (ptr) boxData←v40524)+15) ));
break;
default:
SOURCE(82051, 5)
(void) XR←RaiseUnnamedError();
break;
};
};
SOURCE(81723, 315)
return(success←v23000);
}
static void BoxGetOrientation←P5280(formal←c01358, slice←v23060, parts←v23088)
word formal←c01358;
word slice←v23060;
word parts←v23088;
{
register ptr gf←c106184 = (ptr) &globalframe;
word orientation←v23132;
word isUnique←v23160;
word boxData←v40568;
/* BoxGetOrientation: */
SOURCE(82062, 202)
SOURCE(82062, 202)
isUnique←v23160 = 1;
SOURCE(82182, 37)
boxData←v40568 = XR←Narrow((* (( (ptr) slice←v23060)+1) ), (* (( (ptr) gf←c106184)+25) ));
SOURCE(82221, 43)
if ((0 != (* (( (ptr) boxData←v40568)+15) ))) {
orientation←v23132 = 0;
}
else {
orientation←v23132 = 1;
};
isUnique←v23160 = 1;
/* removed tail goto */
(* (ptr) formal←c01358 ) = orientation←v23132;
(* (( (ptr) formal←c01358)+1) ) = isUnique←v23160;
return;
}
static void Init←P5340()
{
register ptr gf←c106216 = (ptr) &globalframe;
/* Init: */
SOURCE(82288, 56)
SOURCE(82306, 38)
{
word pd829;
pd829 = (* (( (ptr) (* (( (ptr) gf←c106216)+321)/* var←c101224 */ ))+25) );
(* (( (ptr) gf←c106216)+6)/* globalEdge←v8264 */ ) = (word) ( *( (fPt) ((* (ptr) pd829 ))))(pd829);
};
}
/* file: GGSliceImplA, module: GGSliceImplA, compiled at: July 11, 1993 8:06:23 pm PDT */
extern void XR←install←GGSliceImplA() {
XR←FillWords(&dummy661, 2, 0);
NoName←Q12060();
}
extern void XR←run←GGSliceImplA() { XR←Start(&globalframe); }