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