/* Generated with C2C (Cedar To C)*/ /* Copyright (C) 1993 by Xerox Corporation. All rights reserved. */ /* time: February 5, 1993 1:53:39 pm PST */ /* C2C version: October 7, 1992 (native) */ /* ref-counting: off */ /* file: GGUtilityImplB, module: GGUtilityImplB */ /* switches: bcfhklnouw */ #include #include static char versionStamp[] = "@(#)mob_version [4218354260,1734199943] GGUtilityImplB"; typedef unsigned word, *ptr; typedef unsigned char byte, *bPt; typedef unsigned short half, *hPt; typedef struct {word f0, f1;} W2; typedef W2 *W2Pt; typedef word (*fPt)(); typedef struct {word f0, f1, f2, f3, f4, f5, f6, f7;} W8; typedef struct {word f0, f1, f2, f3;} W4; typedef struct {W8 f; W4 r;} W12; typedef struct {word f0, f1, f2, f3, f4, f5, f6;} W7; typedef struct {word f0, f1, f2, f3, f4, f5;} W6; #define SOURCE(p, l) /* source p, l */ static float fc22 = 360.0; static float fc24 = 0.0; static void NoName_Q2052(); static void GGUtilityImplB_P0(); static word SlopeOfSegment_P60(); static word SlopeOfPoints_P120(); static word CounterClockwiseBetweenSegments_P180(); static word SmallestAngleOfPoints_P240(); static word LengthOfSegment_P300(); static word DistanceBetweenPoints_P360(); static word DistanceFromPointToSegment_P420(); static word DistanceFromPointToLine_P480(); static word Identity_P540(); static void Transform_P600(); static word RotateAboutPoint_P660(); static word ScaleAboutPoint_P720(); static word ScaleUnevenAboutPoint_P780(); static word SixPoints_P840(); static word FourPoints_P900(); static void StartSliceList_P960(); static void AddSlice_P1020(); static word AppendSliceList_P1080(); static word DeleteSliceFromList_P1140(); static void FindSliceAndNeighbors_P1200(); static word CopySliceList_P1260(); static word SortSliceList_P1320(); static void InnerSort_P1728(); static word SortSliceListByPriority_P1380(); static word CompareProc_P1884(); static word LengthSliceList_P1440(); static word SliceListMerge_P1500(); static void StartTrajList_P1560(); static void AddTraj_P1620(); static struct {unsigned f; char r[48];} string1 = {2883632, "\260\006\005\146\151\162\163\164\216\257\300\247\365\203\234\300\047\265\225\046\100\324\005\004\162\145\163\164\214\216\257\300\247\365\203\234\300\047\265\225\046\100\324\261\000\000\000"}; static struct {unsigned f; char r[4];} string2 = {131074, "\004\003\000"}; static struct {unsigned f; char r[16];} string3 = {851984, "\257\300\373\156\372\124\300\147\135\312\207\100\164\000\000"}; static struct {unsigned f; char r[16];} string4 = {851984, "\257\300\121\216\014\136\300\111\163\224\167\100\150\000\000"}; static struct {unsigned f; char r[16];} string5 = {851984, "\257\300\121\117\377\026\300\315\013\026\004\100\150\000\000"}; static struct {unsigned f; char r[16];} string6 = {851984, "\257\300\103\306\166\071\300\047\126\012\237\100\150\000\000"}; static struct {unsigned f; char r[16];} string7 = {851984, "\257\300\004\142\347\110\300\363\053\254\345\100\150\000\000"}; static struct {unsigned f; char r[16];} string8 = {851984, "\257\300\057\254\335\010\300\373\153\244\175\100\150\000\000"}; static struct {unsigned f; char r[16];} string9 = {851984, "\257\300\104\154\010\164\300\126\073\363\036\100\150\000\000"}; static struct {unsigned f; char r[16];} string10 = {851984, "\257\300\370\132\042\205\300\045\133\011\125\100\150\000\000"}; static struct { word f0[5]; word f5; word f6; word f7; word f8; word f9; word f10; word f11; word f12; word f13; word f14; word f15; word f16; word f17; word f18; word f19; word f20; word f21; word f22; word f23; word f24; word f25; word f26; word f27; word f28; word f29; word f30; word f31; word f32; word f33; word f34; word f35; word f36; word f37; word f38; word f39; word f40; word f41; word f42; word f43; word f44; word f45; word f46; word f47; word f48; word f49; word f50; word f51; word f52; word f53; word f54; word f55; word f56; word f57; word f58; word f59; word f60[6]; } globalframe = { {0}, (word) AddTraj_P1620, 0, (word) StartTrajList_P1560, 0, (word) SliceListMerge_P1500, 0, (word) LengthSliceList_P1440, 0, (word) SortSliceListByPriority_P1380, 0, (word) SortSliceList_P1320, 0, (word) CopySliceList_P1260, 0, (word) FindSliceAndNeighbors_P1200, 0, (word) DeleteSliceFromList_P1140, 0, (word) AppendSliceList_P1080, 0, (word) AddSlice_P1020, 0, (word) StartSliceList_P960, 0, (word) FourPoints_P900, 0, (word) SixPoints_P840, 0, (word) ScaleUnevenAboutPoint_P780, 0, (word) ScaleAboutPoint_P720, 0, (word) RotateAboutPoint_P660, 0, (word) Transform_P600, 0, (word) Identity_P540, 0, (word) DistanceFromPointToLine_P480, 0, (word) DistanceFromPointToSegment_P420, 0, (word) DistanceBetweenPoints_P360, 0, (word) LengthOfSegment_P300, 0, (word) SmallestAngleOfPoints_P240, 0, (word) CounterClockwiseBetweenSegments_P180, 0, (word) SlopeOfPoints_P120, 0, (word) SlopeOfSegment_P60, 0, (word) GGUtilityImplB_P0, {0} }; static void NoName_Q2052() { register ptr gf_c0220 = (ptr) &globalframe; word var_c19368; (* (( (ptr) gf_c0220)+4) ) = (word) XR_GetTypeIndex((word) &string1, 0, (word) &string2); (void) XR_DeclareGlobalFrame((word) "GGUtilityImplB", &globalframe, (word) XR_GetTypeIndexS((word) (&string3)), (word) (( (bPt) gf_c0220)+236) /* var_c18024 */ ); var_c19368 = (word) XR_ImportInterface((word) "Angles2d", (word) XR_GetTypeIndexS((word) (&string4)), 11); (* (( (ptr) gf_c0220)+62)/* var_c18120 */ ) = var_c19368; (void) XR_ImportProcS(var_c19368, 67371009); (void) XR_ImportProcS(var_c19368, 67371265); var_c19368 = (word) XR_ImportInterface((word) "ImagerTransformation", (word) XR_GetTypeIndexS((word) (&string5)), 55); (* (( (ptr) gf_c0220)+64)/* var_c18280 */ ) = var_c19368; (void) XR_ImportProcS(var_c19368, 67898882); (void) XR_ImportProcS(var_c19368, 68681734); (void) XR_ImportProcS(var_c19368, 67899394); (void) XR_ImportProcS(var_c19368, 67636994); (void) XR_ImportProcS(var_c19368, 67899906); (void) XR_ImportProcS(var_c19368, 67637506); (void) XR_ImportProcS(var_c19368, 135013122); (void) XR_ImportProcS(var_c19368, 67634689); var_c19368 = (word) XR_ImportInterface((word) "Lines2d", (word) XR_GetTypeIndexS((word) (&string6)), 50); (* (( (ptr) gf_c0220)+63)/* var_c18216 */ ) = var_c19368; (void) XR_ImportProcS(var_c19368, 67904258); (void) XR_ImportProcS(var_c19368, 68158466); var_c19368 = (word) XR_ImportInterface((word) "Vectors2d", (word) XR_GetTypeIndexS((word) (&string7)), 21); (* (( (ptr) gf_c0220)+61)/* var_c18056 */ ) = var_c19368; (void) XR_ImportProcS(var_c19368, 68161282); (void) XR_ImportProcS(var_c19368, 68158722); (void) XR_ImportProcS(var_c19368, 68158210); (void) XR_ImportProcS(var_c19368, 67633665); (void) XR_ImportProcS(var_c19368, 135270914); var_c19368 = (word) XR_ExportInterface((word) "GGMeasure", (word) XR_GetTypeIndexS((word) (&string8)), 8); (* (( (ptr) gf_c0220)+65)/* var_c19400 */ ) = var_c19368; (void) XR_ExportProcS(var_c19368, (word) (( (bPt) gf_c0220)+228)/* var_c17992 */ , 67371009); (void) XR_ExportProcS(var_c19368, (word) (( (bPt) gf_c0220)+220)/* var_c17960 */ , 68157698); (void) XR_ExportProcS(var_c19368, (word) (( (bPt) gf_c0220)+212)/* var_c17928 */ , 67633666); (void) XR_ExportProcS(var_c19368, (word) (( (bPt) gf_c0220)+204)/* var_c17896 */ , 68682499); (void) XR_ExportProcS(var_c19368, (word) (( (bPt) gf_c0220)+196)/* var_c17864 */ , 67372033); (void) XR_ExportProcS(var_c19368, (word) (( (bPt) gf_c0220)+188)/* var_c17832 */ , 68158722); (void) XR_ExportProcS(var_c19368, (word) (( (bPt) gf_c0220)+180)/* var_c17800 */ , 67896834); (void) XR_ExportProcS(var_c19368, (word) (( (bPt) gf_c0220)+172)/* var_c17768 */ , 68683523); var_c19368 = (word) XR_ExportInterface((word) "GGTransform", (word) XR_GetTypeIndexS((word) (&string9)), 7); (* (( (ptr) gf_c0220)+65)/* var_c19400 */ ) = var_c19368; (void) XR_ExportProcS(var_c19368, (word) (( (bPt) gf_c0220)+164)/* var_c17736 */ , 67108864); (void) XR_ExportProcS(var_c19368, (word) (( (bPt) gf_c0220)+156)/* var_c17704 */ , 135004418); (void) XR_ExportProcS(var_c19368, (word) (( (bPt) gf_c0220)+148)/* var_c17672 */ , 67895810); (void) XR_ExportProcS(var_c19368, (word) (( (bPt) gf_c0220)+140)/* var_c17640 */ , 67896066); (void) XR_ExportProcS(var_c19368, (word) (( (bPt) gf_c0220)+132)/* var_c17608 */ , 68158467); (void) XR_ExportProcS(var_c19368, (word) (( (bPt) gf_c0220)+124)/* var_c17576 */ , 70255873); (void) XR_ExportProcS(var_c19368, (word) (( (bPt) gf_c0220)+116)/* var_c17544 */ , 69207553); var_c19368 = (word) XR_ExportInterface((word) "GGUtility", (word) XR_GetTypeIndexS((word) (&string10)), 42); (* (( (ptr) gf_c0220)+65)/* var_c19400 */ ) = var_c19368; (void) XR_ExportProcS(var_c19368, (word) (( (bPt) gf_c0220)+108)/* var_c17512 */ , 134221824); (void) XR_ExportProcS(var_c19368, (word) (( (bPt) gf_c0220)+100)/* var_c17480 */ , 135008515); (void) XR_ExportProcS(var_c19368, (word) (( (bPt) gf_c0220)+92)/* var_c17448 */ , 67637762); (void) XR_ExportProcS(var_c19368, (word) (( (bPt) gf_c0220)+84)/* var_c17416 */ , 67638018); (void) XR_ExportProcS(var_c19368, (word) (( (bPt) gf_c0220)+76)/* var_c17384 */ , 268964866); (void) XR_ExportProcS(var_c19368, (word) (( (bPt) gf_c0220)+68)/* var_c17352 */ , 67376385); (void) XR_ExportProcS(var_c19368, (word) (( (bPt) gf_c0220)+60)/* var_c17320 */ , 67638786); (void) XR_ExportProcS(var_c19368, (word) (( (bPt) gf_c0220)+52)/* var_c17288 */ , 67376897); (void) XR_ExportProcS(var_c19368, (word) (( (bPt) gf_c0220)+28)/* var_c17192 */ , 134224896); (void) XR_ExportProcS(var_c19368, (word) (( (bPt) gf_c0220)+20)/* var_c17160 */ , 135011587); } static void GGUtilityImplB_P0(formal_c037, formal_c036) word formal_c037; word formal_c036; { /* GGUtilityImplB: */ } static word SlopeOfSegment_P60(seg_v3976) word seg_v3976; { register ptr gf_c19432 = (ptr) &globalframe; word degrees_v4020; W2 direction_v9296; /* SlopeOfSegment: */ SOURCE(581, 210) SOURCE(671, 54) { word pd11; pd11 = (* (( (ptr) (* (( (ptr) gf_c19432)+61)/* var_c18056 */ ))+22) ); (void) ( *( (fPt) ((* (ptr) pd11 ))))((word) &direction_v9296, (* (W2Pt) (( (ptr) seg_v3976)+9) ), (* (W2Pt) (( (ptr) seg_v3976)+11) ), pd11); }; SOURCE(727, 64) { word var_c18088; { word pd12; pd12 = (* (( (ptr) (* (( (ptr) gf_c19432)+61)/* var_c18056 */ ))+6) ); var_c18088 = (word) ( *( (fPt) ((* (ptr) pd12 ))))(direction_v9296, pd12); }; { word pd13; pd13 = (* (( (ptr) (* (( (ptr) gf_c19432)+62)/* var_c18120 */ ))+5) ); degrees_v4020 = (word) ( *( (fPt) ((* (ptr) pd13 ))))(var_c18088, pd13); }; }; SOURCE(581, 210) return(degrees_v4020); } static word SlopeOfPoints_P120(p0_v4080, p1_v4108) W2 p0_v4080; W2 p1_v4108; { register ptr gf_c19464 = (ptr) &globalframe; word degrees_v4152; W2 direction_v9340; /* SlopeOfPoints: */ SOURCE(797, 202) SOURCE(887, 46) { word pd14; pd14 = (* (( (ptr) (* (( (ptr) gf_c19464)+61)/* var_c18056 */ ))+22) ); (void) ( *( (fPt) ((* (ptr) pd14 ))))((word) &direction_v9340, p0_v4080, p1_v4108, pd14); }; SOURCE(935, 64) { word var_c18152; { word pd15; pd15 = (* (( (ptr) (* (( (ptr) gf_c19464)+61)/* var_c18056 */ ))+6) ); var_c18152 = (word) ( *( (fPt) ((* (ptr) pd15 ))))(direction_v9340, pd15); }; { word pd16; pd16 = (* (( (ptr) (* (( (ptr) gf_c19464)+62)/* var_c18120 */ ))+5) ); degrees_v4152 = (word) ( *( (fPt) ((* (ptr) pd16 ))))(var_c18152, pd16); }; }; SOURCE(797, 202) return(degrees_v4152); } static word CounterClockwiseBetweenSegments_P180(seg1_v4212, seg2_v4240) word seg1_v4212; word seg2_v4240; { register ptr gf_c19496 = (ptr) &globalframe; word degreesSeg1ToSeg2_v4284; W2 v1_v9384; W2 v2_v9412; /* CounterClockwiseBetweenSegments: */ SOURCE(1005, 360) SOURCE(1126, 49) { word pd17; pd17 = (* (( (ptr) (* (( (ptr) gf_c19496)+61)/* var_c18056 */ ))+22) ); (void) ( *( (fPt) ((* (ptr) pd17 ))))((word) &v1_v9384, (* (W2Pt) (( (ptr) seg1_v4212)+9) ), (* (W2Pt) (( (ptr) seg1_v4212)+11) ), pd17); }; SOURCE(1177, 49) { word pd18; pd18 = (* (( (ptr) (* (( (ptr) gf_c19496)+61)/* var_c18056 */ ))+22) ); (void) ( *( (fPt) ((* (ptr) pd18 ))))((word) &v2_v9412, (* (W2Pt) (( (ptr) seg2_v4240)+9) ), (* (W2Pt) (( (ptr) seg2_v4240)+11) ), pd18); }; SOURCE(1228, 80) { word var_c18184; { word pd19; pd19 = (* (( (ptr) (* (( (ptr) gf_c19496)+61)/* var_c18056 */ ))+7) ); var_c18184 = (word) ( *( (fPt) ((* (ptr) pd19 ))))(v1_v9384, v2_v9412, pd19); }; { word pd20; pd20 = (* (( (ptr) (* (( (ptr) gf_c19496)+62)/* var_c18120 */ ))+4) ); degreesSeg1ToSeg2_v4284 = (word) ( *( (fPt) ((* (ptr) pd20 ))))(var_c18184, pd20); }; }; SOURCE(1310, 55) { word x21; word x23; if ((( x21 = degreesSeg1ToSeg2_v4284, *(float*)&x21 ) == ( x23 = (* (ptr) &fc22 ), *(float*)&x23 ))) { SOURCE(1342, 23) degreesSeg1ToSeg2_v4284 = (* (ptr) &fc24 ); }; }; SOURCE(1005, 360) return(degreesSeg1ToSeg2_v4284); } static word SmallestAngleOfPoints_P240(a_v4344, b_v4372, c_v4400) W2 a_v4344; W2 b_v4372; W2 c_v4400; { register ptr gf_c19528 = (ptr) &globalframe; word degreesAngleABC_v4444; W2 v0_v9456; W2 v1_v9484; /* SmallestAngleOfPoints: */ SOURCE(1371, 258) SOURCE(1488, 37) { word pd25; pd25 = (* (( (ptr) (* (( (ptr) gf_c19528)+61)/* var_c18056 */ ))+22) ); (void) ( *( (fPt) ((* (ptr) pd25 ))))((word) &v0_v9456, b_v4372, a_v4344, pd25); }; SOURCE(1527, 37) { word pd26; pd26 = (* (( (ptr) (* (( (ptr) gf_c19528)+61)/* var_c18056 */ ))+22) ); (void) ( *( (fPt) ((* (ptr) pd26 ))))((word) &v1_v9484, b_v4372, c_v4400, pd26); }; SOURCE(1566, 63) { word pd27; pd27 = (* (( (ptr) (* (( (ptr) gf_c19528)+61)/* var_c18056 */ ))+9) ); degreesAngleABC_v4444 = (word) ( *( (fPt) ((* (ptr) pd27 ))))(v0_v9456, v1_v9484, pd27); }; SOURCE(1371, 258) return(degreesAngleABC_v4444); } static word LengthOfSegment_P300(seg_v4504) word seg_v4504; { register ptr gf_c19560 = (ptr) &globalframe; word lengthInPoints_v4548; /* LengthOfSegment: */ SOURCE(1635, 130) SOURCE(1714, 51) { word pd28; pd28 = (* (( (ptr) (* (( (ptr) gf_c19560)+61)/* var_c18056 */ ))+19) ); lengthInPoints_v4548 = (word) ( *( (fPt) ((* (ptr) pd28 ))))((* (W2Pt) (( (ptr) seg_v4504)+9) ), (* (W2Pt) (( (ptr) seg_v4504)+11) ), pd28); }; SOURCE(1635, 130) return(lengthInPoints_v4548); } static word DistanceBetweenPoints_P360(p0_v4608, p1_v4636) W2 p0_v4608; W2 p1_v4636; { register ptr gf_c19592 = (ptr) &globalframe; word lengthInPoints_v4680; /* DistanceBetweenPoints: */ SOURCE(1771, 129) SOURCE(1857, 43) { word pd29; pd29 = (* (( (ptr) (* (( (ptr) gf_c19592)+61)/* var_c18056 */ ))+19) ); lengthInPoints_v4680 = (word) ( *( (fPt) ((* (ptr) pd29 ))))(p0_v4608, p1_v4636, pd29); }; SOURCE(1771, 129) return(lengthInPoints_v4680); } static word DistanceFromPointToSegment_P420(p_v4740, seg_v4768) W2 p_v4740; word seg_v4768; { word distanceInPoints_v4812; /* DistanceFromPointToSegment: */ SOURCE(1906, 124) SOURCE(2008, 22) distanceInPoints_v4812 = (* (ptr) &fc24 ); SOURCE(1906, 124) return(distanceInPoints_v4812); } static word DistanceFromPointToLine_P480(p_v4872, p1_v4900, p2_v4928) W2 p_v4872; W2 p1_v4900; W2 p2_v4928; { register ptr gf_c19624 = (ptr) &globalframe; word distance_v4972; word line_v9528 = 0; /* DistanceFromPointToLine: */ SOURCE(2036, 183) SOURCE(2140, 37) { word pd30; pd30 = (* (( (ptr) (* (( (ptr) gf_c19624)+63)/* var_c18216 */ ))+8) ); line_v9528 = (word) ( *( (fPt) ((* (ptr) pd30 ))))(p1_v4900, p2_v4928, pd30); }; SOURCE(2179, 40) { word pd31; pd31 = (* (( (ptr) (* (( (ptr) gf_c19624)+63)/* var_c18216 */ ))+39) ); distance_v4972 = (word) ( *( (fPt) ((* (ptr) pd31 ))))(p_v4872, line_v9528, pd31); }; SOURCE(2036, 183) return(distance_v4972); } static word Identity_P540() { register ptr gf_c19656 = (ptr) &globalframe; word id_v5032; /* Identity: */ SOURCE(2225, 119) SOURCE(2225, 119) id_v5032 = 0; SOURCE(2301, 43) { W2 var_c18248; var_c18248.f0 = (* (ptr) &fc24 ); var_c18248.f1 = (* (ptr) &fc24 ); { word pd32; pd32 = (* (( (ptr) (* (( (ptr) gf_c19656)+64)/* var_c18280 */ ))+10) ); id_v5032 = (word) ( *( (fPt) ((* (ptr) pd32 ))))(var_c18248, pd32); }; }; SOURCE(2225, 119) return(id_v5032); } static void Transform_P600(formal_c085, m_v5092, p_v5120) word formal_c085; word m_v5092; W2 p_v5120; { register ptr gf_c19688 = (ptr) &globalframe; W2 var_c5164; /* Transform: */ SOURCE(2350, 139) SOURCE(2445, 44) { W2 var_c18344; { word pd33; pd33 = (* (( (ptr) (* (( (ptr) gf_c19688)+64)/* var_c18280 */ ))+39) ); (void) ( *( (fPt) ((* (ptr) pd33 ))))((word) &var_c18344, m_v5092, p_v5120, pd33); }; var_c5164 = var_c18344; /* removed tail goto */ }; (* (W2Pt) formal_c085 ) = var_c5164; return; } static word RotateAboutPoint_P660(origin_v5224, degrees_v5252) W2 origin_v5224; word degrees_v5252; { register ptr gf_c19720 = (ptr) &globalframe; word m_v5296; /* RotateAboutPoint: */ SOURCE(2495, 288) SOURCE(2495, 288) m_v5296 = 0; SOURCE(2609, 60) { W2 var_c18376; { word x34; *(float*)&var_c18376.f0 = - ( x34 = origin_v5224.f0, *(float*)&x34 ); }; { word x35; *(float*)&var_c18376.f1 = - ( x35 = origin_v5224.f1, *(float*)&x35 ); }; { word pd36; pd36 = (* (( (ptr) (* (( (ptr) gf_c19720)+64)/* var_c18280 */ ))+10) ); m_v5296 = (word) ( *( (fPt) ((* (ptr) pd36 ))))(var_c18376, pd36); }; }; SOURCE(2671, 47) { word pd37; pd37 = (* (( (ptr) (* (( (ptr) gf_c19720)+64)/* var_c18280 */ ))+21) ); m_v5296 = (word) ( *( (fPt) ((* (ptr) pd37 ))))(m_v5296, degrees_v5252, pd37); }; SOURCE(2720, 63) { W2 var_c18408; var_c18408.f0 = origin_v5224.f0; var_c18408.f1 = origin_v5224.f1; { word pd38; pd38 = (* (( (ptr) (* (( (ptr) gf_c19720)+64)/* var_c18280 */ ))+22) ); m_v5296 = (word) ( *( (fPt) ((* (ptr) pd38 ))))(m_v5296, var_c18408, pd38); }; }; SOURCE(2495, 288) return(m_v5296); } static word ScaleAboutPoint_P720(origin_v5356, scalar_v5384) W2 origin_v5356; word scalar_v5384; { register ptr gf_c19752 = (ptr) &globalframe; word m_v5428; /* ScaleAboutPoint: */ SOURCE(2789, 284) SOURCE(2789, 284) m_v5428 = 0; SOURCE(2901, 60) { W2 var_c18440; { word x39; *(float*)&var_c18440.f0 = - ( x39 = origin_v5356.f0, *(float*)&x39 ); }; { word x40; *(float*)&var_c18440.f1 = - ( x40 = origin_v5356.f1, *(float*)&x40 ); }; { word pd41; pd41 = (* (( (ptr) (* (( (ptr) gf_c19752)+64)/* var_c18280 */ ))+10) ); m_v5428 = (word) ( *( (fPt) ((* (ptr) pd41 ))))(var_c18440, pd41); }; }; SOURCE(2963, 45) { word pd42; pd42 = (* (( (ptr) (* (( (ptr) gf_c19752)+64)/* var_c18280 */ ))+19) ); m_v5428 = (word) ( *( (fPt) ((* (ptr) pd42 ))))(m_v5428, scalar_v5384, pd42); }; SOURCE(3010, 63) { W2 var_c18472; var_c18472.f0 = origin_v5356.f0; var_c18472.f1 = origin_v5356.f1; { word pd43; pd43 = (* (( (ptr) (* (( (ptr) gf_c19752)+64)/* var_c18280 */ ))+22) ); m_v5428 = (word) ( *( (fPt) ((* (ptr) pd43 ))))(m_v5428, var_c18472, pd43); }; }; SOURCE(2789, 284) return(m_v5428); } static word ScaleUnevenAboutPoint_P780(origin_v5488, scalarX_v5516, scalarY_v5544) W2 origin_v5488; word scalarX_v5516; word scalarY_v5544; { register ptr gf_c19784 = (ptr) &globalframe; word m_v5588; /* ScaleUnevenAboutPoint: */ SOURCE(3079, 319) SOURCE(3079, 319) m_v5588 = 0; SOURCE(3213, 60) { W2 var_c18504; { word x44; *(float*)&var_c18504.f0 = - ( x44 = origin_v5488.f0, *(float*)&x44 ); }; { word x45; *(float*)&var_c18504.f1 = - ( x45 = origin_v5488.f1, *(float*)&x45 ); }; { word pd46; pd46 = (* (( (ptr) (* (( (ptr) gf_c19784)+64)/* var_c18280 */ ))+10) ); m_v5588 = (word) ( *( (fPt) ((* (ptr) pd46 ))))(var_c18504, pd46); }; }; SOURCE(3275, 58) { W2 var_c18536; var_c18536.f0 = scalarX_v5516; var_c18536.f1 = scalarY_v5544; { word pd47; pd47 = (* (( (ptr) (* (( (ptr) gf_c19784)+64)/* var_c18280 */ ))+20) ); m_v5588 = (word) ( *( (fPt) ((* (ptr) pd47 ))))(m_v5588, var_c18536, pd47); }; }; SOURCE(3335, 63) { W2 var_c18568; var_c18568.f0 = origin_v5488.f0; var_c18568.f1 = origin_v5488.f1; { word pd48; pd48 = (* (( (ptr) (* (( (ptr) gf_c19784)+64)/* var_c18280 */ ))+22) ); m_v5588 = (word) ( *( (fPt) ((* (ptr) pd48 ))))(m_v5588, var_c18568, pd48); }; }; SOURCE(3079, 319) return(m_v5588); } static word SixPoints_P840(pts_v5648) W12 pts_v5648; { register ptr gf_c19816 = (ptr) &globalframe; word transform_v5728; W8 dpts_v9572; word a_v9600; word b_v9628; word d_v9656; word e_v9684; word del_v9712; word xform_v9740 = 0; /* SixPoints: */ SOURCE(3403, 976) SOURCE(3403, 976) transform_v5728 = 0; SOURCE(3613, 29) { word x49; word x50; *(float*)&dpts_v9572.f0 = ( x49 = (* (( (ptr) &pts_v5648)+2) ), *(float*)&x49 ) - ( x50 = (* (ptr) &pts_v5648 ), *(float*)&x50 ); }; SOURCE(3644, 29) { word x51; word x52; *(float*)&dpts_v9572.f1 = ( x51 = (* (( (ptr) &pts_v5648)+3) ), *(float*)&x51 ) - ( x52 = (* (( (ptr) &pts_v5648)+1) ), *(float*)&x52 ); }; SOURCE(3675, 29) { word x53; word x54; *(float*)&dpts_v9572.f2 = ( x53 = (* (( (ptr) &pts_v5648)+4) ), *(float*)&x53 ) - ( x54 = (* (ptr) &pts_v5648 ), *(float*)&x54 ); }; SOURCE(3706, 29) { word x55; word x56; *(float*)&dpts_v9572.f3 = ( x55 = (* (( (ptr) &pts_v5648)+5) ), *(float*)&x55 ) - ( x56 = (* (( (ptr) &pts_v5648)+1) ), *(float*)&x56 ); }; SOURCE(3738, 29) { word x57; word x58; *(float*)&dpts_v9572.f4 = ( x57 = (* (( (ptr) &pts_v5648)+8) ), *(float*)&x57 ) - ( x58 = (* (( (ptr) &pts_v5648)+6) ), *(float*)&x58 ); }; SOURCE(3769, 29) { word x59; word x60; *(float*)&dpts_v9572.f5 = ( x59 = (* (( (ptr) &pts_v5648)+9) ), *(float*)&x59 ) - ( x60 = (* (( (ptr) &pts_v5648)+7) ), *(float*)&x60 ); }; SOURCE(3800, 29) { word x61; word x62; *(float*)&dpts_v9572.f6 = ( x61 = (* (( (ptr) &pts_v5648)+10) ), *(float*)&x61 ) - ( x62 = (* (( (ptr) &pts_v5648)+6) ), *(float*)&x62 ); }; SOURCE(3831, 29) { word x63; word x64; *(float*)&dpts_v9572.f7 = ( x63 = (* (( (ptr) &pts_v5648)+11) ), *(float*)&x63 ) - ( x64 = (* (( (ptr) &pts_v5648)+7) ), *(float*)&x64 ); }; SOURCE(3862, 45) { word x65; word x66; word x67; word x68; *(float*)&del_v9712 = (( x65 = dpts_v9572.f0, *(float*)&x65 ) * ( x66 = dpts_v9572.f3, *(float*)&x66 )) - (( x67 = dpts_v9572.f2, *(float*)&x67 ) * ( x68 = dpts_v9572.f1, *(float*)&x68 )); }; SOURCE(3909, 14) { word x69; word x70; if ((( x69 = del_v9712, *(float*)&x69 ) == ( x70 = (* (ptr) &fc24 ), *(float*)&x70 ))) { SOURCE(3923, 5) (void) XR_RaiseUnnamedError(); }; }; SOURCE(3930, 49) { word x71; word x72; word x73; word x74; word x75; *(float*)&a_v9600 = ((( x71 = dpts_v9572.f4, *(float*)&x71 ) * ( x72 = dpts_v9572.f3, *(float*)&x72 )) - (( x73 = dpts_v9572.f6, *(float*)&x73 ) * ( x74 = dpts_v9572.f1, *(float*)&x74 ))) / ( x75 = del_v9712, *(float*)&x75 ); }; SOURCE(3981, 49) { word x76; word x77; word x78; word x79; word x80; *(float*)&b_v9628 = ((( x76 = dpts_v9572.f0, *(float*)&x76 ) * ( x77 = dpts_v9572.f6, *(float*)&x77 )) - (( x78 = dpts_v9572.f2, *(float*)&x78 ) * ( x79 = dpts_v9572.f4, *(float*)&x79 ))) / ( x80 = del_v9712, *(float*)&x80 ); }; SOURCE(4032, 49) { word x81; word x82; word x83; word x84; word x85; *(float*)&d_v9656 = ((( x81 = dpts_v9572.f5, *(float*)&x81 ) * ( x82 = dpts_v9572.f3, *(float*)&x82 )) - (( x83 = dpts_v9572.f7, *(float*)&x83 ) * ( x84 = dpts_v9572.f1, *(float*)&x84 ))) / ( x85 = del_v9712, *(float*)&x85 ); }; SOURCE(4083, 49) { word x86; word x87; word x88; word x89; word x90; *(float*)&e_v9684 = ((( x86 = dpts_v9572.f0, *(float*)&x86 ) * ( x87 = dpts_v9572.f7, *(float*)&x87 )) - (( x88 = dpts_v9572.f2, *(float*)&x88 ) * ( x89 = dpts_v9572.f5, *(float*)&x89 ))) / ( x90 = del_v9712, *(float*)&x90 ); }; SOURCE(4134, 71) { word pd91; pd91 = (* (( (ptr) (* (( (ptr) gf_c19816)+64)/* var_c18280 */ ))+4) ); xform_v9740 = (word) ( *( (fPt) ((* (ptr) pd91 ))))(a_v9600, b_v9628, (* (ptr) &fc24 ), d_v9656, e_v9684, (* (ptr) &fc24 ), pd91) ; }; SOURCE(4207, 77) { W2 var_c18600; var_c18600.f0 = (* (( (ptr) &pts_v5648)+6) ); var_c18600.f1 = (* (( (ptr) &pts_v5648)+7) ); { word pd92; pd92 = (* (( (ptr) (* (( (ptr) gf_c19816)+64)/* var_c18280 */ ))+22) ); xform_v9740 = (word) ( *( (fPt) ((* (ptr) pd92 ))))(xform_v9740, var_c18600, pd92); }; }; SOURCE(4286, 78) { W2 var_c18632; { word x93; *(float*)&var_c18632.f0 = - ( x93 = (* (ptr) &pts_v5648 ), *(float*)&x93 ); }; { word x94; *(float*)&var_c18632.f1 = - ( x94 = (* (( (ptr) &pts_v5648)+1) ), *(float*)&x94 ); }; { word pd95; pd95 = (* (( (ptr) (* (( (ptr) gf_c19816)+64)/* var_c18280 */ ))+18) ); xform_v9740 = (word) ( *( (fPt) ((* (ptr) pd95 ))))(xform_v9740, var_c18632, pd95); }; }; SOURCE(4366, 13) return(xform_v9740); } static word FourPoints_P900(pts_v5788) W8 pts_v5788; { register ptr gf_c19848 = (ptr) &globalframe; word transform_v5868; word xform_v9820 = 0; word a_v9848; word b_v9876; word d_v9904; word e_v9932; word x1_v9960; word x2_v9988; word y1_v10016; word y2_v10044; word del_v10072; /* FourPoints: */ SOURCE(4385, 645) SOURCE(4385, 645) transform_v5868 = 0; SOURCE(4556, 28) { word x96; word x97; *(float*)&x1_v9960 = ( x96 = pts_v5788.f2, *(float*)&x96 ) - ( x97 = pts_v5788.f0, *(float*)&x97 ); }; SOURCE(4586, 28) { word x98; word x99; *(float*)&x2_v9988 = ( x98 = pts_v5788.f6, *(float*)&x98 ) - ( x99 = pts_v5788.f4, *(float*)&x99 ); }; SOURCE(4616, 28) { word x100; word x101; *(float*)&y1_v10016 = ( x100 = pts_v5788.f3, *(float*)&x100 ) - ( x101 = pts_v5788.f1, *(float*)&x101 ); }; SOURCE(4646, 28) { word x102; word x103; *(float*)&y2_v10044 = ( x102 = pts_v5788.f7, *(float*)&x102 ) - ( x103 = pts_v5788.f5, *(float*)&x103 ); }; SOURCE(4676, 23) { word x104; word x105; word x106; word x107; *(float*)&del_v10072 = (( x104 = x1_v9960, *(float*)&x104 ) * ( x105 = x1_v9960, *(float*)&x105 )) + (( x106 = y1_v10016, *(float*)&x106 ) * ( x107 = y1_v10016, *(float*)&x107 )); }; SOURCE(4701, 14) { word x108; word x109; if ((( x108 = del_v10072, *(float*)&x108 ) == ( x109 = (* (ptr) &fc24 ), *(float*)&x109 ))) { SOURCE(4715, 5) (void) XR_RaiseUnnamedError(); }; }; SOURCE(4722, 21) { word x110; word x111; word x112; word x113; word x114; *(float*)&a_v9848 = ((( x110 = x1_v9960, *(float*)&x110 ) * ( x111 = x2_v9988, *(float*)&x111 )) + (( x112 = y1_v10016, *(float*)&x112 ) * ( x113 = y2_v10044, *(float*)&x113 ))) / ( x114 = del_v10072, *(float*)&x114 ); }; SOURCE(4745, 5) e_v9932 = a_v9848; SOURCE(4752, 21) { word x115; word x116; word x117; word x118; word x119; *(float*)&d_v9904 = ((( x115 = x1_v9960, *(float*)&x115 ) * ( x116 = y2_v10044, *(float*)&x116 )) - (( x117 = y1_v10016, *(float*)&x117 ) * ( x118 = x2_v9988, *(float*)&x118 ))) / ( x119 = del_v10072, *(float*)&x119 ); }; SOURCE(4775, 7) { word x120; *(float*)&b_v9876 = - ( x120 = d_v9904, *(float*)&x120 ); }; SOURCE(4784, 71) { word pd121; pd121 = (* (( (ptr) (* (( (ptr) gf_c19848)+64)/* var_c18280 */ ))+4) ); xform_v9820 = (word) ( *( (fPt) ((* (ptr) pd121 ))))(a_v9848, b_v9876, (* (ptr) &fc24 ), d_v9904, e_v9932, (* (ptr) &fc24 ), pd121) ; }; SOURCE(4857, 77) { W2 var_c18664; var_c18664.f0 = pts_v5788.f4; var_c18664.f1 = pts_v5788.f5; { word pd122; pd122 = (* (( (ptr) (* (( (ptr) gf_c19848)+64)/* var_c18280 */ ))+22) ); xform_v9820 = (word) ( *( (fPt) ((* (ptr) pd122 ))))(xform_v9820, var_c18664, pd122); }; }; SOURCE(4936, 78) { W2 var_c18696; { word x123; *(float*)&var_c18696.f0 = - ( x123 = pts_v5788.f0, *(float*)&x123 ); }; { word x124; *(float*)&var_c18696.f1 = - ( x124 = pts_v5788.f1, *(float*)&x124 ); }; { word pd125; pd125 = (* (( (ptr) (* (( (ptr) gf_c19848)+64)/* var_c18280 */ ))+18) ); xform_v9820 = (word) ( *( (fPt) ((* (ptr) pd125 ))))(xform_v9820, var_c18696, pd125); }; }; SOURCE(5016, 14) return(xform_v9820); } static void StartSliceList_P960(formal_c0130) word formal_c0130; { word entityList_v5928; word ptr_v5956; /* StartSliceList: */ SOURCE(5033, 98) SOURCE(5033, 98) entityList_v5928 = 0; SOURCE(5033, 98) ptr_v5956 = 0; SOURCE(5109, 22) entityList_v5928 = 0; ptr_v5956 = 0; /* removed tail goto */ (* (ptr) formal_c0130 ) = entityList_v5928; (* (( (ptr) formal_c0130)+1) ) = ptr_v5956; return; } static void AddSlice_P1020(formal_c0139, entity_v6100, entityList_v6128, ptr_v6156) word formal_c0139; word entity_v6100; word entityList_v6128; word ptr_v6156; { register ptr gf_c19880 = (ptr) &globalframe; word newList_v6284; word newPtr_v6312; /* AddSlice: */ SOURCE(5137, 295) SOURCE(5137, 295) newList_v6284 = 0; SOURCE(5137, 295) newPtr_v6312 = 0; SOURCE(5252, 180) if ((ptr_v6156 == 0)) { SOURCE(5272, 29) if ((entityList_v6128 != 0)) { SOURCE(5301, 5) (void) XR_RaiseUnnamedError(); }; SOURCE(5308, 36) { word var_c18728; { word var_c18760; var_c18760 = XR_NewObject(8, (* (( (ptr) gf_c19880)+4) )); (* (ptr) var_c18760 ) = entity_v6100; var_c18728 = var_c18760; }; newList_v6284 = var_c18728; newPtr_v6312 = var_c18728; }; SOURCE(5346, 6) goto lab_L100002; } else { SOURCE(5363, 20) newList_v6284 = entityList_v6128; SOURCE(5385, 28) { word var_c18792; var_c18792 = XR_NewObject(8, (* (( (ptr) gf_c19880)+4) )); (* (ptr) var_c18792 ) = entity_v6100; (* (( (ptr) ptr_v6156)+1) ) = var_c18792; }; SOURCE(5415, 17) newPtr_v6312 = (* (( (ptr) ptr_v6156)+1) ); }; /* removed tail goto */ lab_L100002: ; (* (ptr) formal_c0139 ) = newList_v6284; (* (( (ptr) formal_c0139)+1) ) = newPtr_v6312; return; } static word AppendSliceList_P1080(list1_v6456, list2_v6484) word list1_v6456; word list2_v6484; { register ptr gf_c19912 = (ptr) &globalframe; word result_v6612; word pos_v10116 = 0; word newCell_v10144 = 0; /* AppendSliceList: */ SOURCE(5441, 371) SOURCE(5441, 371) result_v6612 = 0; SOURCE(5580, 33) if ((list1_v6456 == 0)) { SOURCE(5600, 13) return(list2_v6484); }; SOURCE(5615, 31) { word var_c18824; var_c18824 = XR_NewObject(8, (* (( (ptr) gf_c19912)+4) )); (* (ptr) var_c18824 ) = (* (ptr) list1_v6456 ); result_v6612 = var_c18824; }; SOURCE(5648, 12) pos_v10116 = result_v6612; SOURCE(5662, 122) { register word l_v10356; l_v10356 = (* (( (ptr) list1_v6456)+1) ); lab_L100006: ; if ((l_v10356 != 0)) { } else { goto lab_L100003; }; SOURCE(5721, 28) { word var_c18856; var_c18856 = XR_NewObject(8, (* (( (ptr) gf_c19912)+4) )); (* (ptr) var_c18856 ) = (* (ptr) l_v10356 ); newCell_v10144 = var_c18856; }; SOURCE(5751, 18) (* (( (ptr) pos_v10116)+1) ) = newCell_v10144; SOURCE(5771, 13) pos_v10116 = newCell_v10144; l_v10356 = (* (( (ptr) l_v10356)+1) ); goto lab_L100006; lab_L100003: ; }; SOURCE(5795, 17) (* (( (ptr) pos_v10116)+1) ) = list2_v6484; SOURCE(5441, 371) return(result_v6612); } static word DeleteSliceFromList_P1140(slice_v6756, sliceList_v6784) word slice_v6756; word sliceList_v6784; { word smallerList_v6912; word beforeEnt_v10484 = 0; word ent_v10512 = 0; word afterEnt_v10540 = 0; word found_v10568 = 0; /* DeleteSliceFromList: */ SOURCE(5818, 395) SOURCE(5818, 395) smallerList_v6912 = 0; SOURCE(5995, 75) { W4 var_c18888; (void) FindSliceAndNeighbors_P1200((word) &var_c18888, slice_v6756, sliceList_v6784); found_v10568 = var_c18888.f3; afterEnt_v10540 = var_c18888.f2; ent_v10512 = var_c18888.f1; beforeEnt_v10484 = var_c18888.f0; }; SOURCE(6072, 35) if ((0 == found_v10568)) { SOURCE(6090, 17) return(sliceList_v6784); }; SOURCE(6109, 104) if ((beforeEnt_v10484 == 0)) { SOURCE(6133, 28) smallerList_v6912 = afterEnt_v10540; } else { SOURCE(6163, 25) (* (( (ptr) beforeEnt_v10484)+1) ) = afterEnt_v10540; SOURCE(6190, 23) smallerList_v6912 = sliceList_v6784; }; SOURCE(5818, 395) return(smallerList_v6912); } static void FindSliceAndNeighbors_P1200(formal_c0165, slice_v7056, sliceList_v7084) word formal_c0165; word slice_v7056; word sliceList_v7084; { word beforeEnt_v7212; word ent_v7240; word afterEnt_v7268; word found_v7296; word lastE_v10696 = 0; word eList_v10724; /* FindSliceAndNeighbors: */ SOURCE(6222, 427) SOURCE(6222, 427) beforeEnt_v7212 = 0; SOURCE(6222, 427) ent_v7240 = 0; SOURCE(6222, 427) afterEnt_v7268 = 0; SOURCE(6222, 427) found_v7296 = 0; SOURCE(6401, 7) eList_v10724 = sliceList_v7084; SOURCE(6435, 48) if ((eList_v10724 == 0)) { SOURCE(6455, 28) beforeEnt_v7212 = 0; ent_v7240 = 0; afterEnt_v7268 = 0; found_v7296 = 0; goto lab_L100007; }; SOURCE(6485, 164) lab_L100010: ; if ((eList_v10724 != 0)) { } else { goto lab_L100008; }; SOURCE(6506, 105) if (((* (ptr) eList_v10724 ) == slice_v7056)) { SOURCE(6536, 17) beforeEnt_v7212 = lastE_v10696; SOURCE(6555, 11) ent_v7240 = eList_v10724; SOURCE(6568, 21) afterEnt_v7268 = (* (( (ptr) eList_v10724)+1) ); SOURCE(6591, 12) found_v7296 = 1; SOURCE(6605, 6) goto lab_L100007; }; SOURCE(6616, 13) lastE_v10696 = eList_v10724; SOURCE(6631, 18) eList_v10724 = (* (( (ptr) eList_v10724)+1) ); goto lab_L100010; lab_L100008: ; /* removed tail goto */ lab_L100007: ; (* (ptr) formal_c0165 ) = beforeEnt_v7212; (* (( (ptr) formal_c0165)+1) ) = ent_v7240; (* (( (ptr) formal_c0165)+2) ) = afterEnt_v7268; (* (( (ptr) formal_c0165)+3) ) = found_v7296; return; } static word CopySliceList_P1260(sliceList_v7440) word sliceList_v7440; { register ptr gf_c19944 = (ptr) &globalframe; word copyList_v7568; word z_v10936 = 0; /* CopySliceList: */ SOURCE(6664, 297) SOURCE(6664, 297) copyList_v7568 = 0; SOURCE(6780, 35) if ((sliceList_v7440 == 0)) { SOURCE(6804, 11) return(0); }; SOURCE(6817, 37) { word var_c18920; var_c18920 = XR_NewObject(8, (* (( (ptr) gf_c19944)+4) )); (* (ptr) var_c18920 ) = (* (ptr) sliceList_v7440 ); copyList_v7568 = var_c18920; }; SOURCE(6856, 12) z_v10936 = copyList_v7568; SOURCE(6870, 91) lab_L100013: ; sliceList_v7440 = (* (( (ptr) sliceList_v7440)+1) ); if ((sliceList_v7440 != 0)) { } else { goto lab_L100011; }; SOURCE(6914, 35) { word var_c18952; var_c18952 = XR_NewObject(8, (* (( (ptr) gf_c19944)+4) )); (* (ptr) var_c18952 ) = (* (ptr) sliceList_v7440 ); (* (( (ptr) z_v10936)+1) ) = var_c18952; }; SOURCE(6951, 10) z_v10936 = (* (( (ptr) z_v10936)+1) ); goto lab_L100013; lab_L100011: ; SOURCE(6664, 297) return(copyList_v7568); } static word SortSliceList_P1320(list_v7712, formal_c0246) word list_v7712; word formal_c0246; { W7 var_c19976; /* declaration of compareProc_v7740 skipped */ word var_c7868; /* declaration of var_c18984 skipped */ var_c19976.f4/* compareProc_v7740 */ = formal_c0246; /* SortSliceList: */ SOURCE(7067, 956) { word tmpAddr126; tmpAddr126 = (word) (( (ptr) &var_c19976)+5)/* var_c18984 */ ; (* (ptr) tmpAddr126 ) = ( ((word) (fPt) InnerSort_P1728) ); (* (( (ptr) tmpAddr126) + 1) ) = 1; }; SOURCE(7938, 51) if ((list_v7712 == 0) || ((* (( (ptr) list_v7712)+1) ) == 0)) { SOURCE(7976, 13) return(list_v7712); }; SOURCE(7991, 32) { word var_c0241; W2 var_c0175; (void) InnerSort_P1728((word) &var_c0175, list_v7712, 32, (word) (( (bPt) &var_c19976)+20)/* var_c18984 */ ); var_c0241 = var_c0175.f0; return(var_c0241); }; } static void InnerSort_P1728(formal_c0186, head_v11140, max_v11168, formal_c20008) word formal_c0186; word head_v11140; word max_v11168; word formal_c20008; { word new_v11296; word next_v11324; word mid_v11436 = 0; formal_c20008 = (formal_c20008 - 20); /* InnerSort: */ SOURCE(7176, 748) SOURCE(7176, 748) new_v11296 = 0; SOURCE(7176, 748) next_v11324 = 0; SOURCE(7283, 10) new_v11296 = head_v11140; SOURCE(7295, 15) mid_v11436 = (* (( (ptr) head_v11140)+1) ); SOURCE(7312, 24) if ((mid_v11436 == 0)) { SOURCE(7330, 6) goto lab_L100014; }; SOURCE(7338, 15) next_v11324 = (* (( (ptr) mid_v11436)+1) ); SOURCE(7355, 91) { word pd127; pd127 = (* (( (ptr) formal_c20008)+4) ); if (((word) ( *( (fPt) ((* (ptr) pd127 ))))((* (ptr) new_v11296 ), (* (ptr) mid_v11436 ), pd127) == 2)) { SOURCE(7409, 14) (* (( (ptr) mid_v11436)+1) ) = new_v11296; SOURCE(7425, 9) new_v11296 = mid_v11436; SOURCE(7436, 10) mid_v11436 = head_v11140; }; }; SOURCE(7451, 14) (* (( (ptr) mid_v11436)+1) ) = 0; SOURCE(7467, 25) if ((next_v11324 == 0)) { SOURCE(7486, 6) goto lab_L100014; }; SOURCE(7495, 10) mid_v11436 = next_v11324; SOURCE(7507, 16) next_v11324 = (* (( (ptr) next_v11324)+1) ); SOURCE(7525, 182) if ((next_v11324 != 0)) { SOURCE(7544, 165) { word temp_v11564; SOURCE(7546, 6) temp_v11564 = next_v11324; SOURCE(7574, 16) next_v11324 = (* (( (ptr) temp_v11564)+1) ); SOURCE(7592, 15) (* (( (ptr) temp_v11564)+1) ) = 0; SOURCE(7609, 98) { word pd128; pd128 = (* (( (ptr) formal_c20008)+4) ); if (((word) ( *( (fPt) ((* (ptr) pd128 ))))((* (ptr) mid_v11436 ), (* (ptr) temp_v11564 ), pd128) == 2)) { SOURCE(7664, 14) (* (( (ptr) mid_v11436)+1) ) = 0; SOURCE(7680, 15) (* (( (ptr) temp_v11564)+1) ) = mid_v11436; SOURCE(7697, 10) mid_v11436 = temp_v11564; }; }; }; }; SOURCE(7713, 43) new_v11296 = (word) SliceListMerge_P1500(new_v11296, mid_v11436, (* (( (ptr) formal_c20008)+4) )); SOURCE(7758, 25) if ((next_v11324 == 0)) { SOURCE(7777, 6) goto lab_L100014; }; SOURCE(7786, 138) { register word depth_v11692 = 2; register word noName_c19048; noName_c19048 = max_v11168; if ((depth_v11692 >= noName_c19048)) { goto lab_L100015; }; lab_L100018: ; SOURCE(7816, 36) { W2 var_c19080; (void) InnerSort_P1728((word) &var_c19080, next_v11324, depth_v11692, (word) (( (bPt) formal_c20008)+20)); next_v11324 = var_c19080.f1; mid_v11436 = var_c19080.f0; }; SOURCE(7854, 43) new_v11296 = (word) SliceListMerge_P1500(new_v11296, mid_v11436, (* (( (ptr) formal_c20008)+4) )); SOURCE(7899, 25) if ((next_v11324 == 0)) { SOURCE(7918, 6) goto lab_L100014; }; depth_v11692 = (depth_v11692 + 1); if ((depth_v11692 < noName_c19048)) { goto lab_L100018; }; lab_L100015: ; }; /* removed tail goto */ lab_L100014: ; (* (ptr) formal_c0186 ) = new_v11296; (* (( (ptr) formal_c0186)+1) ) = next_v11324; return; } static word SortSliceListByPriority_P1380(list_v8012) word list_v8012; { W6 var_c20040; word var_c8140; /* declaration of var_c19112 skipped */ /* SortSliceListByPriority: */ SOURCE(8029, 304) { word tmpAddr129; tmpAddr129 = (word) (( (ptr) &var_c20040)+4)/* var_c19112 */ ; (* (ptr) tmpAddr129 ) = ( ((word) (fPt) CompareProc_P1884) ); (* (( (ptr) tmpAddr129) + 1) ) = 1; }; SOURCE(8293, 40) return((word) SortSliceList_P1320(list_v8012, (word) (( (bPt) &var_c20040)+16)/* var_c19112 */ )); } static word CompareProc_P1884(ref1_v16584, ref2_v16612, formal_c20072) word ref1_v16584; word ref2_v16612; word formal_c20072; { word var_c16656; word priority1_v11780; word priority2_v11808; formal_c20072 = (formal_c20072 - 16); /* CompareProc: */ SOURCE(8116, 172) SOURCE(8187, 25) priority1_v11780 = (* (( (ptr) ref1_v16584)+19) ); SOURCE(8214, 25) priority2_v11808 = (* (( (ptr) ref2_v16612)+19) ); SOURCE(8241, 47) if (( (int)priority1_v11780 == (int)priority2_v11808)) { return(1); } else { if (( (int)priority1_v11780 > (int)priority2_v11808)) { return(2); } else { return(0); }; }; } static word LengthSliceList_P1440(sliceList_v8284) word sliceList_v8284; { word count_v8412; /* LengthSliceList: */ SOURCE(8339, 169) SOURCE(8413, 9) count_v8412 = 0; SOURCE(8424, 84) { register word list_v11852; list_v11852 = sliceList_v8284; lab_L100022: ; if ((list_v11852 != 0)) { } else { goto lab_L100019; }; SOURCE(8491, 17) count_v8412 = (count_v8412 + 1); list_v11852 = (* (( (ptr) list_v11852)+1) ); goto lab_L100022; lab_L100019: ; }; SOURCE(8339, 169) return(count_v8412); } static word SliceListMerge_P1500(a_v8472, b_v8500, compare_v8528) word a_v8472; word b_v8500; word compare_v8528; { word c_v8656; word aPtr_v11980 = 0; word bPtr_v12008 = 0; word cPtr_v12036 = 0; /* SliceListMerge: */ SOURCE(8523, 584) SOURCE(8523, 584) c_v8656 = 0; SOURCE(8673, 8) aPtr_v11980 = a_v8472; SOURCE(8683, 8) bPtr_v12008 = b_v8500; SOURCE(8693, 414) lab_L100025: ; SOURCE(8696, 84) if ((aPtr_v11980 == 0)) { SOURCE(8717, 55) if ((c_v8656 == 0)) { SOURCE(8734, 15) c_v8656 = bPtr_v12008; cPtr_v12036 = bPtr_v12008; } else { SOURCE(8756, 16) (* (( (ptr) cPtr_v12036)+1) ) = bPtr_v12008; }; SOURCE(8774, 6) return(c_v8656); }; SOURCE(8785, 84) if ((bPtr_v12008 == 0)) { SOURCE(8806, 55) if ((c_v8656 == 0)) { SOURCE(8823, 15) c_v8656 = aPtr_v11980; cPtr_v12036 = aPtr_v11980; } else { SOURCE(8845, 16) (* (( (ptr) cPtr_v12036)+1) ) = aPtr_v11980; }; SOURCE(8863, 6) return(c_v8656); }; SOURCE(8874, 233) { word var_c19240; var_c19240 = (word) ( *( (fPt) ((* (ptr) compare_v8528 ))))((* (ptr) aPtr_v11980 ), (* (ptr) bPtr_v12008 ), compare_v8528) ; switch (var_c19240) { case 0: case 1: SOURCE(8935, 46) if ((c_v8656 == 0)) { SOURCE(8951, 14) c_v8656 = aPtr_v11980; } else { SOURCE(8965, 16) (* (( (ptr) cPtr_v12036)+1) ) = aPtr_v11980; }; SOURCE(8983, 11) cPtr_v12036 = aPtr_v11980; SOURCE(8996, 16) aPtr_v11980 = (* (( (ptr) aPtr_v11980)+1) ); break; case 2: SOURCE(9030, 46) if ((c_v8656 == 0)) { SOURCE(9046, 14) c_v8656 = bPtr_v12008; } else { SOURCE(9060, 16) (* (( (ptr) cPtr_v12036)+1) ) = bPtr_v12008; }; SOURCE(9078, 11) cPtr_v12036 = bPtr_v12008; SOURCE(9091, 16) bPtr_v12008 = (* (( (ptr) bPtr_v12008)+1) ); break; default: SOURCE(9124, 5) (void) XR_RaiseUnnamedError(); break; }; }; goto lab_L100025; } static void StartTrajList_P1560(formal_c0210) word formal_c0210; { word entityList_v8800; word ptr_v8828; /* StartTrajList: */ SOURCE(9144, 96) SOURCE(9144, 96) entityList_v8800 = 0; SOURCE(9144, 96) ptr_v8828 = 0; SOURCE(9218, 22) entityList_v8800 = 0; ptr_v8828 = 0; /* removed tail goto */ (* (ptr) formal_c0210 ) = entityList_v8800; (* (( (ptr) formal_c0210)+1) ) = ptr_v8828; return; } static void AddTraj_P1620(formal_c0219, entity_v8972, entityList_v9000, ptr_v9028) word formal_c0219; word entity_v8972; word entityList_v9000; word ptr_v9028; { register ptr gf_c20104 = (ptr) &globalframe; word newList_v9156; word newPtr_v9184; /* AddTraj: */ SOURCE(9246, 291) SOURCE(9246, 291) newList_v9156 = 0; SOURCE(9246, 291) newPtr_v9184 = 0; SOURCE(9357, 180) if ((ptr_v9028 == 0)) { SOURCE(9377, 29) if ((entityList_v9000 != 0)) { SOURCE(9406, 5) (void) XR_RaiseUnnamedError(); }; SOURCE(9413, 36) { word var_c19272; { word var_c19304; var_c19304 = XR_NewObject(8, (* (( (ptr) gf_c20104)+4) )); (* (ptr) var_c19304 ) = entity_v8972; var_c19272 = var_c19304; }; newList_v9156 = var_c19272; newPtr_v9184 = var_c19272; }; SOURCE(9451, 6) goto lab_L100027; } else { SOURCE(9468, 20) newList_v9156 = entityList_v9000; SOURCE(9490, 28) { word var_c19336; var_c19336 = XR_NewObject(8, (* (( (ptr) gf_c20104)+4) )); (* (ptr) var_c19336 ) = entity_v8972; (* (( (ptr) ptr_v9028)+1) ) = var_c19336; }; SOURCE(9520, 17) newPtr_v9184 = (* (( (ptr) ptr_v9028)+1) ); }; /* removed tail goto */ lab_L100027: ; (* (ptr) formal_c0219 ) = newList_v9156; (* (( (ptr) formal_c0219)+1) ) = newPtr_v9184; return; } /* file: GGUtilityImplB, module: GGUtilityImplB, compiled at: February 5, 1993 1:53:39 pm PST */ extern void XR_install_GGUtilityImplB() { NoName_Q2052(); } extern void XR_run_GGUtilityImplB() { XR_Start(&globalframe); }