/* Generated with C2C (Cedar To C)*/ /* Copyright (C) 1993 by Xerox Corporation. All rights reserved. */ /* time: July 13, 1993 1:25:56 pm PDT */ /* C2C version: April 20, 1993 (sun4) */ /* ref-counting: off */ /* file: GGAlignImpl, module: GGAlignImpl */ /* switches: bcfhklnouw */ #include <cedar/InstallationSupport.h> #include <cedar/CedarExtra.h> static char versionStamp[] = "@(#)mob←version [691176395,3997848566] GGAlignImpl"; typedef unsigned word, *ptr; typedef unsigned char byte, *bPt; typedef unsigned short half, *hPt; typedef word (*fPt)(); typedef struct {word f0, f1, f2, f3, f4, f5;} W6; typedef struct {word f0, f1;} W2; typedef struct {word f0, f1, f2, f3, f4, f5, f6;} W7; typedef struct {word f0, f1, f2, f3, f4, f5, f6, f7;} W8; typedef struct {word f0, f1, f2, f3, f4;} W5; typedef struct {W8 f; W2 r;} W10; typedef struct {word f0, f1, f2, f3;} W4; typedef W2 *W2Pt; typedef struct {word f0, f1, f2;} W3; typedef W3 *W3Pt; typedef W5 *W5Pt; typedef struct {W8 f; W8 r;} W16; typedef struct {W16 f; word r;} W17; typedef struct {W8 f; W7 r;} W15; typedef struct {W8 f; W4 r;} W12; typedef struct {W8 f; word r;} W9; typedef struct {W8 f; W6 r;} W14; typedef W4 *W4Pt; #define SOURCE(p, l) /* source p, l */ static float fc115 = 0.0; #define MIN(cast, x, y) ( ( cast x) < ( cast y) ? (x) : (y) ) #define MAX(cast, x, y) ( ( cast x) > ( cast y) ? (x) : (y) ) static float fc133 = 1.0e+3; #define BCK(idx, lim) ( ((unsigned) idx) >= ((unsigned) lim) ? (XR←RaiseBoundsFault()) : (idx) ) static float fc145 = 1.0e-3; #define FABS(f, t) ( ((t=(f)) >= (float) 0.0) ? (t) : (- (t)) ) static float fc246 = 72.0; static float fc308 = 90.0; static float fc345 = 1.0; static void NoName←Q9648(); static void GGAlignImpl←P0(); static word CreateTriggerBag←P60(); static void FlushTriggerBag←P120(); static word EmptyTriggerBag←P180(); static word EmptyTriggerSlices←P240(); static word SliceFeatureFound←P5460(); static void CopyTriggerBag←P300(); static void CopyTriggerSlices←P360(); static word CopySliceFeatures←P5520(); static void WalkSliceTriggers←P420(); static word DoForTrigger←P5580(); static word ListSliceTriggers←P480(); static word DoMakeList←P5688(); static word FindFeature←P540(); static void ReplaceFeature←P600(); static void DeleteFeature←P660(); static void AppendFeature←P720(); static word FeatureFromSlice←P780(); static word FeatureFromAnchor←P840(); static void FillStaticTriggerBag←P900(); static void FillDynamicTriggerBag←P960(); static void FillStaticSceneBag←P1020(); static void FillDynamicSceneBag←P1080(); static word CreateAlignBag←P1140(); static void CopyAlignBag←P1200(); static word EmptyAlignBag←P1260(); static void CopySlopeLineTable←P1320(); static word CopyFeatures←P5988(); static word EmptySlopeLines←P1380(); static word FeatureFound←P6048(); static void FlushAlignBag←P1440(); static void TriggersPerSlopeLine←P1500(); static word Count←P6108(); static void FlushSlopeLines←P1560(); static void FillStaticAlignBag←P1620(); static void FillDynamicAlignBag←P1680(); static void AddAlignment←P1740(); static void AddSlopeLine←P1800(); static word JointAddSlopeLine←P1860(); static void WalkSlopeLines←P1920(); static word WalkAction←P6456(); static word ListOfSlopeLines←P1980(); static word ConsSlopeLine←P6564(); static void KeysFromDistance←P2040(); static word KeyFromDistance←P2100(); static void LineThru←P2160(); static word JointAddCircle←P2220(); static word SameCircle←P2280(); static void DistanceFromOrigin←P2340(); static void SegmentAddTwoAngleLines←P2400(); static void SegmentAddDistanceLines←P2460(); static void SetStaticBags←P2520(); static void SetStaticTriggerAndAlignBags←P2580(); static void SetDynamicBags←P2640(); static void StaticToDynamicBags←P2700(); static void DynamicToStaticBags←P2760(); static void SwapOldAndNewAlignBags←P2820(); static void SwapOldAndNewTriggerBags←P2880(); static void SwapOldAndNewSceneBags←P2940(); static word UpdateBagsForAdd←P3000(); static void UpdateBagsForNewSlices←P3060(); static void AddAnchorTrigger←P3120(); static void AddAllHotSlices←P3180(); static word AddHotToTriggerBag←P7248(); static void AddHeuristics←P3240(); static word AddToTriggerBag←P7356(); static word StationaryParts←P3300(); static void StationaryTriggerParts←P3360(); static word RemoveMoving←P3420(); static word DoRemoveMoving←P7464(); static word EmptyFilterLists←P3480(); static word FilterListsFromFilter←P3540(); static void BuiltInFilters←P3600(); static word DoPointFireRule←P7620(); static word DoForSlice←P7680(); static word CreateAnchorTrigger←P3660(); static word AddSliceFeature←P3720(); static word IncrementalFilterSlice←P3780(); static word SplineInPointFeatures←P7788(); static word IncrementalNewTrigger←P3840(); static word IncrementalNewFilter←P3900(); static word DoPointFireRule←P8088(); static word DoForSlice←P8148(); static void RemoveAnchorTrigger←P3960(); static word RemoveEntireHotSlice←P4020(); static void AddFeature←P4080(); static void AddAllSlices←P4140(); static word DoAddSlice←P8400(); static void AddAnchorObject←P4200(); static word PointFireRule←P4260(); static word SegmentFireRule←P4320(); static word AnchorFireRule←P4380(); static word SomeSelectedIsHot←P4440(); static word FindHot←P8796(); static void FindOldSlice←P4500(); static word RemoveFeatureFromList←P4560(); static void CreateLineTable←P4620(); static word LineIsPresent←P4680(); static void TableStatistics←P4740(); static word Count←P8952(); static word CopyLineList←P4800(); static void SaveLineTable←P4860(); static word CopyLines←P9060(); static void RestoreLineTable←P4920(); static void FlushLineTable←P4980(); static word CardFromLine←P5040(); static void AddLineToTable←P5100(); static void DrawFeatureList←P5160(); static void DrawLineAux←P9120(); static void DrawCircleAux←P9180(); static word HasVisibleObjects←P5220(); static void DrawAlignBagRegardless←P5280(); static void MakeFiltersGarbage←P5340(); static void UnlinkBag←P9480(); static word DoUnLink←P9540(); static void Init←P5400(); static struct {unsigned f; char r[16];} string1 = {851984, "\257\300\223\145\303\043\300\372\023\025\003\101\050\000\000"}; static struct {unsigned f; char r[4];} string2 = {131074, "\004\003\000"}; static struct {unsigned f; char r[48];} string3 = {2883632, "\260\006\005\146\151\162\163\164\216\257\300\247\365\203\234\300\047\265\225\046\107\270\005\004\162\145\163\164\214\216\257\300\247\365\203\234\300\047\265\225\046\107\270\261\000\000\000"}; static struct {unsigned f; char r[16];} string4 = {851984, "\257\300\247\365\203\234\300\047\265\225\046\100\310\000\000"}; static struct {unsigned f; char r[16];} string5 = {851984, "\257\300\247\365\203\234\300\047\265\225\046\107\270\000\000"}; static struct {unsigned f; char r[4];} string6 = {131074, "\003\001\000"}; static struct {unsigned f; char r[4];} string7 = {131076, "\216\251\000"}; static struct {unsigned f; char r[4];} string8 = {65537, "\001\000\000"}; static struct {unsigned f; char r[16];} string9 = {851984, "\257\300\241\203\324\306\300\306\173\161\152\100\200\000\000"}; static struct {unsigned f; char r[16];} string10 = {851984, "\257\300\223\145\303\043\300\372\023\025\003\101\064\000\000"}; static struct {unsigned f; char r[4];} string11 = {131074, "\004\037\000"}; static struct {unsigned f; char r[16];} string12 = {851984, "\257\300\223\145\303\043\300\372\023\025\003\101\144\000\000"}; static struct {unsigned f; char r[4];} string13 = {131074, "\004\005\000"}; static struct {unsigned f; char r[16];} string14 = {917520, "\216\257\300\363\223\326\161\300\017\164\046\072\104\350\000"}; static struct {unsigned f; char r[48];} string15 = {2883632, "\260\006\005\146\151\162\163\164\216\257\300\241\203\324\306\300\306\173\161\152\100\200\005\004\162\145\163\164\214\216\257\300\241\203\324\306\300\306\173\161\152\100\200\261\000\000\000"}; static struct {unsigned f; char r[44];} string16 = {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];} string17 = {131074, "\003\002\000"}; static struct {unsigned f; char r[16];} string18 = {851984, "\257\300\223\145\303\043\300\372\023\025\003\101\174\000\000"}; static struct {unsigned f; char r[16];} string19 = {851984, "\257\300\223\145\303\043\300\372\023\025\003\100\370\000\000"}; static struct {unsigned f; char r[4];} string20 = {196611, "\004@`"}; static struct {unsigned f; char r[20];} string21 = {1179668, "\260\006\005\146\151\162\163\164\256\005\004\162\145\163\164\214\256\261\000"}; static struct {unsigned f; char r[16];} string22 = {851984, "\257\300\314\006\055\020\300\004\067\017\043\100\164\000\000"}; static struct {unsigned f; char r[4];} string23 = {131074, "\004\017\000"}; static struct {unsigned f; char r[48];} string24 = {2883632, "\260\006\005\146\151\162\163\164\216\257\300\247\365\203\234\300\047\265\225\046\100\310\005\004\162\145\163\164\214\216\257\300\247\365\203\234\300\047\265\225\046\100\310\261\000\000\000"}; static struct {unsigned f; char r[16];} string25 = {851984, "\257\300\247\365\203\234\300\047\265\225\046\106\354\000\000"}; static struct {unsigned f; char r[8];} string26 = {262148, "\004\200@\034\000\000\000"}; static struct {unsigned f; char r[8];} string27 = {262152, "Traj\000\000\000"}; static struct {unsigned f; char r[20];} string28 = {1245204, "DynamicToStaticBags"}; static struct {unsigned f; char r[20];} string29 = {1245204, "StaticToDynamicBags"}; static struct {unsigned f; char r[12];} string30 = {524300, "CaretPos\000\000\000"}; static struct {unsigned f; char r[16];} string31 = {917520, "SetDynamicBags\000"}; static struct {unsigned f; char r[12];} string32 = {524300, "Gargoyle\000\000\000"}; static struct {unsigned f; char r[16];} string33 = {917520, "BuiltInFilters\000"}; static struct {unsigned f; char r[16];} string34 = {851984, "SetStaticBags\000\000"}; static struct {unsigned f; char r[28];} string35 = {1703964, "Unimplemented feature type\000"}; static struct {unsigned f; char r[8];} string36 = {262152, "Drag\000\000\000"}; static struct {unsigned f; char r[16];} string37 = {851984, "\257\300\051\062\203\313\300\356\112\123\366\100\164\000\000"}; static struct {unsigned f; char r[16];} string38 = {983055, "\006\005\024\001\030\001\034\001\040\001\100\200\004\103\377"}; static struct {unsigned f; char r[16];} string39 = {851984, "\257\300\223\215\300\016\300\070\141\304\023\100\150\000\000"}; static struct {unsigned f; char r[16];} string40 = {851984, "\257\300\006<7[\300;CV\364@h\000\000"}; static struct {unsigned f; char r[16];} string41 = {851984, "\257\300\244\024\137\127\300\061\033\201\312\100\164\000\000"}; static struct {unsigned f; char r[16];} string42 = {851984, "\257\300\322\334\347\304\300\124\107\000\027\100\150\000\000"}; static struct {unsigned f; char r[16];} string43 = {851984, "\257\300\223\031\346\162\300\275\253\133\335\100\150\000\000"}; static struct {unsigned f; char r[16];} string44 = {851984, "\257\300\346\140\152\135\300\203\202\276\373\100\150\000\000"}; static struct {unsigned f; char r[16];} string45 = {851984, "\257\300IKM\275\300Y\0222&@h\000\000"}; static struct {unsigned f; char r[16];} string46 = {851984, "\257\300\301\241\007\150\300\032\111\265\237\100\150\000\000"}; static struct {unsigned f; char r[16];} string47 = {851984, "\257\300\207\142\037\125\300\254\056\012\025\100\150\000\000"}; static struct {unsigned f; char r[16];} string48 = {851984, "\257\300\347\101\365\007\300\150\102\366\020\100\150\000\000"}; static struct {unsigned f; char r[16];} string49 = {851984, "\257\300\011\245\206\305\300\112\326\356\245\100\150\000\000"}; static struct {unsigned f; char r[16];} string50 = {851984, "\257\300\261\002\056\176\300\055\321\222\125\100\150\000\000"}; static struct {unsigned f; char r[16];} string51 = {851984, "\257\300\235\036\354\311\300\234\133\201\260\100\150\000\000"}; static struct {unsigned f; char r[16];} string52 = {851984, "\257\300U$)\337\300Xo9\243@t\000\000"}; static struct {unsigned f; char r[16];} string53 = {851984, "\257\300\336\025\013\356\300\216\115\352\271\100\150\000\000"}; static struct {unsigned f; char r[16];} string54 = {851984, "\257\300\206\055\004\241\300\261\334\001\116\100\150\000\000"}; static struct {unsigned f; char r[16];} string55 = {851984, "\257\300\050\310\006\072\300\004\273\314\121\100\150\000\000"}; static struct {unsigned f; char r[16];} string56 = {851984, "\257\300\370\132\042\205\300\045\133\011\125\100\150\000\000"}; static struct {unsigned f; char r[16];} string57 = {851984, "\257\300\074\177\166\242\300\203\113\217\044\100\150\000\000"}; static struct {unsigned f; char r[16];} string58 = {851984, "\257\300\170\064\225\306\300\207\372\245\271\100\150\000\000"}; static struct {unsigned f; char r[16];} string59 = {851984, "\257\300\121\117\377\026\300\315\013\026\004\100\150\000\000"}; static struct {unsigned f; char r[16];} string60 = {851984, "\257\300\103\306\166\071\300\047\126\012\237\100\150\000\000"}; static struct {unsigned f; char r[16];} string61 = {851984, "\257\300\240\236\274\315\300\111\163\325\023\100\150\000\000"}; static struct {unsigned f; char r[16];} string62 = {851984, "\257\300\246\205\220\035\300\344\000\142\023\100\150\000\000"}; static struct {unsigned f; char r[16];} string63 = {851984, "\257\300\245\247\302\156\300\052\156\325\023\100\150\000\000"}; static struct {unsigned f; char r[16];} string64 = {851984, "\257\300\242\221\264\046\300\105\142\142\023\100\150\000\000"}; static struct {unsigned f; char r[16];} string65 = {851984, "\257\300\004\142\347\110\300\363\053\254\345\100\150\000\000"}; static struct {unsigned f; char r[16];} string66 = {851984, "\257\300\136\002\175\264\300\016\031\370\241\100\150\000\000"}; static struct {unsigned f; char r[16];} string67 = {851984, "\257\300\223\145\303\043\300\372\023\025\003\100\150\000\000"}; static struct {unsigned f; char r[28];} string68 = {1572892, "\211\014\013\104\162\141\147\104\141\164\141\117\142\152\300\223\145\303\043\300\372\023\025\003\000\000\000"}; static struct {unsigned f; char r[16];} string69 = {851984, "\257\300\333\030\273\126\300\173\036\033\131\100\200\000\000"}; static struct {unsigned f; char r[20];} string70 = {1114129, "\006\006\050\001\054\001\060\001\064\001\100\100\001\100\110\004\030\000\000"}; static struct {unsigned f; char r[28];} string71 = {1769500, "\211\017\016\122\145\146\162\145\163\150\104\141\164\141\117\142\152\300\223\145\303\043\300\372\023\025\003"}; static struct {unsigned f; char r[16];} string72 = {851984, "\257\300\026\355\016\312\300\171\207\041\370\100\200\000\000"}; static struct {unsigned f; char r[44];} string73 = {2752554, "\006\020\000\001\014\001\020\001\024\001\030\001\034\001\070\001\074\001\100\100\001\100\104\001\100\110\001\100\114\001\100\120\001\100\124\001\100\130\001\100\144\001\000"}; static struct { word f0[45]; word f45; word f46; word f47; word f48; word f49; word f50; word f51; word f52; word f53; word f54; word f55; word f56; word f57; word f58; word f59; word f60; word f61; word f62; word f63; word f64; word f65; word f66; word f67; word f68; word f69; word f70; word f71; word f72; word f73; word f74; word f75; word f76; word f77; word f78; word f79; word f80; word f81; word f82; word f83; word f84; word f85; word f86; word f87; word f88; word f89; word f90; word f91; word f92; word f93; word f94; word f95; word f96; word f97; word f98; word f99; word f100; word f101; word f102; word f103; word f104; word f105; word f106; word f107; word f108; word f109; word f110; word f111; word f112; word f113; word f114; word f115; word f116; word f117; word f118; word f119; word f120; word f121; word f122; word f123; word f124; word f125; word f126; word f127; word f128; word f129; word f130; word f131; word f132; word f133; word f134; word f135; word f136; word f137; word f138; word f139; word f140; word f141; word f142; word f143; word f144; word f145; word f146; word f147; word f148; word f149; word f150; 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[30]; } globalframe = { {0}, (word) Init←P5400, 0, (word) MakeFiltersGarbage←P5340, 0, (word) DrawAlignBagRegardless←P5280, 0, (word) HasVisibleObjects←P5220, 0, (word) DrawFeatureList←P5160, 0, (word) AddLineToTable←P5100, 0, (word) CardFromLine←P5040, 0, (word) FlushLineTable←P4980, 0, (word) RestoreLineTable←P4920, 0, (word) SaveLineTable←P4860, 0, (word) CopyLineList←P4800, 0, (word) TableStatistics←P4740, 0, (word) LineIsPresent←P4680, 0, (word) CreateLineTable←P4620, 0, (word) RemoveFeatureFromList←P4560, 0, (word) FindOldSlice←P4500, 0, (word) SomeSelectedIsHot←P4440, 0, (word) AnchorFireRule←P4380, 0, (word) SegmentFireRule←P4320, 0, (word) PointFireRule←P4260, 0, (word) AddAnchorObject←P4200, 0, (word) AddAllSlices←P4140, 0, (word) AddFeature←P4080, 0, (word) RemoveEntireHotSlice←P4020, 0, (word) RemoveAnchorTrigger←P3960, 0, (word) IncrementalNewFilter←P3900, 0, (word) IncrementalNewTrigger←P3840, 0, (word) IncrementalFilterSlice←P3780, 0, (word) AddSliceFeature←P3720, 0, (word) CreateAnchorTrigger←P3660, 0, (word) BuiltInFilters←P3600, 0, (word) FilterListsFromFilter←P3540, 0, (word) EmptyFilterLists←P3480, 0, (word) RemoveMoving←P3420, 0, (word) StationaryTriggerParts←P3360, 0, (word) StationaryParts←P3300, 0, (word) AddHeuristics←P3240, 0, (word) AddAllHotSlices←P3180, 0, (word) AddAnchorTrigger←P3120, 0, (word) UpdateBagsForNewSlices←P3060, 0, (word) UpdateBagsForAdd←P3000, 0, (word) SwapOldAndNewSceneBags←P2940, 0, (word) SwapOldAndNewTriggerBags←P2880, 0, (word) SwapOldAndNewAlignBags←P2820, 0, (word) DynamicToStaticBags←P2760, 0, (word) StaticToDynamicBags←P2700, 0, (word) SetDynamicBags←P2640, 0, (word) SetStaticTriggerAndAlignBags←P2580, 0, (word) SetStaticBags←P2520, 0, (word) SegmentAddDistanceLines←P2460, 0, (word) SegmentAddTwoAngleLines←P2400, 0, (word) DistanceFromOrigin←P2340, 0, (word) SameCircle←P2280, 0, (word) JointAddCircle←P2220, 0, (word) LineThru←P2160, 0, (word) KeyFromDistance←P2100, 0, (word) KeysFromDistance←P2040, 0, (word) ListOfSlopeLines←P1980, 0, (word) WalkSlopeLines←P1920, 0, (word) JointAddSlopeLine←P1860, 0, (word) AddSlopeLine←P1800, 0, (word) AddAlignment←P1740, 0, (word) FillDynamicAlignBag←P1680, 0, (word) FillStaticAlignBag←P1620, 0, (word) FlushSlopeLines←P1560, 0, (word) TriggersPerSlopeLine←P1500, 0, (word) FlushAlignBag←P1440, 0, (word) EmptySlopeLines←P1380, 0, (word) CopySlopeLineTable←P1320, 0, (word) EmptyAlignBag←P1260, 0, (word) CopyAlignBag←P1200, 0, (word) CreateAlignBag←P1140, 0, (word) FillDynamicSceneBag←P1080, 0, (word) FillStaticSceneBag←P1020, 0, (word) FillDynamicTriggerBag←P960, 0, (word) FillStaticTriggerBag←P900, 0, (word) FeatureFromAnchor←P840, 0, (word) FeatureFromSlice←P780, 0, (word) AppendFeature←P720, 0, (word) DeleteFeature←P660, 0, (word) ReplaceFeature←P600, 0, (word) FindFeature←P540, 0, (word) ListSliceTriggers←P480, 0, (word) WalkSliceTriggers←P420, 0, (word) CopyTriggerSlices←P360, 0, (word) CopyTriggerBag←P300, 0, (word) EmptyTriggerSlices←P240, 0, (word) EmptyTriggerBag←P180, 0, (word) FlushTriggerBag←P120, 0, (word) CreateTriggerBag←P60, 0, (word) GGAlignImpl←P0, {0} }; static void NoName←Q9648() { register ptr gf←c0901 = (ptr) &globalframe; word var←c77988; (* (( (ptr) gf←c0901)+13) ) = (word) XR←GetTypeIndex((word) &string1, 0, (word) &string2); (* (( (ptr) gf←c0901)+14) ) = (word) XR←GetTypeIndex((word) &string3, 0, (word) &string2); (* (( (ptr) gf←c0901)+15) ) = (word) XR←GetTypeIndex((word) &string4, 0, (word) &string2); (* (( (ptr) gf←c0901)+16) ) = (word) XR←GetTypeIndex((word) &string5, 0, (word) &string6); (* (( (ptr) gf←c0901)+17) ) = (word) XR←GetTypeIndex((word) &string7, 0, (word) &string8); (* (( (ptr) gf←c0901)+18) ) = (word) XR←GetTypeIndexS((word) (&string9)); (* (( (ptr) gf←c0901)+20) ) = (word) XR←GetTypeIndex((word) &string10, 0, (word) &string11); (* (( (ptr) gf←c0901)+21) ) = (word) XR←GetTypeIndex((word) &string12, 0, (word) &string13); (* (( (ptr) gf←c0901)+23) ) = (word) XR←GetTypeIndex((word) &string14, 0, (word) &string8); (* (( (ptr) gf←c0901)+24) ) = (word) XR←GetTypeIndex((word) &string15, 0, (word) &string2); (* (( (ptr) gf←c0901)+25) ) = (word) XR←GetTypeIndex((word) &string16, 0, (word) &string17); (* (( (ptr) gf←c0901)+26) ) = (word) XR←GetTypeIndex((word) &string18, 0, (word) &string2); (* (( (ptr) gf←c0901)+27) ) = (word) XR←GetTypeIndex((word) &string19, 0, (word) &string20); (* (( (ptr) gf←c0901)+28) ) = (word) XR←GetTypeIndex((word) &string21, 0, (word) &string6); (* (( (ptr) gf←c0901)+29) ) = (word) XR←GetTypeIndex((word) &string22, 0, (word) &string23); (* (( (ptr) gf←c0901)+30) ) = (word) XR←GetTypeIndex((word) &string24, 0, (word) &string2); (* (( (ptr) gf←c0901)+31) ) = (word) XR←GetTypeIndex((word) &string25, 0, (word) &string26); (* (ptr) (( (bPt) gf←c0901)+128) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0901)+17) ), (word) &string27); (* (ptr) (( (bPt) gf←c0901)+132) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0901)+17) ), (word) &string28); (* (ptr) (( (bPt) gf←c0901)+136) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0901)+17) ), (word) &string29); (* (ptr) (( (bPt) gf←c0901)+140) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0901)+17) ), (word) &string30); (* (ptr) (( (bPt) gf←c0901)+144) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0901)+17) ), (word) &string31); (* (ptr) (( (bPt) gf←c0901)+148) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0901)+17) ), (word) &string32); (* (ptr) (( (bPt) gf←c0901)+152) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0901)+17) ), (word) &string33); (* (ptr) (( (bPt) gf←c0901)+156) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0901)+17) ), (word) &string34); (* (ptr) (( (bPt) gf←c0901)+160) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0901)+23) ), (word) &string35); (* (ptr) (( (bPt) gf←c0901)+164) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0901)+17) ), (word) &string36); (void) XR←DeclareGlobalFrame((word) "GGAlignImpl", &globalframe, (word) XR←GetTypeIndex((word) &string37, 0, (word) &string38) , (word) (( (bPt) gf←c0901)+900)/* var←c71012 */ ); var←c77988 = (word) XR←ImportInterface((word) "CardTab", (word) XR←GetTypeIndexS((word) (&string39)), 12); (* (( (ptr) gf←c0901)+234)/* var←c72196 */ ) = var←c77988; (void) XR←ImportProcS(var←c77988, 67896579); (void) XR←ImportProcS(var←c77988, 134742786); (void) XR←ImportProcS(var←c77988, 67896835); (void) XR←ImportProcS(var←c77988, 67635458); (void) XR←ImportProcS(var←c77988, 264193); (void) XR←ImportProcS(var←c77988, 67371265); var←c77988 = (word) XR←ImportInterface((word) "CodeTimer", (word) XR←GetTypeIndexS((word) (&string40)), 21); (* (( (ptr) gf←c0901)+241)/* var←c73860 */ ) = var←c77988; (void) XR←ImportProcS(var←c77988, 526850); (void) XR←ImportProcS(var←c77988, 526338); var←c77988 = (word) XR←ImportInterface((word) "Draw2d", (word) XR←GetTypeIndexS((word) (&string41)), 15); (* (( (ptr) gf←c0901)+251)/* var←c77668 */ ) = var←c77988; (void) XR←ImportProcS(var←c77988, 264193); (void) XR←ImportProcS(var←c77988, 67634946); var←c77988 = (word) XR←ImportInterface((word) "Feedback", (word) XR←GetTypeIndexS((word) (&string42)), 25); (* (( (ptr) gf←c0901)+227)/* var←c71044 */ ) = var←c77988; var←c77988 = (word) XR←ImportInterface((word) "GGCaret", (word) XR←GetTypeIndexS((word) (&string43)), 13); (* (( (ptr) gf←c0901)+248)/* var←c75556 */ ) = var←c77988; (void) XR←ImportProcS(var←c77988, 134482945); (void) XR←ImportProcS(var←c77988, 134482689); (void) XR←ImportProcS(var←c77988, 67371777); var←c77988 = (word) XR←ImportInterface((word) "GGCircleCache", (word) XR←GetTypeIndexS((word) (&string44)), 6); (* (( (ptr) gf←c0901)+253)/* var←c77828 */ ) = var←c77988; (void) XR←ImportProcS(var←c77988, 524546); (void) XR←ImportProcS(var←c77988, 1049859); (void) XR←ImportProcS(var←c77988, 67633666); var←c77988 = (word) XR←ImportInterface((word) "GGCircles", (word) XR←GetTypeIndexS((word) (&string45)), 29); (* (( (ptr) gf←c0901)+237)/* var←c73284 */ ) = var←c77988; (void) XR←ImportProcS(var←c77988, 67896066); var←c77988 = (word) XR←ImportInterface((word) "GGParent", (word) XR←GetTypeIndexS((word) (&string46)), 83); (* (( (ptr) gf←c0901)+244)/* var←c74180 */ ) = var←c77988; (void) XR←ImportProcS(var←c77988, 67391489); (void) XR←ImportProcS(var←c77988, 68176388); var←c77988 = (word) XR←ImportInterface((word) "GGRefresh", (word) XR←GetTypeIndexS((word) (&string47)), 30); (* (( (ptr) gf←c0901)+242)/* var←c74020 */ ) = var←c77988; (void) XR←ImportProcS(var←c77988, 268289); (void) XR←ImportProcS(var←c77988, 529410); (void) XR←ImportProcS(var←c77988, 268033); (void) XR←ImportProcS(var←c77988, 529666); var←c77988 = (word) XR←ImportInterface((word) "GGScene", (word) XR←GetTypeIndexS((word) (&string48)), 50); (* (( (ptr) gf←c0901)+247)/* var←c74724 */ ) = var←c77988; (void) XR←ImportProcS(var←c77988, 68164356); (void) XR←ImportProcS(var←c77988, 68426757); var←c77988 = (word) XR←ImportInterface((word) "GGSelect", (word) XR←GetTypeIndexS((word) (&string49)), 23); (* (( (ptr) gf←c0901)+243)/* var←c74084 */ ) = var←c77988; (void) XR←ImportProcS(var←c77988, 67898883); (void) XR←ImportProcS(var←c77988, 67637250); var←c77988 = (word) XR←ImportInterface((word) "GGSequence", (word) XR←GetTypeIndexS((word) (&string50)), 58); (* (( (ptr) gf←c0901)+245)/* var←c74276 */ ) = var←c77988; (void) XR←ImportProcS(var←c77988, 67634178); (void) XR←ImportProcS(var←c77988, 67634434); (void) XR←ImportProcS(var←c77988, 67637250); var←c77988 = (word) XR←ImportInterface((word) "GGShapes", (word) XR←GetTypeIndexS((word) (&string51)), 20); (* (( (ptr) gf←c0901)+252)/* var←c77764 */ ) = var←c77988; (void) XR←ImportProcS(var←c77988, 2098949); (void) XR←ImportProcS(var←c77988, 526594); var←c77988 = (word) XR←ImportInterface((word) "GGSlice", (word) XR←GetTypeIndexS((word) (&string52)), 128); (* (( (ptr) gf←c0901)+233)/* var←c71972 */ ) = var←c77988; (void) XR←ImportProcS(var←c77988, 279297); (void) XR←ImportProcS(var←c77988, 67634178); var←c77988 = (word) XR←ImportInterface((word) "GGSliceOps", (word) XR←GetTypeIndexS((word) (&string53)), 73); (* (( (ptr) gf←c0901)+232)/* var←c71940 */ ) = var←c77988; (void) XR←ImportProcS(var←c77988, 336078338); (void) XR←ImportProcS(var←c77988, 67379713); (void) XR←ImportProcS(var←c77988, 532738); (void) XR←ImportProcS(var←c77988, 270539780); (void) XR←ImportProcS(var←c77988, 67639810); (void) XR←ImportProcS(var←c77988, 67376897); (void) XR←ImportProcS(var←c77988, 67377153); (void) XR←ImportProcS(var←c77988, 67640066); (void) XR←ImportProcS(var←c77988, 67901699); var←c77988 = (word) XR←ImportInterface((word) "GGState", (word) XR←GetTypeIndexS((word) (&string54)), 119); (* (( (ptr) gf←c0901)+240)/* var←c73828 */ ) = var←c77988; (void) XR←ImportProcS(var←c77988, 67382017); (void) XR←ImportProcS(var←c77988, 134481921); (void) XR←ImportProcS(var←c77988, 268698369); (void) XR←ImportProcS(var←c77988, 67375617); (void) XR←ImportProcS(var←c77988, 67384833); (void) XR←ImportProcS(var←c77988, 67394561); var←c77988 = (word) XR←ImportInterface((word) "GGTraj", (word) XR←GetTypeIndexS((word) (&string55)), 55); (* (( (ptr) gf←c0901)+246)/* var←c74468 */ ) = var←c77988; (void) XR←ImportProcS(var←c77988, 67379969); (void) XR←ImportProcS(var←c77988, 67379457); var←c77988 = (word) XR←ImportInterface((word) "GGUtility", (word) XR←GetTypeIndexS((word) (&string56)), 42); (* (( (ptr) gf←c0901)+230)/* var←c71428 */ ) = var←c77988; (void) XR←ImportProcS(var←c77988, 67634434); (void) XR←ImportProcS(var←c77988, 67372033); (void) XR←ImportProcS(var←c77988, 135004931); var←c77988 = (word) XR←ImportInterface((word) "Imager", (word) XR←GetTypeIndexS((word) (&string57)), 84); (* (( (ptr) gf←c0901)+250)/* var←c77636 */ ) = var←c77988; (void) XR←ImportProcS(var←c77988, 536578); (void) XR←ImportProcS(var←c77988, 540674); var←c77988 = (word) XR←ImportInterface((word) "ImagerBackdoor", (word) XR←GetTypeIndexS((word) (&string58)), 42); (* (( (ptr) gf←c0901)+228)/* var←c71076 */ ) = var←c77988; (void) XR←ImportProcS(var←c77988, 67641602); var←c77988 = (word) XR←ImportInterface((word) "ImagerTransformation", (word) XR←GetTypeIndexS((word) (&string59)), 55); (* (( (ptr) gf←c0901)+249)/* var←c77604 */ ) = var←c77988; (void) XR←ImportProcS(var←c77988, 269756930); var←c77988 = (word) XR←ImportInterface((word) "Lines2d", (word) XR←GetTypeIndexS((word) (&string60)), 50); (* (( (ptr) gf←c0901)+235)/* var←c72836 */ ) = var←c77988; (void) XR←ImportProcS(var←c77988, 67635714); (void) XR←ImportProcS(var←c77988, 67635458); (void) XR←ImportProcS(var←c77988, 68158466); (void) XR←ImportProcS(var←c77988, 67897090); (void) XR←ImportProcS(var←c77988, 67904258); (void) XR←ImportProcS(var←c77988, 67896835); var←c77988 = (word) XR←ImportInterface((word) "Process", (word) XR←GetTypeIndexS((word) (&string61)), 22); (* (( (ptr) gf←c0901)+231)/* var←c71716 */ ) = var←c77988; (void) XR←ImportProcS(var←c77988, 3584); var←c77988 = (word) XR←ImportInterface((word) "Real", (word) XR←GetTypeIndexS((word) (&string62)), 11); (* (( (ptr) gf←c0901)+236)/* var←c73156 */ ) = var←c77988; (void) XR←ImportProcS(var←c77988, 67372033); var←c77988 = (word) XR←ImportInterface((word) "RealFns", (word) XR←GetTypeIndexS((word) (&string63)), 36); (* (( (ptr) gf←c0901)+238)/* var←c73444 */ ) = var←c77988; (void) XR←ImportProcS(var←c77988, 67372801); (void) XR←ImportProcS(var←c77988, 67373313); (void) XR←ImportProcS(var←c77988, 67904259); var←c77988 = (word) XR←ImportInterface((word) "RefTab", (word) XR←GetTypeIndexS((word) (&string64)), 16); (* (( (ptr) gf←c0901)+229)/* var←c71140 */ ) = var←c77988; (void) XR←ImportProcS(var←c77988, 67634946); (void) XR←ImportProcS(var←c77988, 67896579); (void) XR←ImportProcS(var←c77988, 134742786); (void) XR←ImportProcS(var←c77988, 67896835); (void) XR←ImportProcS(var←c77988, 67635458); (void) XR←ImportProcS(var←c77988, 264193); (void) XR←ImportProcS(var←c77988, 67895555); var←c77988 = (word) XR←ImportInterface((word) "Vectors2d", (word) XR←GetTypeIndexS((word) (&string65)), 21); (* (( (ptr) gf←c0901)+239)/* var←c73540 */ ) = var←c77988; (void) XR←ImportProcS(var←c77988, 67633665); var←c77988 = (word) XR←ExportInterface((word) "GGAlign", (word) XR←GetTypeIndexS((word) (&string66)), 46); (* (( (ptr) gf←c0901)+254)/* var←c78020 */ ) = var←c77988; (void) XR←ExportVar(var←c77988, 0, (word) (( (bPt) gf←c0901)+20)/* emptyTriggerBag←v5800 */ ); (void) XR←ExportProcS(var←c77988, (word) (( (bPt) gf←c0901)+892)/* var←c70980 */ , 67109120, (word) "CreateTriggerBag"); (void) XR←ExportProcS(var←c77988, (word) (( (bPt) gf←c0901)+884)/* var←c70948 */ , 262657, (word) "FlushTriggerBag"); (void) XR←ExportProcS(var←c77988, (word) (( (bPt) gf←c0901)+876)/* var←c70916 */ , 67371777, (word) "EmptyTriggerBag"); (void) XR←ExportProcS(var←c77988, (word) (( (bPt) gf←c0901)+860)/* var←c70852 */ , 525314, (word) "CopyTriggerBag"); (void) XR←ExportProcS(var←c77988, (word) (( (bPt) gf←c0901)+844)/* var←c70788 */ , 525570, (word) "WalkSliceTriggers"); (void) XR←ExportProcS(var←c77988, (word) (( (bPt) gf←c0901)+796)/* var←c70596 */ , 67634690, (word) "FeatureFromSlice"); (void) XR←ExportProcS(var←c77988, (word) (( (bPt) gf←c0901)+788)/* var←c70564 */ , 67372801, (word) "FeatureFromAnchor"); (void) XR←ExportProcS(var←c77988, (word) (( (bPt) gf←c0901)+780)/* var←c70532 */ , 1050628, (word) "FillStaticTriggerBag") ; (void) XR←ExportProcS(var←c77988, (word) (( (bPt) gf←c0901)+772)/* var←c70500 */ , 2623750, (word) "FillDynamicTriggerBag") ; (void) XR←ExportProcS(var←c77988, (word) (( (bPt) gf←c0901)+764)/* var←c70468 */ , 526850, (word) "FillStaticSceneBag"); (void) XR←ExportProcS(var←c77988, (word) (( (bPt) gf←c0901)+756)/* var←c70436 */ , 2099972, (word) "FillDynamicSceneBag") ; (void) XR←ExportVar(var←c77988, 12, (word) (( (bPt) gf←c0901)+24)/* emptyAlignBag←v6332 */ ); (void) XR←ExportProcS(var←c77988, (word) (( (bPt) gf←c0901)+748)/* var←c70404 */ , 67112192, (word) "CreateAlignBag"); (void) XR←ExportProcS(var←c77988, (word) (( (bPt) gf←c0901)+708)/* var←c70244 */ , 265729, (word) "FlushAlignBag"); (void) XR←ExportProcS(var←c77988, (word) (( (bPt) gf←c0901)+732)/* var←c70340 */ , 67374849, (word) "EmptyAlignBag"); (void) XR←ExportProcS(var←c77988, (word) (( (bPt) gf←c0901)+652)/* var←c70020 */ , 68161539, (word) "JointAddSlopeLine"); (void) XR←ExportProcS(var←c77988, (word) (( (bPt) gf←c0901)+644)/* var←c69988 */ , 528642, (word) "WalkSlopeLines"); (void) XR←ExportProcS(var←c77988, (word) (( (bPt) gf←c0901)+604)/* var←c69828 */ , 68162051, (word) "JointAddCircle"); (void) XR←ExportProcS(var←c77988, (word) (( (bPt) gf←c0901)+580)/* var←c69732 */ , 136057605, (word) "SegmentAddTwoAngleLines") ; (void) XR←ExportProcS(var←c77988, (word) (( (bPt) gf←c0901)+572)/* var←c69700 */ , 136057861, (word) "SegmentAddDistanceLines") ; (void) XR←ExportProcS(var←c77988, (word) (( (bPt) gf←c0901)+684)/* var←c70148 */ , 1316101, (word) "FillStaticAlignBag"); (void) XR←ExportProcS(var←c77988, (word) (( (bPt) gf←c0901)+676)/* var←c70116 */ , 1578502, (word) "FillDynamicAlignBag") ; (void) XR←ExportProcS(var←c77988, (word) (( (bPt) gf←c0901)+564)/* var←c69668 */ , 268033, (word) "SetStaticBags"); (void) XR←ExportProcS(var←c77988, (word) (( (bPt) gf←c0901)+556)/* var←c69636 */ , 268289, (word) "SetStaticTriggerAndAlignBags") ; (void) XR←ExportProcS(var←c77988, (word) (( (bPt) gf←c0901)+548)/* var←c69604 */ , 530690, (word) "SetDynamicBags"); (void) XR←ExportProcS(var←c77988, (word) (( (bPt) gf←c0901)+540)/* var←c69572 */ , 530946, (word) "StaticToDynamicBags"); (void) XR←ExportProcS(var←c77988, (word) (( (bPt) gf←c0901)+532)/* var←c69540 */ , 531202, (word) "DynamicToStaticBags"); (void) XR←ExportProcS(var←c77988, (word) (( (bPt) gf←c0901)+500)/* var←c69412 */ , 68164612, (word) "UpdateBagsForAdd"); (void) XR←ExportProcS(var←c77988, (word) (( (bPt) gf←c0901)+492)/* var←c69380 */ , 531714, (word) "UpdateBagsForNewSlices") ; (void) XR←ExportProcS(var←c77988, (word) (( (bPt) gf←c0901)+420)/* var←c69092 */ , 1056516, (word) "BuiltInFilters"); (void) XR←ExportProcS(var←c77988, (word) (( (bPt) gf←c0901)+412)/* var←c69060 */ , 67641346, (word) "CreateAnchorTrigger") ; (void) XR←ExportProcS(var←c77988, (word) (( (bPt) gf←c0901)+404)/* var←c69028 */ , 67641602, (word) "AddSliceFeature"); (void) XR←ExportProcS(var←c77988, (word) (( (bPt) gf←c0901)+388)/* var←c68964 */ , 68166404, (word) "IncrementalNewTrigger") ; (void) XR←ExportProcS(var←c77988, (word) (( (bPt) gf←c0901)+380)/* var←c68932 */ , 68428805, (word) "IncrementalNewFilter") ; (void) XR←ExportProcS(var←c77988, (word) (( (bPt) gf←c0901)+372)/* var←c68900 */ , 271617, (word) "RemoveAnchorTrigger"); (void) XR←ExportProcS(var←c77988, (word) (( (bPt) gf←c0901)+364)/* var←c68868 */ , 67642882, (word) "RemoveEntireHotSlice") ; (void) XR←ExportProcS(var←c77988, (word) (( (bPt) gf←c0901)+284)/* var←c68548 */ , 272385, (word) "CreateLineTable"); (void) XR←ExportProcS(var←c77988, (word) (( (bPt) gf←c0901)+236)/* var←c68356 */ , 272641, (word) "FlushLineTable"); (void) XR←ExportProcS(var←c77988, (word) (( (bPt) gf←c0901)+204)/* var←c68228 */ , 67381761, (word) "HasVisibleObjects"); (void) XR←ExportProcS(var←c77988, (word) (( (bPt) gf←c0901)+212)/* var←c68260 */ , 797443, (word) "DrawFeatureList"); (void) XR←ExportProcS(var←c77988, (word) (( (bPt) gf←c0901)+196)/* var←c68196 */ , 797699, (word) "DrawAlignBagRegardless") ; (void) XR←ExportProcS(var←c77988, (word) (( (bPt) gf←c0901)+188)/* var←c68164 */ , 273665, (word) "MakeFiltersGarbage"); var←c77988 = (word) XR←ExportInterface((word) "GGInterfaceTypes", (word) XR←GetTypeIndexS((word) (&string67)), 6); (* (( (ptr) gf←c0901)+255)/* var←c78052 */ ) = var←c77988; (void) XR←ExportType((word) "DragDataObj", (word) XR←GetTypeIndexS((word) (&string68)), (word) XR←GetTypeIndex((word) &string69, 0, (word) &string70) ); (void) XR←ExportType((word) "RefreshDataObj", (word) XR←GetTypeIndexS((word) (&string71)), (word) XR←GetTypeIndex((word) &string72, 0, (word) &string73) ); } static void GGAlignImpl←P0(formal←c0132, formal←c0131) word formal←c0132; word formal←c0131; { register ptr gf←c78084 = (ptr) &globalframe; /* GGAlignImpl: */ SOURCE(438, 47719) SOURCE(3347, 17) (* (( (ptr) gf←c78084)+4)/* Problem←v5688 */ ) = (* (ptr) (* (( (ptr) (* (( (ptr) gf←c78084)+227)/* var←c71044 */ ))+28) ) ); SOURCE(42115, 66) { word pd74; pd74 = (* (( (ptr) (* (( (ptr) gf←c78084)+228)/* var←c71076 */ ))+37) ); (* (( (ptr) gf←c78084)+7)/* alignmentColor←v8040 */ ) = (word) ( *( (fPt) ((* (ptr) pd74 ))))(51765, 0, pd74); }; SOURCE(42183, 64) { word pd75; pd75 = (* (( (ptr) (* (( (ptr) gf←c78084)+228)/* var←c71076 */ ))+37) ); (* (( (ptr) gf←c78084)+8)/* checkerColor←v8068 */ ) = (word) ( *( (fPt) ((* (ptr) pd75 ))))(42405, 0, pd75); }; SOURCE(42250, 21) (* (( (ptr) gf←c78084)+9)/* useCache←v8096 */ ) = 1; SOURCE(48151, 6) (void) Init←P5400(); } static word CreateTriggerBag←P60() { register ptr gf←c78116 = (ptr) &globalframe; word triggerBag←v8712; /* CreateTriggerBag: */ SOURCE(3550, 151) SOURCE(3550, 151) triggerBag←v8712 = 0; SOURCE(3620, 81) { word var←c71108; word var←c71172; { word pd76; pd76 = (* (( (ptr) (* (( (ptr) gf←c78116)+229)/* var←c71140 */ ))+5) ); var←c71108 = (word) ( *( (fPt) ((* (ptr) pd76 ))))(211, 0, 0, pd76); }; var←c71172 = XR←NewObject(8, (* (( (ptr) gf←c78116)+13) )); (* (ptr) var←c71172 ) = var←c71108; triggerBag←v8712 = var←c71172; }; SOURCE(3550, 151) return(triggerBag←v8712); } static void FlushTriggerBag←P120(triggerBag←v8772) word triggerBag←v8772; { register ptr gf←c78148 = (ptr) &globalframe; /* FlushTriggerBag: */ SOURCE(3707, 114) SOURCE(3765, 31) { word pd77; pd77 = (* (( (ptr) (* (( (ptr) gf←c78148)+229)/* var←c71140 */ ))+12) ); (void) ( *( (fPt) ((* (ptr) pd77 ))))((* (ptr) (triggerBag←v8772) ), pd77); }; SOURCE(3798, 23) (* (( (ptr) triggerBag←v8772)+1) ) = 0; } static word EmptyTriggerBag←P180(triggerBag←v8832) word triggerBag←v8832; { word var←c8876; /* EmptyTriggerBag: */ SOURCE(3827, 141) SOURCE(3900, 68) { word tc78; if ((0 != (word) EmptyTriggerSlices←P240(triggerBag←v8832))) { tc78 = (word) (unsigned) ((* (( (ptr) triggerBag←v8832)+1) ) == 0); } else { tc78 = (word) (unsigned) 0; }; return(tc78); }; } static word EmptyTriggerSlices←P240(triggerBag←v8936) word triggerBag←v8936; { W6 var←c78180; register ptr gf←c78212 = (ptr) &globalframe; word empty←v8980; /* declaration of var←c71236 skipped */ /* EmptyTriggerSlices: */ SOURCE(3974, 232) { word tmpAddr79; tmpAddr79 = (word) (( (ptr) &var←c78180)+4)/* var←c71236 */ ; (* (ptr) tmpAddr79 ) = ( ((word) (fPt) SliceFeatureFound←P5460) ); (* (( (ptr) tmpAddr79) + 1) ) = 1; }; SOURCE(3974, 232) empty←v8980 = 0; SOURCE(4144, 62) { word pd80; pd80 = (* (( (ptr) (* (( (ptr) gf←c78212)+229)/* var←c71140 */ ))+13) ); empty←v8980 = (unsigned) (0 == (word) ( *( (fPt) ((* (ptr) pd80 ))))((* (ptr) triggerBag←v8936 ), (word) (( (bPt) &var←c78180)+16) /* var←c71236 */ , pd80)); }; SOURCE(3974, 232) return(empty←v8980); } static word SliceFeatureFound←P5460(key←v46056, val←v46084, formal←c78244) word key←v46056; word val←v46084; word formal←c78244; { word quit←v46128; formal←c78244 = (formal←c78244 - 16); /* SliceFeatureFound: */ SOURCE(4058, 81) SOURCE(4058, 81) quit←v46128 = 0; SOURCE(4103, 18) if ((val←v46084 == 0)) { SOURCE(4121, 5) (void) XR←RaiseUnnamedError(); }; SOURCE(4128, 11) quit←v46128 = 1; SOURCE(4058, 81) return(quit←v46128); } static void CopyTriggerBag←P300(to←v9040, from←v9068) word to←v9040; word from←v9068; { /* CopyTriggerBag: */ SOURCE(4212, 142) SOURCE(4267, 19) (void) FlushTriggerBag←P120(to←v9040); SOURCE(4288, 41) (void) CopyTriggerSlices←P360((* (ptr) to←v9040 ), (* (ptr) from←v9068 )); SOURCE(4331, 23) (* (( (ptr) to←v9040)+1) ) = (* (( (ptr) from←v9068)+1) ); } static void CopyTriggerSlices←P360(formal←c01059, fromTable←v9156) word formal←c01059; word fromTable←v9156; { W7 var←c78276; /* declaration of toTable←v9128 skipped */ register ptr gf←c78308 = (ptr) &globalframe; /* declaration of var←c71268 skipped */ var←c78276.f4/* toTable←v9128 */ = formal←c01059; /* CopyTriggerSlices: */ SOURCE(4360, 258) { word tmpAddr81; tmpAddr81 = (word) (( (ptr) &var←c78276)+5)/* var←c71268 */ ; (* (ptr) tmpAddr81 ) = ( ((word) (fPt) CopySliceFeatures←P5520) ); (* (( (ptr) tmpAddr81) + 1) ) = 1; }; SOURCE(4548, 21) { word pd82; pd82 = (* (( (ptr) (* (( (ptr) gf←c78308)+229)/* var←c71140 */ ))+12) ); (void) ( *( (fPt) ((* (ptr) pd82 ))))(var←c78276.f4/* toTable←v9128 */ , pd82); }; SOURCE(4571, 47) { word var←c71300; word pd83; pd83 = (* (( (ptr) (* (( (ptr) gf←c78308)+229)/* var←c71140 */ ))+13) ); var←c71300 = (word) ( *( (fPt) ((* (ptr) pd83 ))))(fromTable←v9156, (word) (( (bPt) &var←c78276)+20)/* var←c71268 */ , pd83) ; }; } static word CopySliceFeatures←P5520(key←v46352, val←v46380, formal←c78372) word key←v46352; word val←v46380; word formal←c78372; { register ptr gf←c78340 = (ptr) &globalframe; word quit←v46424; word inserted←v20952; formal←c78372 = (formal←c78372 - 20); /* CopySliceFeatures: */ SOURCE(4421, 117) SOURCE(4421, 117) quit←v46424 = 0; SOURCE(4466, 49) { word pd84; pd84 = (* (( (ptr) (* (( (ptr) gf←c78340)+229)/* var←c71140 */ ))+10) ); inserted←v20952 = (word) ( *( (fPt) ((* (ptr) pd84 ))))((* (( (ptr) formal←c78372)+4) ), key←v46352, val←v46380, pd84); }; SOURCE(4517, 21) if ((0 == inserted←v20952)) { SOURCE(4538, 5) (void) XR←RaiseUnnamedError(); }; SOURCE(4421, 117) return(quit←v46424); } static void WalkSliceTriggers←P420(triggerBag←v9216, formal←c01060) word triggerBag←v9216; word formal←c01060; { W7 var←c78404; /* declaration of walkProc←v9244 skipped */ register ptr gf←c78436 = (ptr) &globalframe; /* declaration of var←c71332 skipped */ var←c78404.f4/* walkProc←v9244 */ = formal←c01060; /* WalkSliceTriggers: */ SOURCE(4624, 312) { word tmpAddr85; tmpAddr85 = (word) (( (ptr) &var←c78404)+5)/* var←c71332 */ ; (* (ptr) tmpAddr85 ) = ( ((word) (fPt) DoForTrigger←P5580) ); (* (( (ptr) tmpAddr85) + 1) ) = 1; }; SOURCE(4886, 50) { word var←c71364; word pd86; pd86 = (* (( (ptr) (* (( (ptr) gf←c78436)+229)/* var←c71140 */ ))+13) ); var←c71364 = (word) ( *( (fPt) ((* (ptr) pd86 ))))((* (ptr) triggerBag←v9216 ), (word) (( (bPt) &var←c78404)+20)/* var←c71332 */ , pd86) ; }; } static word DoForTrigger←P5580(key←v46676, val←v46704, formal←c78500) word key←v46676; word val←v46704; word formal←c78500; { register ptr gf←c78468 = (ptr) &globalframe; word quit←v46748; formal←c78500 = (formal←c78500 - 20); /* DoForTrigger: */ SOURCE(4711, 157) SOURCE(4711, 157) quit←v46748 = 0; SOURCE(4751, 117) { register word list←v21040; list←v21040 = XR←Narrow(val←v46704, (* (( (ptr) gf←c78468)+14) )); lab←L100003: ; if ((list←v21040 != 0)) { } else { goto lab←L100000; }; SOURCE(4826, 27) { word pd87; pd87 = (* (( (ptr) formal←c78500)+4) ); quit←v46748 = (word) ( *( (fPt) ((* (ptr) pd87 ))))((* (ptr) (list←v21040) ), pd87); }; SOURCE(4855, 13) if ((0 != quit←v46748)) { SOURCE(4868, 4) goto lab←L100001; }; list←v21040 = (* (( (ptr) list←v21040)+1) ); goto lab←L100003; lab←L100000: ; lab←L100001: ; }; SOURCE(4711, 157) return(quit←v46748); } static word ListSliceTriggers←P480(triggerBag←v9304) word triggerBag←v9304; { W8 var←c78532; /* declaration of features←v9348 skipped */ /* declaration of var←c71396 skipped */ /* declaration of ptr←v21196 skipped */ /* ListSliceTriggers: */ SOURCE(4942, 304) { word tmpAddr88; tmpAddr88 = (word) (( (ptr) &var←c78532)+5)/* var←c71396 */ ; (* (ptr) tmpAddr88 ) = ( ((word) (fPt) DoMakeList←P5688) ); (* (( (ptr) tmpAddr88) + 1) ) = 1; }; SOURCE(4942, 304) var←c78532.f4/* features←v9348 */ = 0; SOURCE(5179, 5) var←c78532.f7/* ptr←v21196 */ = 0; SOURCE(5205, 41) (void) WalkSliceTriggers←P420(triggerBag←v9304, (word) (( (bPt) &var←c78532)+20)/* var←c71396 */ ); SOURCE(4942, 304) return(var←c78532.f4/* features←v9348 */ ); } static word DoMakeList←P5688(feature←v21272, formal←c78596) word feature←v21272; word formal←c78596; { register ptr gf←c78564 = (ptr) &globalframe; word done←v21316; formal←c78596 = (formal←c78596 - 20); /* DoMakeList: */ SOURCE(5035, 139) SOURCE(5035, 139) done←v21316 = 0; SOURCE(5108, 66) { W2 var←c71460; { word pd89; pd89 = (* (( (ptr) (* (( (ptr) gf←c78564)+230)/* var←c71428 */ ))+7) ); (void) ( *( (fPt) ((* (ptr) pd89 ))))((word) &var←c71460, feature←v21272, (* (( (ptr) formal←c78596)+4) ), (* (( (ptr) formal←c78596)+7) ), pd89); }; (* (( (ptr) formal←c78596)+7) ) = var←c71460.f1; (* (( (ptr) formal←c78596)+4) ) = var←c71460.f0; }; SOURCE(5035, 139) return(done←v21316); } static word FindFeature←P540(triggerBag←v9492, slice←v9520) word triggerBag←v9492; word slice←v9520; { register ptr gf←c78628 = (ptr) &globalframe; word feature←v9564; word val←v21428 = 0; word found←v21456 = 0; /* FindFeature: */ SOURCE(5252, 372) SOURCE(5252, 372) feature←v9564 = 0; SOURCE(5381, 53) { W2 var←c71492; { word pd90; pd90 = (* (( (ptr) (* (( (ptr) gf←c78628)+229)/* var←c71140 */ ))+7) ); (void) ( *( (fPt) ((* (ptr) pd90 ))))((word) &var←c71492, (* (ptr) triggerBag←v9492 ), slice←v9520, pd90); }; val←v21428 = var←c71492.f1; found←v21456 = var←c71492.f0; }; SOURCE(5436, 29) if ((0 == found←v21456)) { SOURCE(5454, 11) return(0); }; SOURCE(5467, 157) { register word list←v21516; list←v21516 = XR←Narrow(val←v21428, (* (( (ptr) gf←c78628)+14) )); lab←L100007: ; if ((list←v21516 != 0)) { } else { goto lab←L100004; }; SOURCE(5542, 82) if (((* (ptr) XR←Narrow((* (( (ptr) (* (ptr) list←v21516 ))+1) ), (* (( (ptr) gf←c78628)+15) )) ) == slice←v9520)) { SOURCE(5606, 18) return((* (ptr) list←v21516 )); }; list←v21516 = (* (( (ptr) list←v21516)+1) ); goto lab←L100007; lab←L100004: ; }; SOURCE(5252, 372) return(feature←v9564); } static void ReplaceFeature←P600(triggerBag←v9624, oldFeature←v9652, newFeature←v9680) word triggerBag←v9624; word oldFeature←v9652; word newFeature←v9680; { register ptr gf←c78660 = (ptr) &globalframe; word val←v21644 = 0; word key←v21672; word found←v21700 = 0; /* ReplaceFeature: */ SOURCE(5639, 428) SOURCE(5736, 58) key←v21672 = (* (ptr) XR←Narrow((* (( (ptr) oldFeature←v9652)+1) ), (* (( (ptr) gf←c78660)+15) )) ); SOURCE(5817, 51) { W2 var←c71524; { word pd91; pd91 = (* (( (ptr) (* (( (ptr) gf←c78660)+229)/* var←c71140 */ ))+7) ); (void) ( *( (fPt) ((* (ptr) pd91 ))))((word) &var←c71524, (* (ptr) triggerBag←v9624 ), key←v21672, pd91); }; val←v21644 = var←c71524.f1; found←v21700 = var←c71524.f0; }; SOURCE(5870, 197) if ( ( (0 != found←v21700) ? (val←v21644 != 0) : 0 ) ) { SOURCE(5898, 171) { word list←v21768; SOURCE(5900, 6) list←v21768 = XR←Narrow(val←v21644, (* (( (ptr) gf←c78660)+14) )); SOURCE(5941, 46) list←v21768 = (word) RemoveFeatureFromList←P4560(oldFeature←v9652, list←v21768); SOURCE(5989, 29) { word var←c71556; var←c71556 = XR←NewObject(8, (* (( (ptr) gf←c78660)+14) )); (* (ptr) var←c71556 ) = newFeature←v9680; (* (( (ptr) var←c71556)+1) ) = list←v21768; list←v21768 = var←c71556; }; SOURCE(6020, 47) { word var←c71588; word pd92; pd92 = (* (( (ptr) (* (( (ptr) gf←c78660)+229)/* var←c71140 */ ))+9) ); var←c71588 = (word) ( *( (fPt) ((* (ptr) pd92 ))))((* (ptr) triggerBag←v9624 ), key←v21672, list←v21768, pd92); }; }; } else { SOURCE(6076, 5) (void) XR←RaiseUnnamedError(); }; } static void DeleteFeature←P660(triggerBag←v9740, oldFeature←v9768) word triggerBag←v9740; word oldFeature←v9768; { register ptr gf←c78692 = (ptr) &globalframe; word val←v21896 = 0; word key←v21924; word found←v21952 = 0; /* DeleteFeature: */ SOURCE(6087, 451) SOURCE(6171, 58) key←v21924 = (* (ptr) XR←Narrow((* (( (ptr) oldFeature←v9768)+1) ), (* (( (ptr) gf←c78692)+15) )) ); SOURCE(6252, 51) { W2 var←c71620; { word pd93; pd93 = (* (( (ptr) (* (( (ptr) gf←c78692)+229)/* var←c71140 */ ))+7) ); (void) ( *( (fPt) ((* (ptr) pd93 ))))((word) &var←c71620, (* (ptr) triggerBag←v9740 ), key←v21924, pd93); }; val←v21896 = var←c71620.f1; found←v21952 = var←c71620.f0; }; SOURCE(6305, 233) if ( ( (0 != found←v21952) ? (val←v21896 != 0) : 0 ) ) { SOURCE(6333, 207) { word list←v22020; SOURCE(6335, 6) list←v22020 = XR←Narrow(val←v21896, (* (( (ptr) gf←c78692)+14) )); SOURCE(6376, 46) list←v22020 = (word) RemoveFeatureFromList←P4560(oldFeature←v9768, list←v22020); SOURCE(6424, 114) if ((list←v22020 == 0)) { SOURCE(6443, 48) { word var←c71652; word pd94; pd94 = (* (( (ptr) (* (( (ptr) gf←c78692)+229)/* var←c71140 */ ))+11) ); var←c71652 = (word) ( *( (fPt) ((* (ptr) pd94 ))))((* (ptr) triggerBag←v9740 ), key←v21924, pd94); }; } else { SOURCE(6491, 47) { word var←c71684; word pd95; pd95 = (* (( (ptr) (* (( (ptr) gf←c78692)+229)/* var←c71140 */ ))+9) ); var←c71684 = (word) ( *( (fPt) ((* (ptr) pd95 ))))((* (ptr) triggerBag←v9740 ), key←v21924, list←v22020, pd95); }; }; }; } else { SOURCE(6547, 5) (void) XR←RaiseUnnamedError(); }; } static void AppendFeature←P720(feature←v9828, sliceTriggers←v9856) word feature←v9828; word sliceTriggers←v9856; { register ptr gf←c78724 = (ptr) &globalframe; word val←v22148 = 0; word slice←v22176; word found←v22204 = 0; /* AppendFeature: */ SOURCE(6558, 494) SOURCE(6649, 59) slice←v22176 = (* (ptr) XR←Narrow((* (( (ptr) feature←v9828)+1) ), (* (( (ptr) gf←c78724)+15) )) ); SOURCE(6732, 23) { word pd96; pd96 = (* (( (ptr) (* (( (ptr) gf←c78724)+231)/* var←c71716 */ ))+18) ); (void) ( *( (fPt) ((* (ptr) pd96 ))))(pd96); }; SOURCE(6757, 49) { W2 var←c71748; { word pd97; pd97 = (* (( (ptr) (* (( (ptr) gf←c78724)+229)/* var←c71140 */ ))+7) ); (void) ( *( (fPt) ((* (ptr) pd97 ))))((word) &var←c71748, sliceTriggers←v9856, slice←v22176, pd97); }; val←v22148 = var←c71748.f1; found←v22204 = var←c71748.f0; }; SOURCE(6808, 244) if ( ( (0 != found←v22204) ? (val←v22148 != 0) : 0 ) ) { SOURCE(6836, 118) { word list←v22260; SOURCE(6838, 6) list←v22260 = XR←Narrow(val←v22148, (* (( (ptr) gf←c78724)+14) )); SOURCE(6879, 26) { word var←c71780; var←c71780 = XR←NewObject(8, (* (( (ptr) gf←c78724)+14) )); (* (ptr) var←c71780 ) = feature←v9828; (* (( (ptr) var←c71780)+1) ) = list←v22260; list←v22260 = var←c71780; }; SOURCE(6907, 45) { word var←c71812; word pd98; pd98 = (* (( (ptr) (* (( (ptr) gf←c78724)+229)/* var←c71140 */ ))+9) ); var←c71812 = (word) ( *( (fPt) ((* (ptr) pd98 ))))(sliceTriggers←v9856, slice←v22176, list←v22260, pd98); }; }; } else { SOURCE(6961, 93) { word list←v22388; SOURCE(6963, 6) list←v22388 = XR←NewObject(8, (* (( (ptr) gf←c78724)+14) )); { word var←c71876; var←c71876 = list←v22388; (* (ptr) var←c71876 ) = feature←v9828; }; SOURCE(7006, 46) { word var←c71908; word pd99; pd99 = (* (( (ptr) (* (( (ptr) gf←c78724)+229)/* var←c71140 */ ))+10) ); var←c71908 = (word) ( *( (fPt) ((* (ptr) pd99 ))))(sliceTriggers←v9856, slice←v22176, list←v22388, pd99); }; }; }; } static word FeatureFromSlice←P780(slice←v9916, parts←v9944) word slice←v9916; word parts←v9944; { register ptr gf←c78756 = (ptr) &globalframe; word feature←v9988; word sliceD←v22516; /* FeatureFromSlice: */ SOURCE(7061, 311) SOURCE(7061, 311) feature←v9988 = 0; SOURCE(7166, 129) { word tc100; word pd101; word pd102; if ((parts←v9944 == 0)) { pd101 = (* (( (ptr) (* (( (ptr) gf←c78756)+232)/* var←c71940 */ ))+29) ); tc100 = (word) ( *( (fPt) ((* (ptr) pd101 ))))(slice←v9916, 0, 6, pd101); } else { pd102 = (* (( (ptr) (* (( (ptr) gf←c78756)+233)/* var←c71972 */ ))+8) ); tc100 = (word) ( *( (fPt) ((* (ptr) pd102 ))))(slice←v9916, parts←v9944, pd102); }; sliceD←v22516 = tc100; }; SOURCE(7297, 29) feature←v9988 = XR←NewObject(8, (* (( (ptr) gf←c78756)+16) )); SOURCE(7328, 20) (* (ptr) feature←v9988 ) = 0; SOURCE(7350, 22) (* (( (ptr) feature←v9988)+1) ) = sliceD←v22516; SOURCE(7061, 311) return(feature←v9988); } static word FeatureFromAnchor←P840(anchor←v10048) word anchor←v10048; { register ptr gf←c78788 = (ptr) &globalframe; word feature←v10092; /* FeatureFromAnchor: */ SOURCE(7378, 214) SOURCE(7378, 214) feature←v10092 = 0; SOURCE(7460, 29) feature←v10092 = XR←NewObject(8, (* (( (ptr) gf←c78788)+16) )); SOURCE(7491, 21) (* (ptr) feature←v10092 ) = 8; SOURCE(7570, 22) (* (( (ptr) feature←v10092)+1) ) = anchor←v10048; SOURCE(7378, 214) return(feature←v10092); } static void FillStaticTriggerBag←P900(anchor←v10152, scene←v10180, heuristics←v10208, triggerBag←v10236) word anchor←v10152; word scene←v10180; word heuristics←v10208; word triggerBag←v10236; { /* FillStaticTriggerBag: */ SOURCE(7633, 182) SOURCE(7743, 36) (void) AddAnchorTrigger←P3120(anchor←v10152, triggerBag←v10236); SOURCE(7781, 34) (void) AddAllHotSlices←P3180(scene←v10180, triggerBag←v10236); } static void FillDynamicTriggerBag←P960(anchor←v10296, scene←v10324, heuristics←v10352, triggerBag←v10380, editConstraints←v10408, bezierDrag←v10436) word anchor←v10296; word scene←v10324; word heuristics←v10352; word triggerBag←v10380; word editConstraints←v10408; W5 bezierDrag←v10436; { register ptr gf←c78820 = (ptr) &globalframe; /* FillDynamicTriggerBag: */ SOURCE(7821, 401) SOURCE(7996, 36) (void) AddAnchorTrigger←P3120(anchor←v10296, triggerBag←v10380); SOURCE(8034, 34) (void) AddAllHotSlices←P3180(scene←v10324, triggerBag←v10380); SOURCE(8070, 85) { W2 var←c72068; (void) AddHeuristics←P3240((word) &var←c72068, scene←v10324, heuristics←v10352, (* (( (ptr) gf←c78820)+41) ), triggerBag←v10380, editConstraints←v10408 , bezierDrag←v10436); }; SOURCE(8157, 65) { word var←c72100; var←c72100 = (word) RemoveMoving←P3420(scene←v10324, triggerBag←v10380, editConstraints←v10408, bezierDrag←v10436); }; } static void FillStaticSceneBag←P1020(scene←v10496, sceneBag←v10524) word scene←v10496; word sceneBag←v10524; { /* FillStaticSceneBag: */ SOURCE(8227, 102) SOURCE(8300, 29) (void) AddAllSlices←P4140(scene←v10496, sceneBag←v10524); } static void FillDynamicSceneBag←P1080(scene←v10584, sceneBag←v10612, editConstraints←v10640, bezierDrag←v10668) word scene←v10584; word sceneBag←v10612; word editConstraints←v10640; W5 bezierDrag←v10668; { /* FillDynamicSceneBag: */ SOURCE(8335, 262) SOURCE(8503, 29) (void) AddAllSlices←P4140(scene←v10584, sceneBag←v10612); SOURCE(8534, 63) { word var←c72132; var←c72132 = (word) RemoveMoving←P3420(scene←v10584, sceneBag←v10612, editConstraints←v10640, bezierDrag←v10668); }; } static word CreateAlignBag←P1140() { register ptr gf←c78852 = (ptr) &globalframe; word alignBag←v10728; /* CreateAlignBag: */ SOURCE(8634, 207) SOURCE(8634, 207) alignBag←v10728 = 0; SOURCE(8698, 143) { word var←c72164; word var←c72228; { word pd103; pd103 = (* (( (ptr) (* (( (ptr) gf←c78852)+234)/* var←c72196 */ ))+5) ); var←c72164 = (word) ( *( (fPt) ((* (ptr) pd103 ))))(211, pd103); }; var←c72228 = XR←NewObject(20, (* (( (ptr) gf←c78852)+20) )); (* (ptr) var←c72228 ) = var←c72164; alignBag←v10728 = var←c72228; }; SOURCE(8634, 207) return(alignBag←v10728); } static void CopyAlignBag←P1200(to←v10788, from←v10816) word to←v10788; word from←v10816; { register ptr gf←c78884 = (ptr) &globalframe; /* CopyAlignBag: */ SOURCE(8847, 349) SOURCE(8891, 78) (void) CopySlopeLineTable←P1320((* (ptr) to←v10788 ), (* (ptr) from←v10816 )); SOURCE(8971, 62) { word pd104; pd104 = (* (( (ptr) (* (( (ptr) gf←c78884)+230)/* var←c71428 */ ))+8) ); (* (( (ptr) to←v10788)+1) ) = (word) ( *( (fPt) ((* (ptr) pd104 ))))((* ((( (ptr) from←v10816)+1)) ), pd104); }; SOURCE(9035, 66) { word pd105; pd105 = (* (( (ptr) (* (( (ptr) gf←c78884)+230)/* var←c71428 */ ))+8) ); (* (( (ptr) to←v10788)+2) ) = (word) ( *( (fPt) ((* (ptr) pd105 ))))((* ((( (ptr) from←v10816)+2)) ), pd105); }; SOURCE(9103, 68) { word pd106; pd106 = (* (( (ptr) (* (( (ptr) gf←c78884)+230)/* var←c71428 */ ))+8) ); (* (( (ptr) to←v10788)+3) ) = (word) ( *( (fPt) ((* (ptr) pd106 ))))((* ((( (ptr) from←v10816)+3)) ), pd106); }; SOURCE(9173, 23) (* (( (ptr) to←v10788)+4) ) = (* (( (ptr) from←v10816)+4) ); } static word EmptyAlignBag←P1260(alignBag←v10876) word alignBag←v10876; { word var←c10920; /* EmptyAlignBag: */ SOURCE(9202, 222) SOURCE(9269, 155) { word tc107; if ( ( ( ( (0 != (word) EmptySlopeLines←P1380(alignBag←v10876)) ? ((* (( (ptr) alignBag←v10876)+1) ) == 0) : 0 ) ? ((* ( ( (ptr) alignBag←v10876)+2) ) == 0) : 0 ) ? ((* (( (ptr) alignBag←v10876)+3) ) == 0) : 0 ) ) { tc107 = (word) (unsigned) ((* (( (ptr) alignBag←v10876)+4) ) == 0); } else { tc107 = (word) (unsigned) 0; }; return(tc107); }; } static void CopySlopeLineTable←P1320(formal←c01061, fromTable←v11008) word formal←c01061; word fromTable←v11008; { W7 var←c78916; /* declaration of toTable←v10980 skipped */ register ptr gf←c78948 = (ptr) &globalframe; /* declaration of var←c72292 skipped */ var←c78916.f4/* toTable←v10980 */ = formal←c01061; /* CopySlopeLineTable: */ SOURCE(9430, 254) { word tmpAddr108; tmpAddr108 = (word) (( (ptr) &var←c78916)+5)/* var←c72292 */ ; (* (ptr) tmpAddr108 ) = ( ((word) (fPt) CopyFeatures←P5988) ); (* (( (ptr) tmpAddr108) + 1) ) = 1; }; SOURCE(9617, 22) { word pd109; pd109 = (* (( (ptr) (* (( (ptr) gf←c78948)+234)/* var←c72196 */ ))+12) ); (void) ( *( (fPt) ((* (ptr) pd109 ))))(var←c78916.f4/* toTable←v10980 */ , pd109); }; SOURCE(9641, 43) { word var←c72324; word pd110; pd110 = (* (( (ptr) (* (( (ptr) gf←c78948)+234)/* var←c72196 */ ))+13) ); var←c72324 = (word) ( *( (fPt) ((* (ptr) pd110 ))))(fromTable←v11008, (word) (( (bPt) &var←c78916)+20)/* var←c72292 */ , pd110) ; }; } static word CopyFeatures←P5988(key←v49200, val←v49228, formal←c79012) word key←v49200; word val←v49228; word formal←c79012; { register ptr gf←c78980 = (ptr) &globalframe; word quit←v49272; word inserted←v22604; formal←c79012 = (formal←c79012 - 20); /* CopyFeatures: */ SOURCE(9493, 114) SOURCE(9493, 114) quit←v49272 = 0; SOURCE(9534, 50) { word pd111; pd111 = (* (( (ptr) (* (( (ptr) gf←c78980)+234)/* var←c72196 */ ))+10) ); inserted←v22604 = (word) ( *( (fPt) ((* (ptr) pd111 ))))((* (( (ptr) formal←c79012)+4) ), key←v49200, val←v49228, pd111) ; }; SOURCE(9586, 21) if ((0 == inserted←v22604)) { SOURCE(9607, 5) (void) XR←RaiseUnnamedError(); }; SOURCE(9493, 114) return(quit←v49272); } static word EmptySlopeLines←P1380(alignBag←v11068) word alignBag←v11068; { W6 var←c79044; register ptr gf←c79076 = (ptr) &globalframe; word empty←v11112; /* declaration of var←c72356 skipped */ /* EmptySlopeLines: */ SOURCE(9690, 223) { word tmpAddr112; tmpAddr112 = (word) (( (ptr) &var←c79044)+4)/* var←c72356 */ ; (* (ptr) tmpAddr112 ) = ( ((word) (fPt) FeatureFound←P6048) ); (* (( (ptr) tmpAddr112) + 1) ) = 1; }; SOURCE(9690, 223) empty←v11112 = 0; SOURCE(9849, 64) { word pd113; pd113 = (* (( (ptr) (* (( (ptr) gf←c79076)+234)/* var←c72196 */ ))+13) ); empty←v11112 = (unsigned) (0 == (word) ( *( (fPt) ((* (ptr) pd113 ))))((* (ptr) alignBag←v11068 ), (word) (( (bPt) &var←c79044)+16) /* var←c72356 */ , pd113)); }; SOURCE(9690, 223) return(empty←v11112); } static word FeatureFound←P6048(key←v49780, val←v49808, formal←c79108) word key←v49780; word val←v49808; word formal←c79108; { word quit←v49852; formal←c79108 = (formal←c79108 - 16); /* FeatureFound: */ SOURCE(9767, 77) SOURCE(9767, 77) quit←v49852 = 0; SOURCE(9808, 18) if ((val←v49808 == 0)) { SOURCE(9826, 5) (void) XR←RaiseUnnamedError(); }; SOURCE(9833, 11) quit←v49852 = 1; SOURCE(9767, 77) return(quit←v49852); } static void FlushAlignBag←P1440(alignBag←v11172) word alignBag←v11172; { /* FlushAlignBag: */ SOURCE(9919, 186) SOURCE(9971, 25) (void) FlushSlopeLines←P1560(alignBag←v11172); SOURCE(9998, 25) (* (( (ptr) alignBag←v11172)+1) ) = 0; SOURCE(10025, 27) (* (( (ptr) alignBag←v11172)+2) ) = 0; SOURCE(10054, 28) (* (( (ptr) alignBag←v11172)+3) ) = 0; SOURCE(10084, 21) (* (( (ptr) alignBag←v11172)+4) ) = 0; } static void TriggersPerSlopeLine←P1500(formal←c0269, ggData←v11232) word formal←c0269; word ggData←v11232; { W10 var←c79140; register ptr gf←c79172 = (ptr) &globalframe; /* declaration of lines←v11276 skipped */ /* declaration of min←v11304 skipped */ /* declaration of max←v11332 skipped */ word avg←v11360; /* declaration of var←c72388 skipped */ /* declaration of totalTriggers←v22720 skipped */ /* TriggersPerSlopeLine: */ SOURCE(10111, 790) { word tmpAddr114; tmpAddr114 = (word) (( (ptr) &var←c79140)+7)/* var←c72388 */ ; (* (ptr) tmpAddr114 ) = ( ((word) (fPt) Count←P6108) ); (* (( (ptr) tmpAddr114) + 1) ) = 1; }; SOURCE(10744, 25) (* (( (ptr) &var←c79140)+9)/* totalTriggers←v22720 */ ) = (* (ptr) &fc115 ); SOURCE(10771, 9) (* (( (ptr) &var←c79140)+4)/* lines←v11276 */ ) = 0; SOURCE(10782, 16) (* (( (ptr) &var←c79140)+5)/* min←v11304 */ ) = (word) -1; SOURCE(10800, 7) (* (( (ptr) &var←c79140)+6)/* max←v11332 */ ) = 0; SOURCE(10809, 65) { word var←c72420; word pd116; pd116 = (* (( (ptr) (* (( (ptr) gf←c79172)+234)/* var←c72196 */ ))+13) ); var←c72420 = (word) ( *( (fPt) ((* (ptr) pd116 ))))((* (ptr) (* (( (ptr) (* (( (ptr) ggData←v11232)+18) ))+4) ) ), (word) ( ( (bPt) &var←c79140)+28)/* var←c72388 */ , pd116); }; SOURCE(10876, 25) { word x117; *(float*)&avg←v11360 = ( x117 = (* (( (ptr) &var←c79140)+9)/* totalTriggers←v22720 */ ), *(float*)&x117 ) / (float)(unsigned)(* (( (ptr) &var←c79140)+4)/* lines←v11276 */ ); }; /* removed tail goto */ (* (ptr) formal←c0269 ) = (* (( (ptr) &var←c79140)+4)/* lines←v11276 */ ); (* (( (ptr) formal←c0269)+1) ) = (* (( (ptr) &var←c79140)+5)/* min←v11304 */ ); (* (( (ptr) formal←c0269)+2) ) = (* (( (ptr) &var←c79140)+6)/* max←v11332 */ ); (* (( (ptr) formal←c0269)+3) ) = avg←v11360; return; } static word Count←P6108(key←v49912, val←v49940, formal←c79236) word key←v49912; word val←v49940; word formal←c79236; { register ptr gf←c79204 = (ptr) &globalframe; word quit←v49984; word list←v22764; word aLine←v22792 = 0; word triggersPerSlope←v22820 = 0; formal←c79236 = (formal←c79236 - 28); /* Count: */ SOURCE(10202, 514) SOURCE(10202, 514) quit←v49984 = 0; SOURCE(10236, 6) list←v22764 = XR←Narrow(val←v49940, (* (( (ptr) gf←c79204)+14) )); SOURCE(10327, 389) { register word l←v22948; l←v22948 = list←v22764; lab←L100012: ; if ((l←v22948 != 0)) { } else { goto lab←L100009; }; SOURCE(10386, 17) (* (( (ptr) formal←c79236)+4) ) = ((* (( (ptr) formal←c79236)+4) ) + 1); SOURCE(10405, 29) aLine←v22792 = XR←Narrow((* (( (ptr) (* (ptr) l←v22948 ))+1) ), (* (( (ptr) gf←c79204)+21) )); SOURCE(10436, 20) triggersPerSlope←v22820 = 0; SOURCE(10458, 131) { register word pointList←v23076; pointList←v23076 = (* (( (ptr) aLine←v22792)+2) ); lab←L100016: ; if ((pointList←v23076 != 0)) { } else { goto lab←L100013; }; SOURCE(10550, 39) triggersPerSlope←v22820 = (triggersPerSlope←v22820 + 1); pointList←v23076 = (* (( (ptr) pointList←v23076)+2) ); goto lab←L100016; lab←L100013: ; }; SOURCE(10600, 32) { word x118; (* (( (ptr) formal←c79236)+5) ) = (x118 = (* (( (ptr) formal←c79236)+5) ), MIN( (unsigned) , x118, triggersPerSlope←v22820)); }; SOURCE(10634, 32) { word x119; (* (( (ptr) formal←c79236)+6) ) = (x119 = (* (( (ptr) formal←c79236)+6) ), MAX( (unsigned) , x119, triggersPerSlope←v22820)); }; SOURCE(10668, 48) { word x120; *(float*)(( (ptr) formal←c79236)+9) = ( x120 = (* (( (ptr) formal←c79236)+9) ), *(float*)&x120 ) + (float)(unsigned)triggersPerSlope←v22820; }; l←v22948 = (* (( (ptr) l←v22948)+1) ); goto lab←L100012; lab←L100009: ; }; SOURCE(10202, 514) return(quit←v49984); } static void FlushSlopeLines←P1560(alignBag←v11420) word alignBag←v11420; { register ptr gf←c79268 = (ptr) &globalframe; /* FlushSlopeLines: */ SOURCE(10907, 85) SOURCE(10954, 38) { word pd121; pd121 = (* (( (ptr) (* (( (ptr) gf←c79268)+234)/* var←c72196 */ ))+12) ); (void) ( *( (fPt) ((* (ptr) pd121 ))))((* (ptr) (alignBag←v11420) ), pd121); }; } static void FillStaticAlignBag←P1620(triggerBag←v11480, sceneBag←v11508, ggData←v11536, hideAlignments←v11564, alignBag←v11592) word triggerBag←v11480; word sceneBag←v11508; word ggData←v11536; word hideAlignments←v11564; word alignBag←v11592; { /* FillStaticAlignBag: */ SOURCE(10998, 201) SOURCE(11139, 60) (void) BuiltInFilters←P3600(triggerBag←v11480, ggData←v11536, hideAlignments←v11564, alignBag←v11592); } static void FillDynamicAlignBag←P1680(triggerBag←v11652, sceneBag←v11680, ggData←v11708, hideAlignments←v11736, action←v11764, alignBag←v11792) word triggerBag←v11652; word sceneBag←v11680; word ggData←v11708; word hideAlignments←v11736; word action←v11764; word alignBag←v11792; { /* FillDynamicAlignBag: */ SOURCE(11205, 216) SOURCE(11361, 60) (void) BuiltInFilters←P3600(triggerBag←v11652, ggData←v11708, hideAlignments←v11736, alignBag←v11792); } static void AddAlignment←P1740(featureData←v11852, alignBag←v11880) word featureData←v11852; word alignBag←v11880; { register ptr gf←c79300 = (ptr) &globalframe; /* AddAlignment: */ SOURCE(11427, 515) SOURCE(11497, 23) { word pd122; pd122 = (* (( (ptr) (* (( (ptr) gf←c79300)+231)/* var←c71716 */ ))+18) ); (void) ( *( (fPt) ((* (ptr) pd122 ))))(pd122); }; SOURCE(11522, 420) { word var←c72452; var←c72452 = (* (ptr) featureData←v11852 ); switch (var←c72452) { case 1: SOURCE(11567, 66) { word var←c72484; var←c72484 = XR←NewObject(8, (* (( (ptr) gf←c79300)+14) )); (* (ptr) var←c72484 ) = featureData←v11852; (* (( (ptr) var←c72484)+1) ) = (* (( (ptr) alignBag←v11880)+3) ); (* (( (ptr) alignBag←v11880)+3) ) = var←c72484; }; break; case 2: SOURCE(11648, 35) (void) AddSlopeLine←P1800(featureData←v11852, alignBag←v11880); break; case 3: SOURCE(11698, 60) { word var←c72516; var←c72516 = XR←NewObject(8, (* (( (ptr) gf←c79300)+14) )); (* (ptr) var←c72516 ) = featureData←v11852; (* (( (ptr) var←c72516)+1) ) = (* (( (ptr) alignBag←v11880)+1) ); (* (( (ptr) alignBag←v11880)+1) ) = var←c72516; }; break; case 5: SOURCE(11775, 64) { word var←c72548; var←c72548 = XR←NewObject(8, (* (( (ptr) gf←c79300)+14) )); (* (ptr) var←c72548 ) = featureData←v11852; (* (( (ptr) var←c72548)+1) ) = (* (( (ptr) alignBag←v11880)+2) ); (* (( (ptr) alignBag←v11880)+2) ) = var←c72548; }; break; case 8: SOURCE(11851, 29) (* (( (ptr) alignBag←v11880)+4) ) = featureData←v11852; break; default: SOURCE(11893, 49) { word var←c0296; var←c0296 = (* (( (ptr) gf←c79300)+40) ); (void) (XR←RaiseSignal((* (( (ptr) gf←c79300)+4)/* Problem←v5688 */ ), 0, (word) &var←c0296)); }; break; }; }; } static void AddSlopeLine←P1800(featureData←v11940, alignBag←v11968) word featureData←v11940; word alignBag←v11968; { register ptr gf←c79332 = (ptr) &globalframe; word line←v23204; word distance←v23232; word key←v23260; word val←v23288 = 0; word found←v23316 = 0; /* AddSlopeLine: */ SOURCE(11948, 545) SOURCE(12018, 58) line←v23204 = (* (ptr) XR←Narrow((* (( (ptr) featureData←v11940)+1) ), (* (( (ptr) gf←c79332)+21) )) ); SOURCE(12078, 23) distance←v23232 = (* (( (ptr) line←v23204)+1) ); SOURCE(12103, 37) key←v23260 = (word) KeyFromDistance←P2100(distance←v23232); SOURCE(12173, 58) { W2 var←c72580; { word pd123; pd123 = (* (( (ptr) (* (( (ptr) gf←c79332)+234)/* var←c72196 */ ))+7) ); (void) ( *( (fPt) ((* (ptr) pd123 ))))((word) &var←c72580, (* (ptr) alignBag←v11968 ), key←v23260, pd123); }; val←v23288 = var←c72580.f1; found←v23316 = var←c72580.f0; }; SOURCE(12233, 260) if ((0 == found←v23316)) { SOURCE(12251, 106) { word list←v23372; SOURCE(12253, 6) list←v23372 = XR←NewObject(8, (* (( (ptr) gf←c79332)+14) )); { word var←c72644; var←c72644 = list←v23372; (* (ptr) var←c72644 ) = featureData←v11940; }; SOURCE(12300, 55) { word var←c72676; word pd124; pd124 = (* (( (ptr) (* (( (ptr) gf←c79332)+234)/* var←c72196 */ ))+10) ); var←c72676 = (word) ( *( (fPt) ((* (ptr) pd124 ))))((* (ptr) alignBag←v11968 ), key←v23260, list←v23372, pd124); }; }; } else { SOURCE(12364, 131) { word list←v23500; SOURCE(12366, 6) list←v23500 = XR←Narrow(val←v23288, (* (( (ptr) gf←c79332)+14) )); SOURCE(12407, 30) { word var←c72708; var←c72708 = XR←NewObject(8, (* (( (ptr) gf←c79332)+14) )); (* (ptr) var←c72708 ) = featureData←v11940; (* (( (ptr) var←c72708)+1) ) = list←v23500; list←v23500 = var←c72708; }; SOURCE(12439, 54) { word var←c72740; word pd125; pd125 = (* (( (ptr) (* (( (ptr) gf←c79332)+234)/* var←c72196 */ ))+9) ); var←c72740 = (word) ( *( (fPt) ((* (ptr) pd125 ))))((* (ptr) alignBag←v11968 ), key←v23260, list←v23500, pd125); }; }; }; } static word JointAddSlopeLine←P1860(degrees←v12028, point←v12056, alignBag←v12084) word degrees←v12028; W2 point←v12056; word alignBag←v12084; { register ptr gf←c79364 = (ptr) &globalframe; word feature←v12128; word line←v23628 = 0; word coincident←v23656 = 0; word cosine←v23684; word sine←v23712; word distance←v23740; /* JointAddSlopeLine: */ SOURCE(12502, 769) SOURCE(12502, 769) feature←v12128 = 0; SOURCE(12685, 88) { W4 var←c72772; (void) LineThru←P2160((word) &var←c72772, point←v12056, degrees←v12028, (* (ptr) alignBag←v12084 )); distance←v23740 = var←c72772.f3; sine←v23712 = var←c72772.f2; cosine←v23684 = var←c72772.f1; coincident←v23656 = var←c72772.f0; }; SOURCE(12775, 496) if ((coincident←v23656 != 0)) { SOURCE(12800, 146) { word alignmentLine←v23784; SOURCE(12802, 55) alignmentLine←v23784 = XR←Narrow((* (( (ptr) coincident←v23656)+1) ), (* (( (ptr) gf←c79364)+21) )); SOURCE(12859, 70) { word var←c72804; var←c72804 = XR←NewObject(12, (* (( (ptr) gf←c79364)+25) )); (* (W2Pt) var←c72804 ) = point←v12056; (* (( (ptr) var←c72804)+2) ) = (* (( (ptr) alignmentLine←v23784)+2) ); (* (( (ptr) alignmentLine←v23784)+2) ) = var←c72804; }; SOURCE(12931, 13) feature←v12128 = 0; }; } else { SOURCE(12953, 320) { word alignmentLine←v23828 = 0; SOURCE(12986, 59) { word pd126; pd126 = (* (( (ptr) (* (( (ptr) gf←c79364)+235)/* var←c72836 */ ))+10) ); line←v23628 = (word) ( *( (fPt) ((* (ptr) pd126 ))))(sine←v23712, cosine←v23684, distance←v23740, pd126); }; SOURCE(13047, 103) { word var←c72868; word var←c72932; { word var←c72900; var←c72900 = XR←NewObject(12, (* (( (ptr) gf←c79364)+25) )); (* (W2Pt) var←c72900 ) = point←v12056; var←c72868 = var←c72900; }; var←c72932 = XR←NewObject(12, (* (( (ptr) gf←c79364)+21) )); (* (ptr) var←c72932 ) = line←v23628; (* (( (ptr) var←c72932)+1) ) = degrees←v12028; (* (( (ptr) var←c72932)+2) ) = var←c72868; alignmentLine←v23828 = var←c72932; }; SOURCE(13152, 29) feature←v12128 = XR←NewObject(8, (* (( (ptr) gf←c79364)+16) )); SOURCE(13183, 24) (* (ptr) feature←v12128 ) = 2; SOURCE(13209, 29) (* (( (ptr) feature←v12128)+1) ) = alignmentLine←v23828; SOURCE(13240, 31) (void) AddAlignment←P1740(feature←v12128, alignBag←v12084); }; }; SOURCE(12502, 769) return(feature←v12128); } static void WalkSlopeLines←P1920(alignBag←v12188, formal←c01062) word alignBag←v12188; word formal←c01062; { W7 var←c79396; /* declaration of walkProc←v12216 skipped */ register ptr gf←c79428 = (ptr) &globalframe; /* declaration of var←c72996 skipped */ var←c79396.f4/* walkProc←v12216 */ = formal←c01062; /* WalkSlopeLines: */ SOURCE(13280, 309) { word tmpAddr127; tmpAddr127 = (word) (( (ptr) &var←c79396)+5)/* var←c72996 */ ; (* (ptr) tmpAddr127 ) = ( ((word) (fPt) WalkAction←P6456) ); (* (( (ptr) tmpAddr127) + 1) ) = 1; }; SOURCE(13534, 55) { word var←c73028; word pd128; pd128 = (* (( (ptr) (* (( (ptr) gf←c79428)+234)/* var←c72196 */ ))+13) ); var←c73028 = (word) ( *( (fPt) ((* (ptr) pd128 ))))((* (ptr) alignBag←v12188 ), (word) (( (bPt) &var←c79396)+20)/* var←c72996 */ , pd128) ; }; } static word WalkAction←P6456(key←v53400, val←v53428, formal←c79492) word key←v53400; word val←v53428; word formal←c79492; { register ptr gf←c79460 = (ptr) &globalframe; word quit←v53472; formal←c79492 = (formal←c79492 - 20); /* WalkAction: */ SOURCE(13360, 156) SOURCE(13360, 156) quit←v53472 = 0; SOURCE(13399, 117) { register word list←v23916; list←v23916 = XR←Narrow(val←v53428, (* (( (ptr) gf←c79460)+14) )); lab←L100020: ; if ((list←v23916 != 0)) { } else { goto lab←L100017; }; SOURCE(13474, 27) { word pd129; pd129 = (* (( (ptr) formal←c79492)+4) ); quit←v53472 = (word) ( *( (fPt) ((* (ptr) pd129 ))))((* (ptr) (list←v23916) ), pd129); }; SOURCE(13503, 13) if ((0 != quit←v53472)) { SOURCE(13516, 4) goto lab←L100018; }; list←v23916 = (* (( (ptr) list←v23916)+1) ); goto lab←L100020; lab←L100017: ; lab←L100018: ; }; SOURCE(13360, 156) return(quit←v53472); } static word ListOfSlopeLines←P1980(alignBag←v12276) word alignBag←v12276; { W7 var←c79524; register ptr gf←c79556 = (ptr) &globalframe; /* declaration of slopeLines←v12320 skipped */ /* declaration of var←c73060 skipped */ /* ListOfSlopeLines: */ SOURCE(13595, 326) { word tmpAddr130; tmpAddr130 = (word) (( (ptr) &var←c79524)+5)/* var←c73060 */ ; (* (ptr) tmpAddr130 ) = ( ((word) (fPt) ConsSlopeLine←P6564) ); (* (( (ptr) tmpAddr130) + 1) ) = 1; }; SOURCE(13595, 326) var←c79524.f4/* slopeLines←v12320 */ = 0; SOURCE(13863, 58) { word var←c73092; word pd131; pd131 = (* (( (ptr) (* (( (ptr) gf←c79556)+234)/* var←c72196 */ ))+13) ); var←c73092 = (word) ( *( (fPt) ((* (ptr) pd131 ))))((* (ptr) alignBag←v12276 ), (word) (( (bPt) &var←c79524)+20)/* var←c73060 */ , pd131) ; }; SOURCE(13595, 326) return(var←c79524.f4/* slopeLines←v12320 */ ); } static word ConsSlopeLine←P6564(key←v53532, val←v53560, formal←c79620) word key←v53532; word val←v53560; word formal←c79620; { register ptr gf←c79588 = (ptr) &globalframe; word quit←v53604; formal←c79620 = (formal←c79620 - 20); /* ConsSlopeLine: */ SOURCE(13691, 158) SOURCE(13691, 158) quit←v53604 = 0; SOURCE(13733, 116) { register word list←v24088; list←v24088 = XR←Narrow(val←v53560, (* (( (ptr) gf←c79588)+14) )); lab←L100024: ; if ((list←v24088 != 0)) { } else { goto lab←L100021; }; SOURCE(13808, 41) { word var←c73124; var←c73124 = XR←NewObject(8, (* (( (ptr) gf←c79588)+14) )); (* (ptr) var←c73124 ) = (* (ptr) list←v24088 ); (* (( (ptr) var←c73124)+1) ) = (* (( (ptr) formal←c79620)+4) ); (* (( (ptr) formal←c79620)+4) ) = var←c73124; }; list←v24088 = (* (( (ptr) list←v24088)+1) ); goto lab←L100024; lab←L100021: ; }; SOURCE(13691, 158) return(quit←v53604); } static void KeysFromDistance←P2040(formal←c0349, distance←v12464) word formal←c0349; word distance←v12464; { register ptr gf←c79652 = (ptr) &globalframe; W3 keys←v12508; word int←v24216; /* KeysFromDistance: */ SOURCE(13983, 233) SOURCE(14073, 36) { word x132; word x134; *(float*)&distance←v12464 = ( x132 = distance←v12464, *(float*)&x132 ) * ( x134 = (* (ptr) &fc133 ), *(float*)&x134 ); }; SOURCE(14111, 26) { word pd135; pd135 = (* (( (ptr) (* (( (ptr) gf←c79652)+236)/* var←c73156 */ ))+8) ); int←v24216 = (word) ( *( (fPt) ((* (ptr) pd135 ))))(distance←v12464, pd135); }; SOURCE(14139, 23) keys←v12508.f0 = int←v24216; SOURCE(14164, 25) keys←v12508.f1 = (int←v24216 + 1); SOURCE(14191, 25) keys←v12508.f2 = (int←v24216 - 1); /* removed tail goto */ (* (W3Pt) formal←c0349 ) = keys←v12508; return; } static word KeyFromDistance←P2100(distance←v12604) word distance←v12604; { register ptr gf←c79684 = (ptr) &globalframe; word key←v12648; word int←v24260; /* KeyFromDistance: */ SOURCE(14222, 190) SOURCE(14295, 36) { word x136; word x137; *(float*)&distance←v12604 = ( x136 = distance←v12604, *(float*)&x136 ) * ( x137 = (* (ptr) &fc133 ), *(float*)&x137 ); }; SOURCE(14365, 26) { word pd138; pd138 = (* (( (ptr) (* (( (ptr) gf←c79684)+236)/* var←c73156 */ ))+8) ); int←v24260 = (word) ( *( (fPt) ((* (ptr) pd138 ))))(distance←v12604, pd138); }; SOURCE(14393, 19) key←v12648 = int←v24260; SOURCE(14222, 190) return(key←v12648); } static void LineThru←P2160(formal←c0371, point←v12708, degrees←v12736, table←v12764) word formal←c0371; W2 point←v12708; word degrees←v12736; word table←v12764; { register ptr gf←c79716 = (ptr) &globalframe; word coincident←v12808; word cosine←v12836; word sine←v12864; word distance←v12892; word line←v24304 = 0; W3 keys←v24332; word val←v24360 = 0; word found←v24388 = 0; /* LineThru: */ SOURCE(14418, 687) SOURCE(14418, 687) coincident←v12808 = 0; SOURCE(14621, 61) { W3 var←c73188; (void) DistanceFromOrigin←P2340((word) &var←c73188, point←v12708, degrees←v12736); sine←v12864 = var←c73188.f2; cosine←v12836 = var←c73188.f1; distance←v12892 = var←c73188.f0; }; SOURCE(14684, 33) (void) KeysFromDistance←P2040((word) &keys←v24332, distance←v12892); SOURCE(14719, 350) { register word i←v24480 = 0; lab←L100030: ; SOURCE(14743, 44) { W2 var←c73220; { word pd139; pd139 = (* (( (ptr) (* (( (ptr) gf←c79716)+234)/* var←c72196 */ ))+7) ); (void) ( *( (fPt) ((* (ptr) pd139 ))))((word) &var←c73220, table←v12764, (* (( (ptr) &keys←v24332)+BCK(i←v24480, 3)) ), pd139) ; }; val←v24360 = var←c73220.f1; found←v24388 = var←c73220.f0; }; SOURCE(14789, 18) if ((0 == found←v24388)) { SOURCE(14807, 4) goto lab←L100029; }; SOURCE(14813, 256) { register word l←v24524; l←v24524 = XR←Narrow(val←v24360, (* (( (ptr) gf←c79716)+14) )); lab←L100034: ; if ((l←v24524 != 0)) { } else { goto lab←L100031; }; SOURCE(14879, 48) line←v24304 = (* (ptr) XR←Narrow((* (( (ptr) (* (ptr) l←v24524 ))+1) ), (* (( (ptr) gf←c79716)+21) )) ); SOURCE(14929, 140) { word tc140; word x141; word x142; word pd143; word x144; word x146; if ((( x141 = (* (( (ptr) XR←Narrow((* (( (ptr) (* (ptr) l←v24524 ))+1) ), (* (( (ptr) gf←c79716)+21) )))+1) ), *(float*)&x141 ) == ( x142 = degrees←v12736, *(float*)&x142 ))) { pd143 = (* (( (ptr) (* (( (ptr) gf←c79716)+235)/* var←c72836 */ ))+39) ); tc140 = (word) (( x144 = (word) ( *( (fPt) ((* (ptr) pd143 ))))(point←v12708, line←v24304, pd143), *(float*)&x144 ) < ( x146 = (* (ptr) &fc145 ), *(float*)&x146 )); } else { tc140 = (word) 0; }; if (tc140) { SOURCE(15041, 20) coincident←v12808 = (* (ptr) l←v24524 ); SOURCE(15063, 6) goto lab←L100026; }; }; l←v24524 = (* (( (ptr) l←v24524)+1) ); goto lab←L100034; lab←L100031: ; }; lab←L100029: ; if ((i←v24480 >= 2)) { goto lab←L100027; }; i←v24480 = (i←v24480 + 1); goto lab←L100030; lab←L100027: ; }; SOURCE(15089, 16) coincident←v12808 = 0; /* removed tail goto */ lab←L100026: ; (* (ptr) formal←c0371 ) = coincident←v12808; (* (( (ptr) formal←c0371)+1) ) = cosine←v12836; (* (( (ptr) formal←c0371)+2) ) = sine←v12864; (* (( (ptr) formal←c0371)+3) ) = distance←v12892; return; } static word JointAddCircle←P2220(radius←v12952, point←v12980, alignBag←v13008) word radius←v12952; W2 point←v12980; word alignBag←v13008; { register ptr gf←c79748 = (ptr) &globalframe; word feature←v13052; word circle←v24652 = 0; word coincident←v24680 = 0; /* JointAddCircle: */ SOURCE(15112, 717) SOURCE(15112, 717) feature←v13052 = 0; SOURCE(15265, 61) coincident←v24680 = (word) SameCircle←P2280(point←v12980, radius←v12952, (* (( (ptr) alignBag←v13008)+2) )); SOURCE(15328, 501) if ((coincident←v24680 != 0)) { SOURCE(15353, 154) { word alignmentCircle←v24724; SOURCE(15355, 59) alignmentCircle←v24724 = XR←Narrow((* (( (ptr) coincident←v24680)+1) ), (* (( (ptr) gf←c79748)+26) )); SOURCE(15416, 74) { word var←c73252; var←c73252 = XR←NewObject(12, (* (( (ptr) gf←c79748)+25) )); (* (W2Pt) var←c73252 ) = point←v12980; (* (( (ptr) var←c73252)+2) ) = (* (( (ptr) alignmentCircle←v24724)+1) ); (* (( (ptr) alignmentCircle←v24724)+1) ) = var←c73252; }; SOURCE(15492, 13) feature←v13052 = 0; }; } else { SOURCE(15514, 317) { word alignmentCircle←v24768 = 0; SOURCE(15551, 58) { word pd147; pd147 = (* (( (ptr) (* (( (ptr) gf←c79748)+237)/* var←c73284 */ ))+7) ); circle←v24652 = (word) ( *( (fPt) ((* (ptr) pd147 ))))(point←v12980, radius←v12952, pd147); }; SOURCE(15611, 93) { word var←c73316; word var←c73380; { word var←c73348; var←c73348 = XR←NewObject(12, (* (( (ptr) gf←c79748)+25) )); (* (W2Pt) var←c73348 ) = point←v12980; var←c73316 = var←c73348; }; var←c73380 = XR←NewObject(8, (* (( (ptr) gf←c79748)+26) )); (* (ptr) var←c73380 ) = circle←v24652; (* (( (ptr) var←c73380)+1) ) = var←c73316; alignmentCircle←v24768 = var←c73380; }; SOURCE(15706, 29) feature←v13052 = XR←NewObject(8, (* (( (ptr) gf←c79748)+16) )); SOURCE(15737, 26) (* (ptr) feature←v13052 ) = 5; SOURCE(15765, 31) (* (( (ptr) feature←v13052)+1) ) = alignmentCircle←v24768; SOURCE(15798, 31) (void) AddAlignment←P1740(feature←v13052, alignBag←v13008); }; }; SOURCE(15112, 717) return(feature←v13052); } static word SameCircle←P2280(point←v13112, radius←v13140, list←v13168) W2 point←v13112; word radius←v13140; word list←v13168; { register ptr gf←c79780 = (ptr) &globalframe; word coincident←v13296; word circle←v24812 = 0; /* SameCircle: */ SOURCE(15838, 445) SOURCE(15838, 445) coincident←v13296 = 0; SOURCE(15965, 296) { register word l←v24856; l←v24856 = list←v13168; lab←L100038: ; if ((l←v24856 != 0)) { } else { goto lab←L100035; }; SOURCE(16024, 54) circle←v24812 = (* (ptr) XR←Narrow((* (( (ptr) (* (ptr) l←v24856 ))+1) ), (* (( (ptr) gf←c79780)+26) )) ); SOURCE(16080, 181) { word tc148; word tc149; word pd150; word pd151; word pd152; pd150 = (* (( (ptr) (* (( (ptr) gf←c79780)+238)/* var←c73444 */ ))+39) ); if ((0 != (word) ( *( (fPt) ((* (ptr) pd150 ))))((* (ptr) circle←v24812 ), point←v13112.f0, 116, pd150))) { pd151 = (* (( (ptr) (* (( (ptr) gf←c79780)+238)/* var←c73444 */ ))+39) ); tc149 = (word) (0 != (word) ( *( (fPt) ((* (ptr) pd151 ))))((* (( (ptr) circle←v24812)+1) ), point←v13112.f1, 116, pd151) ); } else { tc149 = (word) 0; }; if (tc149) { pd152 = (* (( (ptr) (* (( (ptr) gf←c79780)+238)/* var←c73444 */ ))+39) ); tc148 = (word) (0 != (word) ( *( (fPt) ((* (ptr) pd152 ))))((* (( (ptr) circle←v24812)+2) ), radius←v13140, 116, pd152) ); } else { tc148 = (word) 0; }; if (tc148) { SOURCE(16246, 15) return((* (ptr) l←v24856 )); }; }; l←v24856 = (* (( (ptr) l←v24856)+1) ); goto lab←L100038; lab←L100035: ; }; SOURCE(16272, 11) return(0); } static void DistanceFromOrigin←P2340(formal←c0395, pt1←v13356, degrees←v13384) word formal←c0395; W2 pt1←v13356; word degrees←v13384; { register ptr gf←c79812 = (ptr) &globalframe; word distance←v13428; word c←v13456; word s←v13484; /* DistanceFromOrigin: */ SOURCE(16289, 174) SOURCE(16377, 27) { word pd153; pd153 = (* (( (ptr) (* (( (ptr) gf←c79812)+238)/* var←c73444 */ ))+13) ); c←v13456 = (word) ( *( (fPt) ((* (ptr) pd153 ))))(degrees←v13384, pd153); }; SOURCE(16406, 27) { word pd154; pd154 = (* (( (ptr) (* (( (ptr) gf←c79812)+238)/* var←c73444 */ ))+11) ); s←v13484 = (word) ( *( (fPt) ((* (ptr) pd154 ))))(degrees←v13384, pd154); }; SOURCE(16435, 28) { word x155; word x156; word x157; word x158; *(float*)&distance←v13428 = (( x155 = pt1←v13356.f1, *(float*)&x155 ) * ( x156 = c←v13456, *(float*)&x156 )) - (( x157 = pt1←v13356.f0, *(float*)&x157 ) * ( x158 = s←v13484, *(float*)&x158 )); }; /* removed tail goto */ (* (ptr) formal←c0395 ) = distance←v13428; (* (( (ptr) formal←c0395)+1) ) = c←v13456; (* (( (ptr) formal←c0395)+2) ) = s←v13484; return; } static void SegmentAddTwoAngleLines←P2400(formal←c0411, degrees←v13544, segNum←v13572, lo←v13600, hi←v13628, alignBag←v13656) word formal←c0411; word degrees←v13544; word segNum←v13572; W2 lo←v13600; W2 hi←v13628; word alignBag←v13656; { register ptr gf←c79844 = (ptr) &globalframe; word line1←v13700; word line2←v13728; word loLine←v24984; word hiLine←v25012; /* SegmentAddTwoAngleLines: */ SOURCE(16469, 747) SOURCE(16469, 747) line1←v13700 = 0; SOURCE(16469, 747) line2←v13728 = 0; SOURCE(16610, 126) { word var←c73476; { W2 var←c73508; word var←c01013; { word x159; word x160; *(float*)&var←c73508.f0 = ( x159 = hi←v13628.f0, *(float*)&x159 ) - ( x160 = lo←v13600.f0, *(float*)&x160 ); }; { word x161; word x162; *(float*)&var←c73508.f1 = ( x161 = hi←v13628.f1, *(float*)&x161 ) - ( x162 = lo←v13600.f1, *(float*)&x162 ); }; { word pd163; pd163 = (* (( (ptr) (* (( (ptr) gf←c79844)+239)/* var←c73540 */ ))+6) ); var←c01013 = (word) ( *( (fPt) ((* (ptr) pd163 ))))(var←c73508, pd163); }; { word x164; word x165; *(float*)&var←c73476 = ( x164 = var←c01013, *(float*)&x164 ) + ( x165 = degrees←v13544, *(float*)&x165 ); }; }; { word pd166; pd166 = (* (( (ptr) (* (( (ptr) gf←c79844)+235)/* var←c72836 */ ))+11) ); loLine←v24984 = (word) ( *( (fPt) ((* (ptr) pd166 ))))(lo←v13600, var←c73476, pd166); }; }; SOURCE(16738, 126) { word var←c73572; { W2 var←c73604; word var←c01014; { word x167; word x168; *(float*)&var←c73604.f0 = ( x167 = lo←v13600.f0, *(float*)&x167 ) - ( x168 = hi←v13628.f0, *(float*)&x168 ); }; { word x169; word x170; *(float*)&var←c73604.f1 = ( x169 = lo←v13600.f1, *(float*)&x169 ) - ( x170 = hi←v13628.f1, *(float*)&x170 ); }; { word pd171; pd171 = (* (( (ptr) (* (( (ptr) gf←c79844)+239)/* var←c73540 */ ))+6) ); var←c01014 = (word) ( *( (fPt) ((* (ptr) pd171 ))))(var←c73604, pd171); }; { word x172; word x173; *(float*)&var←c73572 = ( x172 = var←c01014, *(float*)&x172 ) + ( x173 = degrees←v13544, *(float*)&x173 ); }; }; { word pd174; pd174 = (* (( (ptr) (* (( (ptr) gf←c79844)+235)/* var←c72836 */ ))+11) ); hiLine←v25012 = (word) ( *( (fPt) ((* (ptr) pd174 ))))(hi←v13628, var←c73572, pd174); }; }; SOURCE(16866, 27) line1←v13700 = XR←NewObject(8, (* (( (ptr) gf←c79844)+16) )); SOURCE(16895, 22) (* (ptr) line1←v13700 ) = 3; SOURCE(16919, 90) { word var←c73668; var←c73668 = XR←NewObject(12, (* (( (ptr) gf←c79844)+21) )); (* (ptr) var←c73668 ) = loLine←v24984; (* (( (ptr) var←c73668)+1) ) = degrees←v13544; (* (( (ptr) line1←v13700)+1) ) = var←c73668; }; SOURCE(17011, 29) (void) AddAlignment←P1740(line1←v13700, alignBag←v13656); SOURCE(17042, 27) line2←v13728 = XR←NewObject(8, (* (( (ptr) gf←c79844)+16) )); SOURCE(17071, 22) (* (ptr) line2←v13728 ) = 3; SOURCE(17095, 90) { word var←c73732; var←c73732 = XR←NewObject(12, (* (( (ptr) gf←c79844)+21) )); (* (ptr) var←c73732 ) = hiLine←v25012; (* (( (ptr) var←c73732)+1) ) = degrees←v13544; (* (( (ptr) line2←v13728)+1) ) = var←c73732; }; SOURCE(17187, 29) (void) AddAlignment←P1740(line2←v13728, alignBag←v13656); /* removed tail goto */ (* (ptr) formal←c0411 ) = line1←v13700; (* (( (ptr) formal←c0411)+1) ) = line2←v13728; return; } static void SegmentAddDistanceLines←P2460(formal←c0422, distance←v13788, segNum←v13816, lo←v13844, hi←v13872, alignBag←v13900) word formal←c0422; word distance←v13788; word segNum←v13816; W2 lo←v13844; W2 hi←v13872; word alignBag←v13900; { register ptr gf←c79876 = (ptr) &globalframe; word line1←v13944; word line2←v13972; word line←v25056 = 0; word leftLine←v25084 = 0; word rightLine←v25112 = 0; /* SegmentAddDistanceLines: */ SOURCE(17223, 591) SOURCE(17223, 591) line1←v13944 = 0; SOURCE(17223, 591) line2←v13972 = 0; SOURCE(17398, 37) { word pd175; pd175 = (* (( (ptr) (* (( (ptr) gf←c79876)+235)/* var←c72836 */ ))+8) ); line←v25056 = (word) ( *( (fPt) ((* (ptr) pd175 ))))(lo←v13844, hi←v13872, pd175); }; SOURCE(17438, 49) { word pd176; pd176 = (* (( (ptr) (* (( (ptr) gf←c79876)+235)/* var←c72836 */ ))+13) ); leftLine←v25084 = (word) ( *( (fPt) ((* (ptr) pd176 ))))(line←v25056, distance←v13788, pd176); }; SOURCE(17489, 27) line1←v13944 = XR←NewObject(8, (* (( (ptr) gf←c79876)+16) )); SOURCE(17518, 25) (* (ptr) line1←v13944 ) = 1; SOURCE(17545, 22) (* (( (ptr) line1←v13944)+1) ) = leftLine←v25084; SOURCE(17569, 29) (void) AddAlignment←P1740(line1←v13944, alignBag←v13900); SOURCE(17601, 213) { float tf177; word x178; word x179; if ((FABS(( x178 = distance←v13788, *(float*)&x178 ), tf177) > ( x179 = (* (ptr) &fc115 ), *(float*)&x179 ))) { SOURCE(17631, 51) { word pd180; pd180 = (* (( (ptr) (* (( (ptr) gf←c79876)+235)/* var←c72836 */ ))+14) ); rightLine←v25112 = (word) ( *( (fPt) ((* (ptr) pd180 ))))(line←v25056, distance←v13788, pd180); }; SOURCE(17684, 27) line2←v13972 = XR←NewObject(8, (* (( (ptr) gf←c79876)+16) )); SOURCE(17713, 25) (* (ptr) line2←v13972 ) = 1; SOURCE(17740, 23) (* (( (ptr) line2←v13972)+1) ) = rightLine←v25112; SOURCE(17765, 29) (void) AddAlignment←P1740(line2←v13972, alignBag←v13900); } else { SOURCE(17803, 11) line2←v13972 = 0; }; }; /* removed tail goto */ (* (ptr) formal←c0422 ) = line1←v13944; (* (( (ptr) formal←c0422)+1) ) = line2←v13972; return; } static void SetStaticBags←P2520(ggData←v14032) word ggData←v14032; { register ptr gf←c79908 = (ptr) &globalframe; word triggerBag←v25156; word alignBag←v25184; word sceneBag←v25212; word scene←v25240; word anchor←v25268; word heuristics←v25296; word filters←v25324; word hideAlignments←v25352; /* SetStaticBags: */ SOURCE(17819, 872) SOURCE(17868, 50) triggerBag←v25156 = (* (( (ptr) (* (( (ptr) ggData←v14032)+18) ))+1) ); SOURCE(17920, 44) alignBag←v25184 = (* (( (ptr) (* (( (ptr) ggData←v14032)+18) ))+4) ); SOURCE(17966, 46) sceneBag←v25212 = (* (( (ptr) (* (( (ptr) ggData←v14032)+18) ))+8) ); SOURCE(18014, 27) scene←v25240 = (* (( (ptr) ggData←v14032)+11) ); SOURCE(18043, 29) anchor←v25268 = (* (( (ptr) ggData←v14032)+14) ); SOURCE(18074, 48) { word pd181; pd181 = (* (( (ptr) (* (( (ptr) gf←c79908)+240)/* var←c73828 */ ))+96) ); heuristics←v25296 = (word) ( *( (fPt) ((* (ptr) pd181 ))))(ggData←v14032, pd181); }; SOURCE(18124, 33) filters←v25324 = (* (( (ptr) ggData←v14032)+18) ); SOURCE(18159, 60) { word pd182; pd182 = (* (( (ptr) (* (( (ptr) gf←c79908)+240)/* var←c73828 */ ))+58) ); hideAlignments←v25352 = (unsigned) (0 == (word) ( *( (fPt) ((* (ptr) pd182 ))))(ggData←v14032, pd182)); }; SOURCE(18222, 469) if ((0 != hideAlignments←v25352)) { SOURCE(18247, 23) (void) FlushAlignBag←P1440(alignBag←v25184); SOURCE(18272, 25) (void) FlushTriggerBag←P120(sceneBag←v25212); SOURCE(18299, 35) (void) FillStaticSceneBag←P1020(scene←v25240, sceneBag←v25212); } else { SOURCE(18345, 45) { word pd183; pd183 = (* (( (ptr) (* (( (ptr) gf←c79908)+241)/* var←c73860 */ ))+12) ); (void) ( *( (fPt) ((* (ptr) pd183 ))))((* (( (ptr) gf←c79908)+39) ), (* (( (ptr) gf←c79908)+37) ), pd183); }; SOURCE(18392, 27) (void) FlushTriggerBag←P120(triggerBag←v25156); SOURCE(18421, 59) (void) FillStaticTriggerBag←P900(anchor←v25268, scene←v25240, heuristics←v25296, triggerBag←v25156); SOURCE(18482, 25) (void) FlushTriggerBag←P120(sceneBag←v25212); SOURCE(18509, 35) (void) FillStaticSceneBag←P1020(scene←v25240, sceneBag←v25212); SOURCE(18546, 23) (void) FlushAlignBag←P1440(alignBag←v25184); SOURCE(18571, 74) (void) FillStaticAlignBag←P1620(triggerBag←v25156, sceneBag←v25212, ggData←v14032, hideAlignments←v25352, alignBag←v25184) ; SOURCE(18647, 44) { word pd184; pd184 = (* (( (ptr) (* (( (ptr) gf←c79908)+241)/* var←c73860 */ ))+14) ); (void) ( *( (fPt) ((* (ptr) pd184 ))))((* (( (ptr) gf←c79908)+39) ), (* (( (ptr) gf←c79908)+37) ), pd184); }; }; } static void SetStaticTriggerAndAlignBags←P2580(ggData←v14092) word ggData←v14092; { register ptr gf←c79940 = (ptr) &globalframe; word triggerBag←v25396; word alignBag←v25424; word scene←v25452; word anchor←v25480; word heuristics←v25508; word filters←v25536; word hideAlignments←v25564; /* SetStaticTriggerAndAlignBags: */ SOURCE(18700, 664) SOURCE(18763, 50) triggerBag←v25396 = (* (( (ptr) (* (( (ptr) ggData←v14092)+18) ))+1) ); SOURCE(18815, 44) alignBag←v25424 = (* (( (ptr) (* (( (ptr) ggData←v14092)+18) ))+4) ); SOURCE(18861, 27) scene←v25452 = (* (( (ptr) ggData←v14092)+11) ); SOURCE(18890, 29) anchor←v25480 = (* (( (ptr) ggData←v14092)+14) ); SOURCE(18921, 48) { word pd185; pd185 = (* (( (ptr) (* (( (ptr) gf←c79940)+240)/* var←c73828 */ ))+96) ); heuristics←v25508 = (word) ( *( (fPt) ((* (ptr) pd185 ))))(ggData←v14092, pd185); }; SOURCE(18971, 33) filters←v25536 = (* (( (ptr) ggData←v14092)+18) ); SOURCE(19006, 60) { word pd186; pd186 = (* (( (ptr) (* (( (ptr) gf←c79940)+240)/* var←c73828 */ ))+58) ); hideAlignments←v25564 = (unsigned) (0 == (word) ( *( (fPt) ((* (ptr) pd186 ))))(ggData←v14092, pd186)); }; SOURCE(19068, 296) if ((0 != hideAlignments←v25564)) { SOURCE(19093, 23) (void) FlushAlignBag←P1440(alignBag←v25424); } else { SOURCE(19125, 241) { word sceneBag←v25608; SOURCE(19127, 46) sceneBag←v25608 = (* (( (ptr) (* (( (ptr) ggData←v14092)+18) ))+8) ); SOURCE(19175, 27) (void) FlushTriggerBag←P120(triggerBag←v25396); SOURCE(19204, 59) (void) FillStaticTriggerBag←P900(anchor←v25480, scene←v25452, heuristics←v25508, triggerBag←v25396); SOURCE(19265, 23) (void) FlushAlignBag←P1440(alignBag←v25424); SOURCE(19290, 74) (void) FillStaticAlignBag←P1620(triggerBag←v25396, sceneBag←v25608, ggData←v14092, hideAlignments←v25564, alignBag←v25424) ; }; }; } static void SetDynamicBags←P2640(ggData←v14152, action←v14180) word ggData←v14152; word action←v14180; { register ptr gf←c79972 = (ptr) &globalframe; word triggerBag←v25652; word alignBag←v25680; word sceneBag←v25708; word scene←v25736; word anchor←v25764; word heuristics←v25792; word filters←v25820; word hideAlignments←v25848; /* SetDynamicBags: */ SOURCE(19373, 1118) SOURCE(19437, 50) triggerBag←v25652 = (* (( (ptr) (* (( (ptr) ggData←v14152)+18) ))+1) ); SOURCE(19489, 44) alignBag←v25680 = (* (( (ptr) (* (( (ptr) ggData←v14152)+18) ))+4) ); SOURCE(19535, 46) sceneBag←v25708 = (* (( (ptr) (* (( (ptr) ggData←v14152)+18) ))+8) ); SOURCE(19583, 27) scene←v25736 = (* (( (ptr) ggData←v14152)+11) ); SOURCE(19612, 29) anchor←v25764 = (* (( (ptr) ggData←v14152)+14) ); SOURCE(19643, 48) { word pd187; pd187 = (* (( (ptr) (* (( (ptr) gf←c79972)+240)/* var←c73828 */ ))+96) ); heuristics←v25792 = (word) ( *( (fPt) ((* (ptr) pd187 ))))(ggData←v14152, pd187); }; SOURCE(19693, 33) filters←v25820 = (* (( (ptr) ggData←v14152)+18) ); SOURCE(19728, 60) { word pd188; pd188 = (* (( (ptr) (* (( (ptr) gf←c79972)+240)/* var←c73828 */ ))+58) ); hideAlignments←v25848 = (unsigned) (0 == (word) ( *( (fPt) ((* (ptr) pd188 ))))(ggData←v14152, pd188)); }; SOURCE(19791, 700) if ((0 != hideAlignments←v25848)) { SOURCE(19816, 23) (void) FlushAlignBag←P1440(alignBag←v25680); SOURCE(19841, 25) (void) FlushTriggerBag←P120(sceneBag←v25708); SOURCE(19868, 27) (void) FlushTriggerBag←P120(triggerBag←v25652); SOURCE(19926, 89) (void) FillDynamicSceneBag←P1080(scene←v25736, sceneBag←v25708, (* (( (ptr) (* (( (ptr) ggData←v14152)+16) ))+17) ), (* (W5Pt) ( ( (ptr) (* (( (ptr) ggData←v14152)+16) ))+18) )); } else { SOURCE(20026, 46) { word pd189; pd189 = (* (( (ptr) (* (( (ptr) gf←c79972)+241)/* var←c73860 */ ))+12) ); (void) ( *( (fPt) ((* (ptr) pd189 ))))((* (( (ptr) gf←c79972)+36) ), (* (( (ptr) gf←c79972)+37) ), pd189); }; SOURCE(20074, 27) (void) FlushTriggerBag←P120(triggerBag←v25652); SOURCE(20103, 113) (void) FillDynamicTriggerBag←P960(anchor←v25764, scene←v25736, heuristics←v25792, triggerBag←v25652, (* (( (ptr) (* (( (ptr) ggData←v14152)+16) ))+17) ), (* (W5Pt) (( (ptr) (* (( (ptr) ggData←v14152)+16) ))+18) )); SOURCE(20218, 25) (void) FlushTriggerBag←P120(sceneBag←v25708); SOURCE(20245, 89) (void) FillDynamicSceneBag←P1080(scene←v25736, sceneBag←v25708, (* (( (ptr) (* (( (ptr) ggData←v14152)+16) ))+17) ), (* (W5Pt) ( ( (ptr) (* (( (ptr) ggData←v14152)+16) ))+18) )); SOURCE(20336, 23) (void) FlushAlignBag←P1440(alignBag←v25680); SOURCE(20361, 83) (void) FillDynamicAlignBag←P1680(triggerBag←v25652, sceneBag←v25708, ggData←v14152, hideAlignments←v25848, action←v14180, alignBag←v25680) ; SOURCE(20446, 45) { word pd190; pd190 = (* (( (ptr) (* (( (ptr) gf←c79972)+241)/* var←c73860 */ ))+14) ); (void) ( *( (fPt) ((* (ptr) pd190 ))))((* (( (ptr) gf←c79972)+36) ), (* (( (ptr) gf←c79972)+37) ), pd190); }; }; } static void StaticToDynamicBags←P2700(ggData←v14240, saveForeground←v14268) word ggData←v14240; word saveForeground←v14268; { register ptr gf←c80004 = (ptr) &globalframe; word scene←v25892; W5 bd←v25920; word ec←v25948; word triggerBag←v25976; word sceneBag←v26004; word alignBag←v26032; word heuristics←v26060; word hideAlignments←v26088; word hotMoving←v26116; /* StaticToDynamicBags: */ SOURCE(20501, 2503) SOURCE(20584, 27) scene←v25892 = (* (( (ptr) ggData←v14240)+11) ); SOURCE(20613, 45) bd←v25920 = (* (W5Pt) (( (ptr) (* (( (ptr) ggData←v14240)+16) ))+18) ); SOURCE(20660, 49) ec←v25948 = (* (( (ptr) (* (( (ptr) ggData←v14240)+16) ))+17) ); SOURCE(20711, 50) triggerBag←v25976 = (* (( (ptr) (* (( (ptr) ggData←v14240)+18) ))+1) ); SOURCE(20763, 46) sceneBag←v26004 = (* (( (ptr) (* (( (ptr) ggData←v14240)+18) ))+8) ); SOURCE(20811, 44) alignBag←v26032 = (* (( (ptr) (* (( (ptr) ggData←v14240)+18) ))+4) ); SOURCE(20857, 48) { word pd191; pd191 = (* (( (ptr) (* (( (ptr) gf←c80004)+240)/* var←c73828 */ ))+96) ); heuristics←v26060 = (word) ( *( (fPt) ((* (ptr) pd191 ))))(ggData←v14240, pd191); }; SOURCE(20907, 60) { word pd192; pd192 = (* (( (ptr) (* (( (ptr) gf←c80004)+240)/* var←c73828 */ ))+58) ); hideAlignments←v26088 = (unsigned) (0 == (word) ( *( (fPt) ((* (ptr) pd192 ))))(ggData←v14240, pd192)); }; SOURCE(20969, 42) hotMoving←v26116 = (word) SomeSelectedIsHot←P4440(scene←v25892); SOURCE(21014, 1990) if ((0 != (* (( (ptr) (* (( (ptr) ggData←v14240)+15) ))+3) ))) { SOURCE(21093, 23) (void) FlushAlignBag←P1440(alignBag←v26032); SOURCE(21118, 66) (void) CopyTriggerBag←P300((* (( (ptr) (* (( (ptr) ggData←v14240)+18) ))+2) ), triggerBag←v25976); SOURCE(21186, 62) (void) CopyTriggerBag←P300((* (( (ptr) (* (( (ptr) ggData←v14240)+18) ))+9) ), sceneBag←v26004); SOURCE(21250, 42) { word var←c73892; var←c73892 = (word) RemoveMoving←P3420(scene←v25892, sceneBag←v26004, ec←v25948, bd←v25920); }; } else { SOURCE(21301, 1705) { word autoAdded←v26160 = 0; word autoTriggers←v26188 = 0; word filterLists←v26216; word someAlignmentsActive←v26244; SOURCE(21373, 57) { word pd193; pd193 = (* (( (ptr) (* (( (ptr) gf←c80004)+240)/* var←c73828 */ ))+22) ); filterLists←v26216 = (word) ( *( (fPt) ((* (ptr) pd193 ))))(ggData←v14240, pd193); }; SOURCE(21432, 62) someAlignmentsActive←v26244 = (unsigned) (0 == (word) EmptyFilterLists←P3480(filterLists←v26216)); SOURCE(21496, 51) { word pd194; pd194 = (* (( (ptr) (* (( (ptr) gf←c80004)+241)/* var←c73860 */ ))+12) ); (void) ( *( (fPt) ((* (ptr) pd194 ))))((* (( (ptr) gf←c80004)+34) ), (* (( (ptr) gf←c80004)+37) ), pd194); }; SOURCE(21550, 318) if ((0 != someAlignmentsActive←v26244)) { SOURCE(21581, 66) (void) CopyTriggerBag←P300((* (( (ptr) (* (( (ptr) ggData←v14240)+18) ))+2) ), triggerBag←v25976); SOURCE(21649, 44) { word var←c73924; var←c73924 = (word) RemoveMoving←P3420(scene←v25892, triggerBag←v25976, ec←v25948, bd←v25920); }; SOURCE(21695, 87) { W2 var←c73956; (void) AddHeuristics←P3240((word) &var←c73956, scene←v25892, heuristics←v26060, (* (( (ptr) gf←c80004)+41) ), triggerBag←v25976, ec←v25948 , bd←v25920); autoTriggers←v26188 = var←c73956.f1; autoAdded←v26160 = var←c73956.f0; }; SOURCE(21784, 37) (* (( (ptr) (* (( (ptr) ggData←v14240)+18) ))+3) ) = 1; } else { SOURCE(21830, 38) (* (( (ptr) (* (( (ptr) ggData←v14240)+18) ))+3) ) = 0; }; SOURCE(21870, 62) (void) CopyTriggerBag←P300((* (( (ptr) (* (( (ptr) ggData←v14240)+18) ))+9) ), sceneBag←v26004); SOURCE(21934, 42) { word var←c73988; var←c73988 = (word) RemoveMoving←P3420(scene←v25892, sceneBag←v26004, ec←v25948, bd←v25920); }; SOURCE(21978, 970) if (((0 != autoAdded←v26160) || (0 != hotMoving←v26116))) { SOURCE(22011, 44) (* (( (ptr) (* (( (ptr) ggData←v14240)+18) ))+5) ) = 0; SOURCE(22057, 727) if ((0 != hotMoving←v26116)) { SOURCE(22092, 36) (* (( (ptr) (* (( (ptr) ggData←v14240)+18) ))+7) ) = 0; SOURCE(22130, 23) (void) FlushAlignBag←P1440(alignBag←v26032); SOURCE(22155, 60) (void) BuiltInFilters←P3600(triggerBag←v25976, ggData←v14240, hideAlignments←v26088, alignBag←v26032); SOURCE(22217, 40) { word pd195; pd195 = (* (( (ptr) (* (( (ptr) gf←c80004)+242)/* var←c74020 */ ))+25) ); (void) ( *( (fPt) ((* (ptr) pd195 ))))(ggData←v14240, 1, pd195); }; } else { SOURCE(22266, 520) { word alignObjects←v26372 = 0; SOURCE(22330, 35) (* (( (ptr) (* (( (ptr) ggData←v14240)+18) ))+7) ) = 1; SOURCE(22367, 60) (void) CopyAlignBag←P1200((* (( (ptr) (* (( (ptr) ggData←v14240)+18) ))+6) ), alignBag←v26032); SOURCE(22429, 210) { register word list←v26500; list←v26500 = autoTriggers←v26188; lab←L100045: ; if ((list←v26500 != 0)) { } else { goto lab←L100042; }; SOURCE(22509, 130) { word var←c74052; var←c74052 = (word) IncrementalFilterSlice←P3780((* (ptr) list←v26500 ), filterLists←v26216, hideAlignments←v26088, alignBag←v26032) ; { word pd196; pd196 = (* (( (ptr) (* (( (ptr) gf←c80004)+230)/* var←c71428 */ ))+9) ); alignObjects←v26372 = (word) ( *( (fPt) ((* (ptr) pd196 ))))(var←c74052, alignObjects←v26372, pd196); }; }; list←v26500 = (* (( (ptr) list←v26500)+1) ); goto lab←L100045; lab←L100042: ; }; SOURCE(22650, 80) if ((0 != saveForeground←v14268)) { SOURCE(22675, 32) { word pd197; pd197 = (* (( (ptr) (* (( (ptr) gf←c80004)+242)/* var←c74020 */ ))+27) ); (void) ( *( (fPt) ((* (ptr) pd197 ))))(ggData←v14240, pd197); }; SOURCE(22709, 21) (void) SaveLineTable←P4860(ggData←v14240); }; SOURCE(22735, 49) { word pd198; pd198 = (* (( (ptr) (* (( (ptr) gf←c80004)+242)/* var←c74020 */ ))+24) ); (void) ( *( (fPt) ((* (ptr) pd198 ))))(ggData←v14240, alignObjects←v26372, pd198); }; }; }; } else { SOURCE(22867, 43) (* (( (ptr) (* (( (ptr) ggData←v14240)+18) ))+5) ) = 1; SOURCE(22912, 36) (* (( (ptr) (* (( (ptr) ggData←v14240)+18) ))+7) ) = 0; }; SOURCE(22954, 50) { word pd199; pd199 = (* (( (ptr) (* (( (ptr) gf←c80004)+241)/* var←c73860 */ ))+14) ); (void) ( *( (fPt) ((* (ptr) pd199 ))))((* (( (ptr) gf←c80004)+34) ), (* (( (ptr) gf←c80004)+37) ), pd199); }; }; }; } static void DynamicToStaticBags←P2760(ggData←v14328, restoreForeground←v14356) word ggData←v14328; word restoreForeground←v14356; { register ptr gf←c80036 = (ptr) &globalframe; word alignBag←v26628; word filters←v26656; word hideAlignments←v26684; /* DynamicToStaticBags: */ SOURCE(23014, 905) SOURCE(23100, 44) alignBag←v26628 = (* (( (ptr) (* (( (ptr) ggData←v14328)+18) ))+4) ); SOURCE(23146, 33) filters←v26656 = (* (( (ptr) ggData←v14328)+18) ); SOURCE(23181, 60) { word pd200; pd200 = (* (( (ptr) (* (( (ptr) gf←c80036)+240)/* var←c73828 */ ))+58) ); hideAlignments←v26684 = (unsigned) (0 == (word) ( *( (fPt) ((* (ptr) pd200 ))))(ggData←v14328, pd200)); }; SOURCE(23244, 51) { word pd201; pd201 = (* (( (ptr) (* (( (ptr) gf←c80036)+241)/* var←c73860 */ ))+12) ); (void) ( *( (fPt) ((* (ptr) pd201 ))))((* (( (ptr) gf←c80036)+33) ), (* (( (ptr) gf←c80036)+37) ), pd201); }; SOURCE(23297, 71) if ((0 != (* (( (ptr) (* (( (ptr) ggData←v14328)+18) ))+3) ))) { SOURCE(23336, 32) (void) SwapOldAndNewTriggerBags←P2880(ggData←v14328); }; SOURCE(23370, 30) (void) SwapOldAndNewSceneBags←P2940(ggData←v14328); SOURCE(23402, 459) if ((0 != (* (( (ptr) (* (( (ptr) ggData←v14328)+18) ))+5) ))) { } else { SOURCE(23477, 384) if ((0 != (* (( (ptr) (* (( (ptr) ggData←v14328)+18) ))+7) ))) { SOURCE(23538, 30) (void) SwapOldAndNewAlignBags←P2820(ggData←v14328); SOURCE(23570, 89) if ((0 != restoreForeground←v14356)) { SOURCE(23598, 35) { word pd202; pd202 = (* (( (ptr) (* (( (ptr) gf←c80036)+242)/* var←c74020 */ ))+28) ); (void) ( *( (fPt) ((* (ptr) pd202 ))))(ggData←v14328, pd202); }; SOURCE(23635, 24) (void) RestoreLineTable←P4920(ggData←v14328); }; } else { SOURCE(23719, 23) (void) FlushAlignBag←P1440(alignBag←v26628); SOURCE(23744, 75) (void) BuiltInFilters←P3600((* (( (ptr) (* (( (ptr) ggData←v14328)+18) ))+1) ), ggData←v14328, hideAlignments←v26684, alignBag←v26628) ; SOURCE(23821, 40) { word pd203; pd203 = (* (( (ptr) (* (( (ptr) gf←c80036)+242)/* var←c74020 */ ))+25) ); (void) ( *( (fPt) ((* (ptr) pd203 ))))(ggData←v14328, 1, pd203); }; }; }; SOURCE(23869, 50) { word pd204; pd204 = (* (( (ptr) (* (( (ptr) gf←c80036)+241)/* var←c73860 */ ))+14) ); (void) ( *( (fPt) ((* (ptr) pd204 ))))((* (( (ptr) gf←c80036)+33) ), (* (( (ptr) gf←c80036)+37) ), pd204); }; } static void SwapOldAndNewAlignBags←P2820(ggData←v14416) word ggData←v14416; { word tempBag←v26728 = 0; /* SwapOldAndNewAlignBags: */ SOURCE(23925, 194) SOURCE(23994, 33) tempBag←v26728 = (* (( (ptr) (* (( (ptr) ggData←v14416)+18) ))+4) ); SOURCE(24029, 52) (* (( (ptr) (* (( (ptr) ggData←v14416)+18) ))+4) ) = (* (( (ptr) (* (( (ptr) ggData←v14416)+18) ))+6) ); SOURCE(24083, 36) (* (( (ptr) (* (( (ptr) ggData←v14416)+18) ))+6) ) = tempBag←v26728; } static void SwapOldAndNewTriggerBags←P2880(ggData←v14476) word ggData←v14476; { word tempBag←v26772 = 0; /* SwapOldAndNewTriggerBags: */ SOURCE(24125, 206) SOURCE(24198, 35) tempBag←v26772 = (* (( (ptr) (* (( (ptr) ggData←v14476)+18) ))+1) ); SOURCE(24235, 56) (* (( (ptr) (* (( (ptr) ggData←v14476)+18) ))+1) ) = (* (( (ptr) (* (( (ptr) ggData←v14476)+18) ))+2) ); SOURCE(24293, 38) (* (( (ptr) (* (( (ptr) ggData←v14476)+18) ))+2) ) = tempBag←v26772; } static void SwapOldAndNewSceneBags←P2940(ggData←v14536) word ggData←v14536; { word tempBag←v26816 = 0; /* SwapOldAndNewSceneBags: */ SOURCE(24337, 196) SOURCE(24408, 33) tempBag←v26816 = (* (( (ptr) (* (( (ptr) ggData←v14536)+18) ))+8) ); SOURCE(24443, 52) (* (( (ptr) (* (( (ptr) ggData←v14536)+18) ))+8) ) = (* (( (ptr) (* (( (ptr) ggData←v14536)+18) ))+9) ); SOURCE(24497, 36) (* (( (ptr) (* (( (ptr) ggData←v14536)+18) ))+9) ) = tempBag←v26816; } static word UpdateBagsForAdd←P3000(oldAncestor←v14596, newAncestorD←v14624, trajEnd←v14652, ggData←v14680) word oldAncestor←v14596; word newAncestorD←v14624; word trajEnd←v14652; word ggData←v14680; { register ptr gf←c80068 = (ptr) &globalframe; word repaintForeground←v14724; word triggerBag←v26860; word sceneBag←v26888; word alignBag←v26916; word scene←v26944; word newHot←v26972 = 0; word oldHot←v27000 = 0; word newWhole←v27028 = 0; word oldWhole←v27056 = 0; word hotMinusOldHot←v27084 = 0; word hideAlignments←v27112; word alignObjects←v27140 = 0; /* UpdateBagsForAdd: */ SOURCE(24539, 1867) SOURCE(24539, 1867) repaintForeground←v14724 = 0; SOURCE(24702, 50) triggerBag←v26860 = (* (( (ptr) (* (( (ptr) ggData←v14680)+18) ))+1) ); SOURCE(24754, 46) sceneBag←v26888 = (* (( (ptr) (* (( (ptr) ggData←v14680)+18) ))+8) ); SOURCE(24802, 44) alignBag←v26916 = (* (( (ptr) (* (( (ptr) ggData←v14680)+18) ))+4) ); SOURCE(24848, 27) scene←v26944 = (* (( (ptr) ggData←v14680)+11) ); SOURCE(24946, 60) { word pd205; pd205 = (* (( (ptr) (* (( (ptr) gf←c80068)+240)/* var←c73828 */ ))+58) ); hideAlignments←v27112 = (unsigned) (0 == (word) ( *( (fPt) ((* (ptr) pd205 ))))(ggData←v14680, pd205)); }; SOURCE(25044, 54) oldHot←v27000 = (word) RemoveEntireHotSlice←P4020(oldAncestor←v14596, triggerBag←v26860); SOURCE(25100, 60) { word pd206; pd206 = (* (( (ptr) (* (( (ptr) gf←c80068)+243)/* var←c74084 */ ))+20) ); newHot←v26972 = (word) ( *( (fPt) ((* (ptr) pd206 ))))((* (ptr) newAncestorD←v14624 ), 1, pd206); }; SOURCE(25162, 61) if ((newHot←v26972 != 0)) { SOURCE(25183, 40) { word var←c74116; var←c74116 = (word) AddSliceFeature←P3720(newHot←v26972, triggerBag←v26860); }; }; SOURCE(25225, 54) oldWhole←v27056 = (word) RemoveEntireHotSlice←P4020(oldAncestor←v14596, sceneBag←v26888); SOURCE(25281, 62) { word pd207; pd207 = (* (( (ptr) (* (( (ptr) gf←c80068)+232)/* var←c71940 */ ))+29) ); newWhole←v27028 = (word) ( *( (fPt) ((* (ptr) pd207 ))))((* (ptr) newAncestorD←v14624 ), 0, 6, pd207); }; SOURCE(25345, 40) { word var←c74148; var←c74148 = (word) AddSliceFeature←P3720(newWhole←v27028, sceneBag←v26888); }; SOURCE(25387, 1019) if ((newHot←v26972 == 0)) { SOURCE(25408, 26) hotMinusOldHot←v27084 = 0; } else { SOURCE(25434, 974) { word maskD←v27268 = 0; word outD←v27296 = 0; word traj←v27324; word trajData←v27352; word filterLists←v27380; SOURCE(25530, 99) { word pd208; pd208 = (* (( (ptr) (* (( (ptr) gf←c80068)+244)/* var←c74180 */ ))+78) ); traj←v27324 = (* (ptr) ( *( (fPt) ((* (ptr) pd208 ))))((* (ptr) newAncestorD←v14624 ), (* (( (ptr) newAncestorD←v14624)+1) ), 1, (* (( (ptr) gf←c80068)+32) ), pd208) ); }; SOURCE(25631, 38) trajData←v27352 = XR←Narrow((* (( (ptr) traj←v27324)+1) ), (* (( (ptr) gf←c80068)+31) )); SOURCE(25671, 57) { word pd209; pd209 = (* (( (ptr) (* (( (ptr) gf←c80068)+240)/* var←c73828 */ ))+22) ); filterLists←v27380 = (word) ( *( (fPt) ((* (ptr) pd209 ))))(ggData←v14680, pd209); }; SOURCE(25730, 423) if ((trajEnd←v14652 == 0)) { SOURCE(25751, 184) { word var←c74212; word var←c74308; { word var←c74244; { word pd210; pd210 = (* (( (ptr) (* (( (ptr) gf←c80068)+245)/* var←c74276 */ ))+9) ); var←c74244 = (word) ( *( (fPt) ((* (ptr) pd210 ))))(trajData←v27352, 0, pd210); }; { word pd211; pd211 = (* (( (ptr) (* (( (ptr) gf←c80068)+233)/* var←c71972 */ ))+8) ); var←c74212 = (word) ( *( (fPt) ((* (ptr) pd211 ))))(traj←v27324, var←c74244, pd211); }; }; { word var←c74340; { word pd212; pd212 = (* (( (ptr) (* (( (ptr) gf←c80068)+245)/* var←c74276 */ ))+8) ); var←c74340 = (word) ( *( (fPt) ((* (ptr) pd212 ))))(trajData←v27352, 0, pd212); }; { word pd213; pd213 = (* (( (ptr) (* (( (ptr) gf←c80068)+233)/* var←c71972 */ ))+8) ); var←c74308 = (word) ( *( (fPt) ((* (ptr) pd213 ))))(traj←v27324, var←c74340, pd213); }; }; { word pd214; pd214 = (* (( (ptr) (* (( (ptr) gf←c80068)+245)/* var←c74276 */ ))+20) ); maskD←v27268 = (word) ( *( (fPt) ((* (ptr) pd214 ))))(var←c74212, var←c74308, pd214); }; }; } else { SOURCE(25935, 218) { word var←c74372; word var←c74500; { word var←c74404; { word var←c74436; { word pd215; pd215 = (* (( (ptr) (* (( (ptr) gf←c80068)+246)/* var←c74468 */ ))+37) ); var←c74436 = (word) ( *( (fPt) ((* (ptr) pd215 ))))(traj←v27324, pd215); }; { word pd216; pd216 = (* (( (ptr) (* (( (ptr) gf←c80068)+245)/* var←c74276 */ ))+9) ); var←c74404 = (word) ( *( (fPt) ((* (ptr) pd216 ))))(trajData←v27352, var←c74436, pd216); }; }; { word pd217; pd217 = (* (( (ptr) (* (( (ptr) gf←c80068)+233)/* var←c71972 */ ))+8) ); var←c74372 = (word) ( *( (fPt) ((* (ptr) pd217 ))))(traj←v27324, var←c74404, pd217); }; }; { word var←c74532; { word var←c74564; { word pd218; pd218 = (* (( (ptr) (* (( (ptr) gf←c80068)+246)/* var←c74468 */ ))+39) ); var←c74564 = (word) ( *( (fPt) ((* (ptr) pd218 ))))(traj←v27324, pd218); }; { word pd219; pd219 = (* (( (ptr) (* (( (ptr) gf←c80068)+245)/* var←c74276 */ ))+8) ); var←c74532 = (word) ( *( (fPt) ((* (ptr) pd219 ))))(trajData←v27352, var←c74564, pd219); }; }; { word pd220; pd220 = (* (( (ptr) (* (( (ptr) gf←c80068)+233)/* var←c71972 */ ))+8) ); var←c74500 = (word) ( *( (fPt) ((* (ptr) pd220 ))))(traj←v27324, var←c74532, pd220); }; }; { word pd221; pd221 = (* (( (ptr) (* (( (ptr) gf←c80068)+245)/* var←c74276 */ ))+20) ); maskD←v27268 = (word) ( *( (fPt) ((* (ptr) pd221 ))))(var←c74372, var←c74500, pd221); }; }; }; SOURCE(26155, 60) { word pd222; pd222 = (* (( (ptr) (* (( (ptr) gf←c80068)+244)/* var←c74180 */ ))+84) ); outD←v27296 = (word) ( *( (fPt) ((* (ptr) pd222 ))))(maskD←v27268, pd222); }; SOURCE(26217, 95) { word var←c74596; { word pd223; pd223 = (* (( (ptr) (* (( (ptr) gf←c80068)+232)/* var←c71940 */ ))+31) ); var←c74596 = (word) ( *( (fPt) ((* (ptr) pd223 ))))(newWhole←v27028, outD←v27296, pd223); }; { word pd224; pd224 = (* (( (ptr) (* (( (ptr) gf←c80068)+232)/* var←c71940 */ ))+31) ); hotMinusOldHot←v27084 = (word) ( *( (fPt) ((* (ptr) pd224 ))))(newHot←v26972, var←c74596, pd224); }; }; SOURCE(26314, 92) alignObjects←v27140 = (word) IncrementalFilterSlice←P3780(hotMinusOldHot←v27084, filterLists←v27380, hideAlignments←v27112, alignBag←v26916) ; }; }; SOURCE(24539, 1867) return(repaintForeground←v14724); } static void UpdateBagsForNewSlices←P3060(newSlices←v14784, ggData←v14812) word newSlices←v14784; word ggData←v14812; { register ptr gf←c80100 = (ptr) &globalframe; word triggerBag←v27424; word sceneBag←v27452; word alignBag←v27480; word scene←v27508; /* UpdateBagsForNewSlices: */ SOURCE(26415, 467) SOURCE(26498, 50) triggerBag←v27424 = (* (( (ptr) (* (( (ptr) ggData←v14812)+18) ))+1) ); SOURCE(26550, 46) sceneBag←v27452 = (* (( (ptr) (* (( (ptr) ggData←v14812)+18) ))+8) ); SOURCE(26598, 44) alignBag←v27480 = (* (( (ptr) (* (( (ptr) ggData←v14812)+18) ))+4) ); SOURCE(26644, 27) scene←v27508 = (* (( (ptr) ggData←v14812)+11) ); SOURCE(26674, 208) { register word list←v27552; list←v27552 = newSlices←v14784; lab←L100049: ; if ((list←v27552 != 0)) { } else { goto lab←L100046; }; { word firstSlice←v27680; word wholeD←v27708; SOURCE(26741, 30) firstSlice←v27680 = (* (ptr) list←v27552 ); SOURCE(26773, 69) { word pd225; pd225 = (* (( (ptr) (* (( (ptr) gf←c80100)+232)/* var←c71940 */ ))+29) ); wholeD←v27708 = (word) ( *( (fPt) ((* (ptr) pd225 ))))(firstSlice←v27680, 0, 6, pd225); }; SOURCE(26844, 38) { word var←c74628; var←c74628 = (word) AddSliceFeature←P3720(wholeD←v27708, sceneBag←v27452); }; }; list←v27552 = (* (( (ptr) list←v27552)+1) ); goto lab←L100049; lab←L100046: ; }; } static void AddAnchorTrigger←P3120(anchor←v14956, triggerBag←v14984) word anchor←v14956; word triggerBag←v14984; { /* AddAnchorTrigger: */ SOURCE(26897, 111) SOURCE(26964, 44) { word var←c74660; var←c74660 = (word) CreateAnchorTrigger←P3660(anchor←v14956, triggerBag←v14984); }; } static void AddAllHotSlices←P3180(scene←v15044, formal←c01063) word scene←v15044; word formal←c01063; { W8 var←c80132; /* declaration of triggerBag←v15072 skipped */ register ptr gf←c80164 = (ptr) &globalframe; /* declaration of var←c74692 skipped */ /* declaration of feature←v27752 skipped */ var←c80132.f4/* triggerBag←v15072 */ = formal←c01063; /* AddAllHotSlices: */ SOURCE(27014, 333) { word tmpAddr226; tmpAddr226 = (word) (( (ptr) &var←c80132)+5)/* var←c74692 */ ; (* (ptr) tmpAddr226 ) = ( ((word) (fPt) AddHotToTriggerBag←P7248) ); (* (( (ptr) tmpAddr226) + 1) ) = 1; }; SOURCE(27079, 20) var←c80132.f7/* feature←v27752 */ = 0; SOURCE(27277, 70) { word var←c74756; word pd227; pd227 = (* (( (ptr) (* (( (ptr) gf←c80164)+247)/* var←c74724 */ ))+32) ); var←c74756 = (word) ( *( (fPt) ((* (ptr) pd227 ))))(scene←v15044, 0, (word) (( (bPt) &var←c80132)+20)/* var←c74692 */ , 1, 0, pd227) ; }; } static word AddHotToTriggerBag←P7248(sliceD←v27856, formal←c80196) word sliceD←v27856; word formal←c80196; { word done←v27900; formal←c80196 = (formal←c80196 - 20); /* AddHotToTriggerBag: */ SOURCE(27101, 171) SOURCE(27101, 171) done←v27900 = 0; SOURCE(27185, 54) (* (( (ptr) formal←c80196)+7) ) = (word) FeatureFromSlice←P780((* (ptr) sliceD←v27856 ), (* (( (ptr) sliceD←v27856)+1) )) ; SOURCE(27241, 31) (void) AddFeature←P4080((* (( (ptr) formal←c80196)+7) ), (* (( (ptr) formal←c80196)+4) )); SOURCE(27101, 171) return(done←v27900); } static void AddHeuristics←P3240(formal←c0551, formal←c01064, heuristics←v15160, atom←v15188, formal←c01065, formal←c01066, formal←c01067) word formal←c0551; word formal←c01064; word heuristics←v15160; word atom←v15188; word formal←c01065; word formal←c01066; W5 formal←c01067; { W17 var←c80228; /* declaration of scene←v15132 skipped */ /* declaration of triggerBag←v15216 skipped */ /* declaration of ec←v15244 skipped */ /* declaration of bd←v15272 skipped */ register ptr gf←c80260 = (ptr) &globalframe; /* declaration of autoAdded←v15316 skipped */ /* declaration of autoTriggers←v15344 skipped */ /* declaration of var←c74788 skipped */ /* declaration of feature←v27928 skipped */ (* (( (ptr) &var←c80228)+4)/* scene←v15132 */ ) = formal←c01064; (* (( (ptr) &var←c80228)+5)/* triggerBag←v15216 */ ) = formal←c01065; (* (( (ptr) &var←c80228)+6)/* ec←v15244 */ ) = formal←c01066; (* (W5Pt) (( (ptr) &var←c80228)+7)/* bd←v15272 */ ) = formal←c01067; /* AddHeuristics: */ SOURCE(27353, 1461) { word tmpAddr228; tmpAddr228 = (word) (( (ptr) &var←c80228)+14)/* var←c74788 */ ; (* (ptr) tmpAddr228 ) = ( ((word) (fPt) AddToTriggerBag←P7356) ); (* (( (ptr) tmpAddr228) + 1) ) = 1; }; SOURCE(27353, 1461) (* (( (ptr) &var←c80228)+12)/* autoAdded←v15316 */ ) = 0; SOURCE(27353, 1461) (* (( (ptr) &var←c80228)+13)/* autoTriggers←v15344 */ ) = 0; SOURCE(27568, 20) (* (( (ptr) &var←c80228)+16)/* feature←v27928 */ ) = 0; SOURCE(27590, 29) if ((0 == heuristics←v15160)) { SOURCE(27613, 6) goto lab←L100050; }; SOURCE(27621, 1193) { word var←c74820; var←c74820 = atom←v15188; if ((var←c74820 == (* (( (ptr) gf←c80260)+41) ))) { SOURCE(27647, 1114) SOURCE(28689, 70) { word var←c74852; word pd229; pd229 = (* (( (ptr) (* (( (ptr) gf←c80260)+247)/* var←c74724 */ ))+32) ); var←c74852 = (word) ( *( (fPt) ((* (ptr) pd229 ))))((* (( (ptr) &var←c80228)+4)/* scene←v15132 */ ), 0, (word) (( (bPt) &var←c80228)+56) /* var←c74788 */ , 0, 0, pd229); }; } else { if ((var←c74820 == (* (( (ptr) gf←c80260)+35) ))) { } else { SOURCE(28794, 20) (void) XR←RaiseError((word) (( (bPt) gf←c80260)+172), 0); }; }; }; /* removed tail goto */ lab←L100050: ; (* (ptr) formal←c0551 ) = (* (( (ptr) &var←c80228)+12)/* autoAdded←v15316 */ ); (* (( (ptr) formal←c0551)+1) ) = (* (( (ptr) &var←c80228)+13)/* autoTriggers←v15344 */ ); return; } static word AddToTriggerBag←P7356(sliceD←v28048, formal←c80324) word sliceD←v28048; word formal←c80324; { register ptr gf←c80292 = (ptr) &globalframe; word done←v28092; word stationaryD←v28120 = 0; word oldFeature←v28148 = 0; formal←c80324 = (formal←c80324 - 56); /* AddToTriggerBag: */ SOURCE(27649, 23) SOURCE(27649, 23) done←v28092 = 0; SOURCE(27785, 49) { word pd230; pd230 = (* (( (ptr) (* (( (ptr) gf←c80292)+232)/* var←c71940 */ ))+28) ); if ((0 != (word) ( *( (fPt) ((* (ptr) pd230 ))))(sliceD←v28048, pd230))) { SOURCE(27828, 6) return(done←v28092); }; }; SOURCE(27865, 52) stationaryD←v28120 = (word) StationaryParts←P3300(sliceD←v28048, (* (( (ptr) formal←c80324)+4) ), (* (( (ptr) formal←c80324)+6) ), (* (W5Pt) (( (ptr) formal←c80324)+7) )); SOURCE(27919, 51) { word pd231; pd231 = (* (( (ptr) (* (( (ptr) gf←c80292)+232)/* var←c71940 */ ))+27) ); if ((0 != (word) ( *( (fPt) ((* (ptr) pd231 ))))(stationaryD←v28120, pd231))) { SOURCE(27964, 6) return(done←v28092); }; }; SOURCE(28002, 55) oldFeature←v28148 = (word) FindFeature←P540((* (( (ptr) formal←c80324)+5) ), (* (ptr) stationaryD←v28120 )); SOURCE(28059, 622) if ((oldFeature←v28148 != 0)) { SOURCE(28084, 425) { word hotD←v28192; word newlyHotD←v28220; word totalD←v28248 = 0; SOURCE(28086, 48) hotD←v28192 = XR←Narrow((* (( (ptr) oldFeature←v28148)+1) ), (* (( (ptr) gf←c80292)+15) )); SOURCE(28136, 74) { word pd232; pd232 = (* (( (ptr) (* (( (ptr) gf←c80292)+232)/* var←c71940 */ ))+31) ); newlyHotD←v28220 = (word) ( *( (fPt) ((* (ptr) pd232 ))))(stationaryD←v28120, hotD←v28192, pd232); }; SOURCE(28237, 267) { word pd233; pd233 = (* (( (ptr) (* (( (ptr) gf←c80292)+232)/* var←c71940 */ ))+27) ); if ((0 == (word) ( *( (fPt) ((* (ptr) pd233 ))))(newlyHotD←v28220, pd233))) { SOURCE(28286, 49) { word pd234; pd234 = (* (( (ptr) (* (( (ptr) gf←c80292)+232)/* var←c71940 */ ))+30) ); totalD←v28248 = (word) ( *( (fPt) ((* (ptr) pd234 ))))(stationaryD←v28120, hotD←v28192, pd234); }; SOURCE(28337, 54) (* (( (ptr) formal←c80324)+16) ) = (word) FeatureFromSlice←P780((* (ptr) totalD←v28248 ), (* (( (ptr) totalD←v28248)+1) )) ; SOURCE(28393, 47) (void) ReplaceFeature←P600((* (( (ptr) formal←c80324)+5) ), oldFeature←v28148, (* (( (ptr) formal←c80324)+16) )); SOURCE(28442, 44) { word var←c74884; var←c74884 = XR←NewObject(8, (* (( (ptr) gf←c80292)+30) )); (* (ptr) var←c74884 ) = newlyHotD←v28220; (* (( (ptr) var←c74884)+1) ) = (* (( (ptr) formal←c80324)+13) ); (* (( (ptr) formal←c80324)+13) ) = var←c74884; }; SOURCE(28488, 16) (* (( (ptr) formal←c80324)+12) ) = 1; }; }; }; } else { SOURCE(28518, 64) (* (( (ptr) formal←c80324)+16) ) = (word) FeatureFromSlice←P780((* (ptr) stationaryD←v28120 ), (* (( (ptr) stationaryD←v28120)+1) )); SOURCE(28584, 31) (void) AddFeature←P4080((* (( (ptr) formal←c80324)+16) ), (* (( (ptr) formal←c80324)+5) )); SOURCE(28617, 46) { word var←c74916; var←c74916 = XR←NewObject(8, (* (( (ptr) gf←c80292)+30) )); (* (ptr) var←c74916 ) = stationaryD←v28120; (* (( (ptr) var←c74916)+1) ) = (* (( (ptr) formal←c80324)+13) ); (* (( (ptr) formal←c80324)+13) ) = var←c74916; }; SOURCE(28665, 16) (* (( (ptr) formal←c80324)+12) ) = 1; }; SOURCE(27649, 23) return(done←v28092); } static word StationaryParts←P3300(selectedD←v15488, scene←v15516, ec←v15544, bd←v15572) word selectedD←v15488; word scene←v15516; word ec←v15544; W5 bd←v15572; { register ptr gf←c80356 = (ptr) &globalframe; word stationaryD←v15616; word background←v28292 = 0; word overlay←v28320 = 0; word rubber←v28348 = 0; word drag←v28376 = 0; word move←v28404 = 0; word totalD←v28432 = 0; /* StationaryParts: */ SOURCE(28820, 513) SOURCE(28820, 513) stationaryD←v15616 = 0; SOURCE(29037, 57) { word pd235; pd235 = (* (( (ptr) (* (( (ptr) gf←c80356)+232)/* var←c71940 */ ))+29) ); totalD←v28432 = (word) ( *( (fPt) ((* (ptr) pd235 ))))((* (ptr) selectedD←v15488 ), 0, 6, pd235); }; SOURCE(29096, 102) { W4 var←c74948; { word pd236; pd236 = (* (( (ptr) (* (( (ptr) gf←c80356)+232)/* var←c71940 */ ))+32) ); (void) ( *( (fPt) ((* (ptr) pd236 ))))((word) &var←c74948, (* (ptr) selectedD←v15488 ), (* (( (ptr) selectedD←v15488)+1) ), ec←v15544, bd←v15572, pd236); }; drag←v28376 = var←c74948.f3; rubber←v28348 = var←c74948.f2; overlay←v28320 = var←c74948.f1; background←v28292 = var←c74948.f0; }; SOURCE(29200, 42) { word pd237; pd237 = (* (( (ptr) (* (( (ptr) gf←c80356)+232)/* var←c71940 */ ))+30) ); move←v28404 = (word) ( *( (fPt) ((* (ptr) pd237 ))))(rubber←v28348, drag←v28376, pd237); }; SOURCE(29244, 33) if ((move←v28404 == 0)) { SOURCE(29263, 14) return(totalD←v28432); }; SOURCE(29279, 54) { word pd238; pd238 = (* (( (ptr) (* (( (ptr) gf←c80356)+232)/* var←c71940 */ ))+31) ); stationaryD←v15616 = (word) ( *( (fPt) ((* (ptr) pd238 ))))(totalD←v28432, move←v28404, pd238); }; SOURCE(28820, 513) return(stationaryD←v15616); } static void StationaryTriggerParts←P3360(formal←c0587, hotD←v15676, selSliceD←v15704, editConstraints←v15732, bezierDrag←v15760) word formal←c0587; word hotD←v15676; word selSliceD←v15704; word editConstraints←v15732; W5 bezierDrag←v15760; { register ptr gf←c80388 = (ptr) &globalframe; word stationary←v15804; word someRemoved←v15832; word background←v28476 = 0; word overlay←v28504 = 0; word rubber←v28532 = 0; word drag←v28560 = 0; word move←v28588 = 0; /* StationaryTriggerParts: */ SOURCE(29339, 635) SOURCE(29339, 635) stationary←v15804 = 0; SOURCE(29339, 635) someRemoved←v15832 = 0; SOURCE(29601, 36) if ((selSliceD←v15704 == 0)) { SOURCE(29625, 12) stationary←v15804 = hotD←v15676; someRemoved←v15832 = 0; goto lab←L100051; }; SOURCE(29668, 123) { W4 var←c74980; { word pd239; pd239 = (* (( (ptr) (* (( (ptr) gf←c80388)+232)/* var←c71940 */ ))+32) ); (void) ( *( (fPt) ((* (ptr) pd239 ))))((word) &var←c74980, (* (ptr) selSliceD←v15704 ), (* (( (ptr) selSliceD←v15704)+1) ), editConstraints←v15732, bezierDrag←v15760, pd239); }; drag←v28560 = var←c74980.f3; rubber←v28532 = var←c74980.f2; overlay←v28504 = var←c74980.f1; background←v28476 = var←c74980.f0; }; SOURCE(29793, 42) { word pd240; pd240 = (* (( (ptr) (* (( (ptr) gf←c80388)+232)/* var←c71940 */ ))+30) ); move←v28588 = (word) ( *( (fPt) ((* (ptr) pd240 ))))(rubber←v28532, drag←v28560, pd240); }; SOURCE(29837, 38) if ((move←v28588 == 0)) { SOURCE(29856, 19) stationary←v15804 = hotD←v15676; someRemoved←v15832 = 0; goto lab←L100051; }; SOURCE(29877, 51) { word pd241; pd241 = (* (( (ptr) (* (( (ptr) gf←c80388)+232)/* var←c71940 */ ))+31) ); stationary←v15804 = (word) ( *( (fPt) ((* (ptr) pd241 ))))(hotD←v15676, move←v28588, pd241); }; SOURCE(29930, 44) if ((stationary←v15804 != hotD←v15676)) { SOURCE(29956, 18) someRemoved←v15832 = 1; }; /* removed tail goto */ lab←L100051: ; (* (ptr) formal←c0587 ) = stationary←v15804; (* (( (ptr) formal←c0587)+1) ) = someRemoved←v15832; return; } static word RemoveMoving←P3420(scene←v15892, formal←c01068, formal←c01069, formal←c01070) word scene←v15892; word formal←c01068; word formal←c01069; W5 formal←c01070; { W15 var←c80420; /* declaration of bag←v15920 skipped */ /* declaration of ec←v15948 skipped */ /* declaration of bd←v15976 skipped */ register ptr gf←c80452 = (ptr) &globalframe; /* declaration of someRemoved←v16020 skipped */ /* declaration of var←c75012 skipped */ /* declaration of thisRemoved←v28632 skipped */ (* (( (ptr) &var←c80420)+4)/* bag←v15920 */ ) = formal←c01068; (* (( (ptr) &var←c80420)+5)/* ec←v15948 */ ) = formal←c01069; (* (W5Pt) (( (ptr) &var←c80420)+6)/* bd←v15976 */ ) = formal←c01070; /* RemoveMoving: */ SOURCE(29980, 881) { word tmpAddr242; tmpAddr242 = (word) (( (ptr) &var←c80420)+12)/* var←c75012 */ ; (* (ptr) tmpAddr242 ) = ( ((word) (fPt) DoRemoveMoving←P7464) ); (* (( (ptr) tmpAddr242) + 1) ) = 1; }; SOURCE(29980, 881) (* (( (ptr) &var←c80420)+11)/* someRemoved←v16020 */ ) = 0; SOURCE(30114, 25) (* (( (ptr) &var←c80420)+14)/* thisRemoved←v28632 */ ) = 0; SOURCE(30792, 69) { word var←c75044; word pd243; pd243 = (* (( (ptr) (* (( (ptr) gf←c80452)+247)/* var←c74724 */ ))+32) ); var←c75044 = (word) ( *( (fPt) ((* (ptr) pd243 ))))(scene←v15892, 0, (word) (( (bPt) &var←c80420)+48)/* var←c75012 */ , 0, 0, pd243) ; }; SOURCE(29980, 881) return((* (( (ptr) &var←c80420)+11)/* someRemoved←v16020 */ )); } static word DoRemoveMoving←P7464(selectedD←v28736, formal←c80516) word selectedD←v28736; word formal←c80516; { register ptr gf←c80484 = (ptr) &globalframe; word done←v28780; word hotSliceD←v28808 = 0; word stationaryD←v28836 = 0; word oldFeature←v28864 = 0; formal←c80516 = (formal←c80516 - 48); /* DoRemoveMoving: */ SOURCE(30141, 643) SOURCE(30141, 643) done←v28780 = 0; SOURCE(30290, 46) oldFeature←v28864 = (word) FindFeature←P540((* (( (ptr) formal←c80516)+4) ), (* (ptr) selectedD←v28736 )); SOURCE(30338, 31) if ((oldFeature←v28864 == 0)) { SOURCE(30363, 6) return(done←v28780); }; SOURCE(30371, 36) hotSliceD←v28808 = XR←Narrow((* (( (ptr) oldFeature←v28864)+1) ), (* (( (ptr) gf←c80484)+15) )); SOURCE(30409, 81) { W2 var←c75076; (void) StationaryTriggerParts←P3360((word) &var←c75076, hotSliceD←v28808, selectedD←v28736, (* (( (ptr) formal←c80516)+5) ), (* (W5Pt) (( (ptr) formal←c80516)+6) )); (* (( (ptr) formal←c80516)+14) ) = var←c75076.f1; stationaryD←v28836 = var←c75076.f0; }; SOURCE(30492, 292) if ((0 != (* (( (ptr) formal←c80516)+14) ))) { SOURCE(30512, 274) { word newFeature←v28908 = 0; SOURCE(30562, 18) (* (( (ptr) formal←c80516)+11) ) = 1; SOURCE(30582, 202) { word pd244; pd244 = (* (( (ptr) (* (( (ptr) gf←c80484)+232)/* var←c71940 */ ))+27) ); if ((0 == (word) ( *( (fPt) ((* (ptr) pd244 ))))(stationaryD←v28836, pd244))) { SOURCE(30633, 67) newFeature←v28908 = (word) FeatureFromSlice←P780((* (ptr) stationaryD←v28836 ), (* (( (ptr) stationaryD←v28836)+1) )); SOURCE(30702, 43) (void) ReplaceFeature←P600((* (( (ptr) formal←c80516)+4) ), oldFeature←v28864, newFeature←v28908); } else { SOURCE(30754, 30) (void) DeleteFeature←P660((* (( (ptr) formal←c80516)+4) ), oldFeature←v28864); }; }; }; }; SOURCE(30141, 643) return(done←v28780); } static word EmptyFilterLists←P3480(filterLists←v16080) word filterLists←v16080; { word var←c16124; /* EmptyFilterLists: */ SOURCE(30867, 194) SOURCE(30936, 125) { word tc245; if ( ( ( ((* (ptr) filterLists←v16080 ) == 0) ? ((* (( (ptr) filterLists←v16080)+1) ) == 0) : 0 ) ? ((* (( (ptr) filterLists←v16080)+2) ) == 0) : 0 ) ) { tc245 = (word) (unsigned) ((* (( (ptr) filterLists←v16080)+3) ) == 0); } else { tc245 = (word) (unsigned) 0; }; return(tc245); }; } static word FilterListsFromFilter←P3540(value←v16184, filterType←v16212) word value←v16184; word filterType←v16212; { register ptr gf←c80548 = (ptr) &globalframe; word filterLists←v16256; /* FilterListsFromFilter: */ SOURCE(31067, 370) SOURCE(31067, 370) filterLists←v16256 = 0; SOURCE(31172, 56) { word var←c75108; var←c75108 = XR←NewObject(20, (* (( (ptr) gf←c80548)+29) )); (* (( (ptr) var←c75108)+4) ) = (* (ptr) &fc246 ); filterLists←v16256 = var←c75108; }; SOURCE(31230, 207) { word var←c75140; var←c75140 = filterType←v16212; switch (var←c75140) { case 0: SOURCE(31262, 34) { word var←c75172; word var←c75204; var←c75172 = XR←NewObject(8, (* (( (ptr) gf←c80548)+28) )); var←c75204 = var←c75172; (* (ptr) var←c75204 ) = value←v16184; (* (ptr) filterLists←v16256 ) = var←c75172; }; break; case 1: SOURCE(31308, 33) { word var←c75236; word var←c75268; var←c75236 = XR←NewObject(8, (* (( (ptr) gf←c80548)+28) )); var←c75268 = var←c75236; (* (ptr) var←c75268 ) = value←v16184; (* (( (ptr) filterLists←v16256)+1) ) = var←c75236; }; break; case 2: SOURCE(31352, 34) { word var←c75300; word var←c75332; var←c75300 = XR←NewObject(8, (* (( (ptr) gf←c80548)+28) )); var←c75332 = var←c75300; (* (ptr) var←c75332 ) = value←v16184; (* (( (ptr) filterLists←v16256)+2) ) = var←c75300; }; break; case 3: SOURCE(31400, 37) { word var←c75364; word var←c75396; var←c75364 = XR←NewObject(8, (* (( (ptr) gf←c80548)+28) )); var←c75396 = var←c75364; (* (ptr) var←c75396 ) = value←v16184; (* (( (ptr) filterLists←v16256)+3) ) = var←c75364; }; break; default: SOURCE(31450, 5) (void) XR←RaiseUnnamedError(); break; }; }; SOURCE(31067, 370) return(filterLists←v16256); } static void BuiltInFilters←P3600(triggerBag←v16316, ggData←v16344, hideAlignments←v16372, formal←c01071) word triggerBag←v16316; word ggData←v16344; word hideAlignments←v16372; word formal←c01071; { W12 var←c80580; /* declaration of alignBag←v16400 skipped */ register ptr gf←c80612 = (ptr) &globalframe; /* declaration of var←c75428 skipped */ /* declaration of var←c75460 skipped */ /* declaration of filterLists←v28952 skipped */ word anchor←v28980 = 0; word anchorFeature←v29008 = 0; word var←c75588; (* (( (ptr) &var←c80580)+4)/* alignBag←v16400 */ ) = formal←c01071; /* BuiltInFilters: */ SOURCE(31461, 1611) { word tmpAddr247; tmpAddr247 = (word) (( (ptr) &var←c80580)+5)/* var←c75428 */ ; (* (ptr) tmpAddr247 ) = ( ((word) (fPt) DoForSlice←P7680) ); (* (( (ptr) tmpAddr247) + 1) ) = 1; }; { word tmpAddr248; tmpAddr248 = (word) (( (ptr) &var←c80580)+7)/* var←c75460 */ ; (* (ptr) tmpAddr248 ) = ( ((word) (fPt) DoPointFireRule←P7620) ); (* (( (ptr) tmpAddr248) + 1) ) = 1; }; SOURCE(31576, 24) (* (( (ptr) &var←c80580)+9)/* filterLists←v28952 */ ) = 0; SOURCE(31646, 46) { word pd249; pd249 = (* (( (ptr) (* (( (ptr) gf←c80612)+241)/* var←c73860 */ ))+12) ); (void) ( *( (fPt) ((* (ptr) pd249 ))))((* (( (ptr) gf←c80612)+38) ), (* (( (ptr) gf←c80612)+37) ), pd249); }; SOURCE(31694, 33) anchorFeature←v29008 = (* (( (ptr) triggerBag←v16316)+1) ); SOURCE(31730, 190) if ((0 != hideAlignments←v16372)) { { word var←c75492; SOURCE(31755, 23) (void) FlushAlignBag←P1440((* ((( (ptr) &var←c80580)+4)/* alignBag←v16400 */ ) )); SOURCE(31780, 132) { word tc250; word pd251; if ((anchorFeature←v29008 != 0)) { { word var←c75524; var←c75524 = XR←Narrow((* (( (ptr) anchorFeature←v29008)+1) ), (* (( (ptr) gf←c80612)+27) )); anchor←v28980 = var←c75524; var←c75492 = var←c75524; }; pd251 = (* (( (ptr) (* (( (ptr) gf←c80612)+248)/* var←c75556 */ ))+7) ); tc250 = (word) (0 != (word) ( *( (fPt) ((* (ptr) pd251 ))))(var←c75492, pd251)); } else { tc250 = (word) 0; }; if (tc250) { SOURCE(31872, 40) (void) AddAnchorObject←P4200(anchorFeature←v29008, (* (( (ptr) &var←c80580)+4)/* alignBag←v16400 */ )); }; }; SOURCE(31914, 6) return; }; }; SOURCE(31926, 44) { word pd252; pd252 = (* (( (ptr) (* (( (ptr) gf←c80612)+240)/* var←c73828 */ ))+22) ); (* (( (ptr) &var←c80580)+9)/* filterLists←v28952 */ ) = (word) ( *( (fPt) ((* (ptr) pd252 ))))(ggData←v16344, pd252); }; SOURCE(32025, 997) if ((0 != (word) EmptyFilterLists←P3480((* ((( (ptr) &var←c80580)+9)/* filterLists←v28952 */ ) )))) { SOURCE(32065, 132) { word tc253; word pd254; if ((anchorFeature←v29008 != 0)) { { word var←c75620; var←c75620 = XR←Narrow((* (( (ptr) anchorFeature←v29008)+1) ), (* (( (ptr) gf←c80612)+27) )); anchor←v28980 = var←c75620; var←c75588 = var←c75620; }; pd254 = (* (( (ptr) (* (( (ptr) gf←c80612)+248)/* var←c75556 */ ))+7) ); tc253 = (word) (0 != (word) ( *( (fPt) ((* (ptr) pd254 ))))(var←c75588, pd254)); } else { tc253 = (word) 0; }; if (tc253) { SOURCE(32157, 40) (void) AddAnchorObject←P4200(anchorFeature←v29008, (* (( (ptr) &var←c80580)+4)/* alignBag←v16400 */ )); }; }; } else { SOURCE(32206, 818) { /* declaration of sliceD←v29108 skipped */ /* declaration of pointPairGen←v29136 skipped */ SOURCE(32715, 23) (* (( (ptr) &var←c80580)+10)/* sliceD←v29108 */ ) = 0; SOURCE(32740, 32) (* (( (ptr) &var←c80580)+11)/* pointPairGen←v29136 */ ) = 0; SOURCE(32775, 198) if ((anchorFeature←v29008 != 0)) { SOURCE(32803, 43) anchor←v28980 = XR←Narrow((* (( (ptr) anchorFeature←v29008)+1) ), (* (( (ptr) gf←c80612)+27) )); SOURCE(32848, 125) { word pd255; pd255 = (* (( (ptr) (* (( (ptr) gf←c80612)+248)/* var←c75556 */ ))+7) ); if ((0 != (word) ( *( (fPt) ((* (ptr) pd255 ))))(anchor←v28980, pd255))) { SOURCE(32881, 40) (void) AddAnchorObject←P4200(anchorFeature←v29008, (* (( (ptr) &var←c80580)+4)/* alignBag←v16400 */ )); SOURCE(32923, 50) { word var←c75652; var←c75652 = (word) AnchorFireRule←P4380(anchor←v28980, (* (( (ptr) &var←c80580)+9)/* filterLists←v28952 */ ), (* (( (ptr) &var←c80580)+4) /* alignBag←v16400 */ )); }; }; }; }; SOURCE(32981, 41) (void) WalkSliceTriggers←P420(triggerBag←v16316, (word) (( (bPt) &var←c80580)+20)/* var←c75428 */ ); }; }; SOURCE(33027, 45) { word pd256; pd256 = (* (( (ptr) (* (( (ptr) gf←c80612)+241)/* var←c73860 */ ))+14) ); (void) ( *( (fPt) ((* (ptr) pd256 ))))((* (( (ptr) gf←c80612)+38) ), (* (( (ptr) gf←c80612)+37) ), pd256); }; } static word DoPointFireRule←P7620(point←v62824, formal←c80644) W2 point←v62824; word formal←c80644; { word done←v62868; formal←c80644 = (formal←c80644 - 28); /* DoPointFireRule: */ SOURCE(32208, 33) SOURCE(32208, 33) done←v62868 = 0; SOURCE(32243, 48) { word var←c75684; var←c75684 = (word) PointFireRule←P4260(point←v62824, (* (( (ptr) formal←c80644)+9) ), (* (( (ptr) formal←c80644)+4) )); }; SOURCE(32208, 33) return(done←v62868); } static word DoForSlice←P7680(feature←v62928, formal←c80708) word feature←v62928; word formal←c80708; { register ptr gf←c80676 = (ptr) &globalframe; word done←v62972; formal←c80708 = (formal←c80708 - 20); /* DoForSlice: */ SOURCE(32296, 30) SOURCE(32296, 30) done←v62972 = 0; SOURCE(32328, 30) (* (( (ptr) formal←c80708)+10) ) = XR←Narrow((* (( (ptr) feature←v62928)+1) ), (* (( (ptr) gf←c80676)+15) )); SOURCE(32360, 58) { word pd257; pd257 = (* (( (ptr) (* (( (ptr) gf←c80676)+232)/* var←c71940 */ ))+37) ); (void) ( *( (fPt) ((* (ptr) pd257 ))))((* (( (ptr) formal←c80708)+10) ), (word) (( (bPt) formal←c80708)+28), pd257); }; SOURCE(32420, 56) { word pd258; pd258 = (* (( (ptr) (* (( (ptr) gf←c80676)+232)/* var←c71940 */ ))+38) ); (* (( (ptr) formal←c80708)+11) ) = (word) ( *( (fPt) ((* (ptr) pd258 ))))((* ((( (ptr) formal←c80708)+10)) ), pd258); }; SOURCE(32478, 222) { W5 next←v29180; { word pd259; pd259 = (* (( (ptr) (* (( (ptr) gf←c80676)+232)/* var←c71940 */ ))+42) ); (void) ( *( (fPt) ((* (ptr) pd259 ))))((word) &next←v29180, (* (ptr) (* (( (ptr) formal←c80708)+10) ) ), (* (( (ptr) formal←c80708)+11) ), pd259); }; lab←L100055: ; if ((0 == next←v29180.f4)) { } else { goto lab←L100052; }; SOURCE(32633, 67) { word var←c75716; var←c75716 = (word) SegmentFireRule←P4320(9999, (* (W2Pt) &next←v29180 ), (* (W2Pt) (( (ptr) &next←v29180)+2) ), (* (( (ptr) formal←c80708)+9) ), (* (( (ptr) formal←c80708)+4) )); }; { word pd260; pd260 = (* (( (ptr) (* (( (ptr) gf←c80676)+232)/* var←c71940 */ ))+42) ); (void) ( *( (fPt) ((* (ptr) pd260 ))))((word) &next←v29180, (* (ptr) (* (( (ptr) formal←c80708)+10) ) ), (* (( (ptr) formal←c80708)+11) ), pd260); }; goto lab←L100055; lab←L100052: ; }; SOURCE(32296, 30) return(done←v62972); } static word CreateAnchorTrigger←P3660(anchor←v16460, triggerBag←v16488) word anchor←v16460; word triggerBag←v16488; { word feature←v16532; /* CreateAnchorTrigger: */ SOURCE(33078, 176) SOURCE(33078, 176) feature←v16532 = 0; SOURCE(33186, 35) feature←v16532 = (word) FeatureFromAnchor←P840(anchor←v16460); SOURCE(33223, 31) (void) AddFeature←P4080(feature←v16532, triggerBag←v16488); SOURCE(33078, 176) return(feature←v16532); } static word AddSliceFeature←P3720(sliceD←v16592, triggerBag←v16620) word sliceD←v16592; word triggerBag←v16620; { register ptr gf←c80740 = (ptr) &globalframe; word newFeature←v16664; word oldD←v29224 = 0; word unionD←v29252 = 0; word oldFeature←v29280 = 0; /* AddSliceFeature: */ SOURCE(33260, 531) SOURCE(33260, 531) newFeature←v16664 = 0; SOURCE(33433, 66) { W2 var←c75748; (void) FindOldSlice←P4500((word) &var←c75748, (* (ptr) sliceD←v16592 ), (* (ptr) triggerBag←v16620 )); oldFeature←v29280 = var←c75748.f1; oldD←v29224 = var←c75748.f0; }; SOURCE(33501, 290) if ((oldD←v29224 == 0)) { SOURCE(33522, 57) newFeature←v16664 = (word) FeatureFromSlice←P780((* (ptr) sliceD←v16592 ), (* (( (ptr) sliceD←v16592)+1) )); SOURCE(33581, 44) (void) AppendFeature←P720(newFeature←v16664, (* (ptr) triggerBag←v16620 )); } else { SOURCE(33636, 44) { word pd261; pd261 = (* (( (ptr) (* (( (ptr) gf←c80740)+232)/* var←c71940 */ ))+30) ); unionD←v29252 = (word) ( *( (fPt) ((* (ptr) pd261 ))))(oldD←v29224, sliceD←v16592, pd261); }; SOURCE(33682, 57) newFeature←v16664 = (word) FeatureFromSlice←P780((* (ptr) sliceD←v16592 ), (* (( (ptr) unionD←v29252)+1) )); SOURCE(33741, 50) (void) ReplaceFeature←P600(triggerBag←v16620, oldFeature←v29280, newFeature←v16664); }; SOURCE(33260, 531) return(newFeature←v16664); } static word IncrementalFilterSlice←P3780(sliceD←v16724, formal←c01072, hideAlignments←v16780, formal←c01073) word sliceD←v16724; word formal←c01072; word hideAlignments←v16780; word formal←c01073; { W9 var←c80772; /* declaration of filterLists←v16752 skipped */ /* declaration of alignBag←v16808 skipped */ register ptr gf←c80804 = (ptr) &globalframe; /* declaration of alignObjects←v16852 skipped */ /* declaration of var←c75780 skipped */ (* (( (ptr) &var←c80772)+4)/* filterLists←v16752 */ ) = formal←c01072; (* (( (ptr) &var←c80772)+5)/* alignBag←v16808 */ ) = formal←c01073; /* IncrementalFilterSlice: */ SOURCE(33800, 941) { word tmpAddr262; tmpAddr262 = (word) (( (ptr) &var←c80772)+7)/* var←c75780 */ ; (* (ptr) tmpAddr262 ) = ( ((word) (fPt) SplineInPointFeatures←P7788) ); (* (( (ptr) tmpAddr262) + 1) ) = 1; }; SOURCE(33800, 941) (* (( (ptr) &var←c80772)+6)/* alignObjects←v16852 */ ) = 0; SOURCE(34189, 128) if (((* (ptr) (* (( (ptr) &var←c80772)+4)/* filterLists←v16752 */ ) ) != 0) || ((* (( (ptr) (* (( (ptr) &var←c80772)+4) /* filterLists←v16752 */ ))+1) ) != 0)) { SOURCE(34253, 64) { word pd263; pd263 = (* (( (ptr) (* (( (ptr) gf←c80804)+232)/* var←c71940 */ ))+37) ); (void) ( *( (fPt) ((* (ptr) pd263 ))))(sliceD←v16724, (word) (( (bPt) &var←c80772)+28)/* var←c75780 */ , pd263); }; }; SOURCE(34319, 422) if (((* (( (ptr) (* (( (ptr) &var←c80772)+4)/* filterLists←v16752 */ ))+2) ) != 0) || ((* (( (ptr) (* (( (ptr) &var←c80772)+4) /* filterLists←v16752 */ ))+3) ) != 0)) { SOURCE(34387, 365) { word pointPairGen←v29368; SOURCE(34389, 76) { word pd264; pd264 = (* (( (ptr) (* (( (ptr) gf←c80804)+232)/* var←c71940 */ ))+38) ); pointPairGen←v29368 = (word) ( *( (fPt) ((* (ptr) pd264 ))))(sliceD←v16724, pd264); }; SOURCE(34467, 274) { W5 next←v29412; { word pd265; pd265 = (* (( (ptr) (* (( (ptr) gf←c80804)+232)/* var←c71940 */ ))+42) ); (void) ( *( (fPt) ((* (ptr) pd265 ))))((word) &next←v29412, (* (ptr) sliceD←v16724 ), pointPairGen←v29368, pd265); }; lab←L100059: ; if ((0 == next←v29412.f4)) { } else { goto lab←L100056; }; SOURCE(34622, 119) { word var←c75812; var←c75812 = (word) SegmentFireRule←P4320(9999, (* (W2Pt) &next←v29412 ), (* (W2Pt) (( (ptr) &next←v29412)+2) ), (* (( (ptr) &var←c80772)+4) /* filterLists←v16752 */ ), (* (( (ptr) &var←c80772)+5)/* alignBag←v16808 */ )); { word pd266; pd266 = (* (( (ptr) (* (( (ptr) gf←c80804)+230)/* var←c71428 */ ))+9) ); (* (( (ptr) &var←c80772)+6)/* alignObjects←v16852 */ ) = (word) ( *( (fPt) ((* (ptr) pd266 ))))(var←c75812, (* (( (ptr) &var←c80772)+6) /* alignObjects←v16852 */ ), pd266); }; }; { word pd267; pd267 = (* (( (ptr) (* (( (ptr) gf←c80804)+232)/* var←c71940 */ ))+42) ); (void) ( *( (fPt) ((* (ptr) pd267 ))))((word) &next←v29412, (* (ptr) sliceD←v16724 ), pointPairGen←v29368, pd267); }; goto lab←L100059; lab←L100056: ; }; }; }; SOURCE(33800, 941) return((* (( (ptr) &var←c80772)+6)/* alignObjects←v16852 */ )); } static word SplineInPointFeatures←P7788(point←v63644, formal←c80868) W2 point←v63644; word formal←c80868; { register ptr gf←c80836 = (ptr) &globalframe; word done←v63688; formal←c80868 = (formal←c80868 - 28); /* SplineInPointFeatures: */ SOURCE(33971, 213) SOURCE(33971, 213) done←v63688 = 0; SOURCE(34084, 100) { word var←c75844; var←c75844 = (word) PointFireRule←P4260(point←v63644, (* (( (ptr) formal←c80868)+4) ), (* (( (ptr) formal←c80868)+5) )); { word pd268; pd268 = (* (( (ptr) (* (( (ptr) gf←c80836)+230)/* var←c71428 */ ))+9) ); (* (( (ptr) formal←c80868)+6) ) = (word) ( *( (fPt) ((* (ptr) pd268 ))))(var←c75844, (* (( (ptr) formal←c80868)+6) ), pd268) ; }; }; SOURCE(33971, 213) return(done←v63688); } static word IncrementalNewTrigger←P3840(trigger←v16996, filterLists←v17024, hideAlignments←v17052, alignBag←v17080) word trigger←v16996; word filterLists←v17024; word hideAlignments←v17052; word alignBag←v17080; { register ptr gf←c80900 = (ptr) &globalframe; word alignObjects←v17124; /* IncrementalNewTrigger: */ SOURCE(34759, 543) SOURCE(34759, 543) alignObjects←v17124 = 0; SOURCE(34933, 18) alignObjects←v17124 = 0; SOURCE(34953, 349) if ((0 != hideAlignments←v17052)) { SOURCE(34978, 23) (void) FlushAlignBag←P1440(alignBag←v17080); } else { SOURCE(35012, 290) { word var←c75876; word var←c75908; var←c75876 = (* (( (ptr) trigger←v16996)+1) ); if ((var←c75876 == 0)) { goto lab←L100060; }; var←c75908 = XR←GetReferentType(var←c75876); if (((* (( (ptr) gf←c80900)+15) ) == var←c75908)) { { word sliceD←v29604; sliceD←v29604 = var←c75876; SOURCE(35072, 84) alignObjects←v17124 = (word) IncrementalFilterSlice←P3780(sliceD←v29604, filterLists←v17024, hideAlignments←v17052, alignBag←v17080) ; }; } else { if (((* (( (ptr) gf←c80900)+27) ) == var←c75908)) { { word anchor←v29648; anchor←v29648 = var←c75876; SOURCE(35180, 122) { word pd269; pd269 = (* (( (ptr) (* (( (ptr) gf←c80900)+248)/* var←c75556 */ ))+7) ); if ((0 != (word) ( *( (fPt) ((* (ptr) pd269 ))))(anchor←v29648, pd269))) { SOURCE(35211, 93) { W2 point←v29692; SOURCE(35213, 39) { /*1*/ word pd270; /*1*/ pd270 = (* (( (ptr) (* (( (ptr) gf←c80900)+248)/* var←c75556 */ ))+15) ); /*1*/ (void) ( *( (fPt) ((* (ptr) pd270 ))))((word) &point←v29692, anchor←v29648, pd270); /*1*/ }; SOURCE(35254, 48) { /*1*/ word var←c75940; /*1*/ var←c75940 = (word) PointFireRule←P4260(point←v29692, filterLists←v17024, alignBag←v17080); /*1*/ }; }; }; }; }; } else { lab←L100060: ; SOURCE(35321, 5) (void) XR←RaiseUnnamedError(); }; }; }; }; SOURCE(34759, 543) return(alignObjects←v17124); } static word IncrementalNewFilter←P3900(value←v17268, formal←c01074, triggerBag←v17324, hideAlignments←v17352, formal←c01075) word value←v17268; word formal←c01074; word triggerBag←v17324; word hideAlignments←v17352; word formal←c01075; { W14 var←c80932; /* declaration of filterType←v17296 skipped */ /* declaration of alignBag←v17380 skipped */ register ptr gf←c80964 = (ptr) &globalframe; /* declaration of alignObjects←v17424 skipped */ /* declaration of var←c75972 skipped */ /* declaration of var←c76004 skipped */ /* declaration of filterLists←v29736 skipped */ /* declaration of sliceD←v29820 skipped */ /* declaration of pointPairGen←v29848 skipped */ word anchor←v29876 = 0; word anchorFeature←v29904 = 0; (* (( (ptr) &var←c80932)+4)/* filterType←v17296 */ ) = formal←c01074; (* (( (ptr) &var←c80932)+5)/* alignBag←v17380 */ ) = formal←c01075; /* IncrementalNewFilter: */ SOURCE(35334, 1427) { word tmpAddr271; tmpAddr271 = (word) (( (ptr) &var←c80932)+7)/* var←c75972 */ ; (* (ptr) tmpAddr271 ) = ( ((word) (fPt) DoForSlice←P8148) ); (* (( (ptr) tmpAddr271) + 1) ) = 1; }; { word tmpAddr272; tmpAddr272 = (word) (( (ptr) &var←c80932)+9)/* var←c76004 */ ; (* (ptr) tmpAddr272 ) = ( ((word) (fPt) DoPointFireRule←P8088) ); (* (( (ptr) tmpAddr272) + 1) ) = 1; }; SOURCE(35334, 1427) (* (( (ptr) &var←c80932)+6)/* alignObjects←v17424 */ ) = 0; SOURCE(35526, 67) (* (( (ptr) &var←c80932)+11)/* filterLists←v29736 */ ) = (word) FilterListsFromFilter←P3540(value←v17268, (* (( (ptr) &var←c80932)+4) /* filterType←v17296 */ )); SOURCE(36292, 23) (* (( (ptr) &var←c80932)+12)/* sliceD←v29820 */ ) = 0; SOURCE(36317, 32) (* (( (ptr) &var←c80932)+13)/* pointPairGen←v29848 */ ) = 0; SOURCE(36394, 29) if ((0 != hideAlignments←v17352)) { SOURCE(36417, 6) return((* (( (ptr) &var←c80932)+6)/* alignObjects←v17424 */ )); }; SOURCE(36425, 33) anchorFeature←v29904 = (* (( (ptr) triggerBag←v17324)+1) ); SOURCE(36460, 252) if ((anchorFeature←v29904 != 0)) { SOURCE(36490, 43) anchor←v29876 = XR←Narrow((* (( (ptr) anchorFeature←v29904)+1) ), (* (( (ptr) gf←c80964)+27) )); SOURCE(36535, 177) { word pd273; pd273 = (* (( (ptr) (* (( (ptr) gf←c80964)+248)/* var←c75556 */ ))+7) ); if ((0 != (word) ( *( (fPt) ((* (ptr) pd273 ))))(anchor←v29876, pd273))) { SOURCE(36568, 40) (void) AddAnchorObject←P4200(anchorFeature←v29904, (* (( (ptr) &var←c80932)+5)/* alignBag←v17380 */ )); SOURCE(36610, 102) { word var←c76036; var←c76036 = (word) AnchorFireRule←P4380(anchor←v29876, (* (( (ptr) &var←c80932)+11)/* filterLists←v29736 */ ), (* (( (ptr) &var←c80932)+5) /* alignBag←v17380 */ )); { word pd274; pd274 = (* (( (ptr) (* (( (ptr) gf←c80964)+230)/* var←c71428 */ ))+9) ); (* (( (ptr) &var←c80932)+6)/* alignObjects←v17424 */ ) = (word) ( *( (fPt) ((* (ptr) pd274 ))))(var←c76036, (* (( (ptr) &var←c80932)+6) /* alignObjects←v17424 */ ), pd274); }; }; }; }; }; SOURCE(36720, 41) (void) WalkSliceTriggers←P420(triggerBag←v17324, (word) (( (bPt) &var←c80932)+28)/* var←c75972 */ ); SOURCE(35334, 1427) return((* (( (ptr) &var←c80932)+6)/* alignObjects←v17424 */ )); } static word DoPointFireRule←P8088(point←v63916, formal←c81028) W2 point←v63916; word formal←c81028; { register ptr gf←c80996 = (ptr) &globalframe; word done←v63960; formal←c81028 = (formal←c81028 - 36); /* DoPointFireRule: */ SOURCE(35595, 135) SOURCE(35595, 135) done←v63960 = 0; SOURCE(35630, 100) { word var←c76068; var←c76068 = (word) PointFireRule←P4260(point←v63916, (* (( (ptr) formal←c81028)+11) ), (* (( (ptr) formal←c81028)+5) )); { word pd275; pd275 = (* (( (ptr) (* (( (ptr) gf←c80996)+230)/* var←c71428 */ ))+9) ); (* (( (ptr) formal←c81028)+6) ) = (word) ( *( (fPt) ((* (ptr) pd275 ))))(var←c76068, (* (( (ptr) formal←c81028)+6) ), pd275) ; }; }; SOURCE(35595, 135) return(done←v63960); } static word DoForSlice←P8148(feature←v64020, formal←c81092) word feature←v64020; word formal←c81092; { register ptr gf←c81060 = (ptr) &globalframe; word done←v64064; formal←c81092 = (formal←c81092 - 28); /* DoForSlice: */ SOURCE(35735, 522) SOURCE(35735, 522) done←v64064 = 0; SOURCE(35767, 30) (* (( (ptr) formal←c81092)+12) ) = XR←Narrow((* (( (ptr) feature←v64020)+1) ), (* (( (ptr) gf←c81060)+15) )); SOURCE(35799, 458) { word var←c76100; var←c76100 = (* (( (ptr) formal←c81092)+4) ); switch (var←c76100) { case 0: case 1: SOURCE(35841, 58) { word pd276; pd276 = (* (( (ptr) (* (( (ptr) gf←c81060)+232)/* var←c71940 */ ))+37) ); (void) ( *( (fPt) ((* (ptr) pd276 ))))((* (( (ptr) formal←c81092)+12) ), (word) (( (bPt) formal←c81092)+36), pd276); }; break; case 2: case 3: SOURCE(35925, 56) { word pd277; pd277 = (* (( (ptr) (* (( (ptr) gf←c81060)+232)/* var←c71940 */ ))+38) ); (* (( (ptr) formal←c81092)+13) ) = (word) ( *( (fPt) ((* (ptr) pd277 ))))((* ((( (ptr) formal←c81092)+12)) ), pd277); }; SOURCE(35983, 274) { W5 next←v29948; { word pd278; pd278 = (* (( (ptr) (* (( (ptr) gf←c81060)+232)/* var←c71940 */ ))+42) ); (void) ( *( (fPt) ((* (ptr) pd278 ))))((word) &next←v29948, (* (ptr) (* (( (ptr) formal←c81092)+12) ) ), (* (( (ptr) formal←c81092)+13) ), pd278); }; lab←L100064: ; if ((0 == next←v29948.f4)) { } else { goto lab←L100061; }; SOURCE(36138, 119) { word var←c76132; var←c76132 = (word) SegmentFireRule←P4320(9999, (* (W2Pt) &next←v29948 ), (* (W2Pt) (( (ptr) &next←v29948)+2) ), (* (( (ptr) formal←c81092)+11) ), (* (( (ptr) formal←c81092)+5) )); { word pd279; pd279 = (* (( (ptr) (* (( (ptr) gf←c81060)+230)/* var←c71428 */ ))+9) ); (* (( (ptr) formal←c81092)+6) ) = (word) ( *( (fPt) ((* (ptr) pd279 ))))(var←c76132, (* (( (ptr) formal←c81092)+6) ), pd279) ; }; }; { word pd280; pd280 = (* (( (ptr) (* (( (ptr) gf←c81060)+232)/* var←c71940 */ ))+42) ); (void) ( *( (fPt) ((* (ptr) pd280 ))))((word) &next←v29948, (* (ptr) (* (( (ptr) formal←c81092)+12) ) ), (* (( (ptr) formal←c81092)+13) ), pd280); }; goto lab←L100064; lab←L100061: ; }; break; default: SOURCE(36282, 5) (void) XR←RaiseUnnamedError(); break; }; }; SOURCE(35735, 522) return(done←v64064); } static void RemoveAnchorTrigger←P3960(triggerBag←v17568) word triggerBag←v17568; { /* RemoveAnchorTrigger: */ SOURCE(36768, 85) SOURCE(36830, 23) (* (( (ptr) triggerBag←v17568)+1) ) = 0; } static word RemoveEntireHotSlice←P4020(slice←v17628, triggerBag←v17656) word slice←v17628; word triggerBag←v17656; { word oldSliceD←v17700; word oldFeature←v29992 = 0; /* RemoveEntireHotSlice: */ SOURCE(36859, 265) SOURCE(36859, 265) oldSliceD←v17700 = 0; SOURCE(36997, 64) { W2 var←c76164; (void) FindOldSlice←P4500((word) &var←c76164, slice←v17628, (* (ptr) triggerBag←v17656 )); oldFeature←v29992 = var←c76164.f1; oldSliceD←v17700 = var←c76164.f0; }; SOURCE(37063, 61) if ((oldSliceD←v17700 != 0)) { SOURCE(37087, 37) (void) DeleteFeature←P660(triggerBag←v17656, oldFeature←v29992); }; SOURCE(36859, 265) return(oldSliceD←v17700); } static void AddFeature←P4080(featureData←v17760, triggerBag←v17788) word featureData←v17760; word triggerBag←v17788; { register ptr gf←c81124 = (ptr) &globalframe; /* AddFeature: */ SOURCE(37133, 603) SOURCE(37205, 23) { word pd281; pd281 = (* (( (ptr) (* (( (ptr) gf←c81124)+231)/* var←c71716 */ ))+18) ); (void) ( *( (fPt) ((* (ptr) pd281 ))))(pd281); }; SOURCE(37230, 506) { word var←c76196; var←c76196 = (* (ptr) featureData←v17760 ); if ((var←c76196 == 0)) { SOURCE(37268, 422) { word sliceD←v30036; word key←v30064; word val←v30092 = 0; word found←v30120 = 0; SOURCE(37270, 51) sliceD←v30036 = XR←Narrow((* (( (ptr) featureData←v17760)+1) ), (* (( (ptr) gf←c81124)+15) )); SOURCE(37323, 30) key←v30064 = (* (ptr) sliceD←v30036 ); SOURCE(37386, 51) { W2 var←c76228; { word pd282; pd282 = (* (( (ptr) (* (( (ptr) gf←c81124)+229)/* var←c71140 */ ))+7) ); (void) ( *( (fPt) ((* (ptr) pd282 ))))((word) &var←c76228, (* (ptr) triggerBag←v17788 ), key←v30064, pd282); }; val←v30092 = var←c76228.f1; found←v30120 = var←c76228.f0; }; SOURCE(37439, 246) if ((0 == found←v30120)) { SOURCE(37457, 99) { word list←v30176; SOURCE(37459, 6) list←v30176 = XR←NewObject(8, (* (( (ptr) gf←c81124)+14) )); { word var←c76292; var←c76292 = list←v30176; (* (ptr) var←c76292 ) = featureData←v17760; }; SOURCE(37506, 48) { word var←c76324; word pd283; pd283 = (* (( (ptr) (* (( (ptr) gf←c81124)+229)/* var←c71140 */ ))+10) ); var←c76324 = (word) ( *( (fPt) ((* (ptr) pd283 ))))((* (ptr) triggerBag←v17788 ), key←v30064, list←v30176, pd283); }; }; } else { SOURCE(37563, 124) { word list←v30304; SOURCE(37565, 6) list←v30304 = XR←Narrow(val←v30092, (* (( (ptr) gf←c81124)+14) )); SOURCE(37606, 30) { word var←c76356; var←c76356 = XR←NewObject(8, (* (( (ptr) gf←c81124)+14) )); (* (ptr) var←c76356 ) = featureData←v17760; (* (( (ptr) var←c76356)+1) ) = list←v30304; list←v30304 = var←c76356; }; SOURCE(37638, 47) { word var←c76388; word pd284; pd284 = (* (( (ptr) (* (( (ptr) gf←c81124)+229)/* var←c71140 */ ))+9) ); var←c76388 = (word) ( *( (fPt) ((* (ptr) pd284 ))))((* (ptr) triggerBag←v17788 ), key←v30064, list←v30304, pd284); }; }; }; }; } else { if ((var←c76196 == 8)) { SOURCE(37705, 31) (* (( (ptr) triggerBag←v17788)+1) ) = featureData←v17760; } else { SOURCE(37752, 5) (void) XR←RaiseUnnamedError(); }; }; }; } static void AddAllSlices←P4140(scene←v17848, formal←c01076) word scene←v17848; word formal←c01076; { W8 var←c81156; /* declaration of triggerBag←v17876 skipped */ register ptr gf←c81188 = (ptr) &globalframe; /* declaration of var←c76420 skipped */ /* declaration of feature←v30432 skipped */ var←c81156.f4/* triggerBag←v17876 */ = formal←c01076; /* AddAllSlices: */ SOURCE(37763, 269) { word tmpAddr285; tmpAddr285 = (word) (( (ptr) &var←c81156)+5)/* var←c76420 */ ; (* (ptr) tmpAddr285 ) = ( ((word) (fPt) DoAddSlice←P8400) ); (* (( (ptr) tmpAddr285) + 1) ) = 1; }; SOURCE(37825, 20) var←c81156.f7/* feature←v30432 */ = 0; SOURCE(37983, 49) { word var←c76452; word pd286; pd286 = (* (( (ptr) (* (( (ptr) gf←c81188)+247)/* var←c74724 */ ))+31) ); var←c76452 = (word) ( *( (fPt) ((* (ptr) pd286 ))))(scene←v17848, 0, (word) (( (bPt) &var←c81156)+20)/* var←c76420 */ , 0, pd286) ; }; } static word DoAddSlice←P8400(slice←v30536, formal←c81220) word slice←v30536; word formal←c81220; { word done←v30580; formal←c81220 = (formal←c81220 - 20); /* DoAddSlice: */ SOURCE(37847, 131) SOURCE(37847, 131) done←v30580 = 0; SOURCE(37912, 33) (* (( (ptr) formal←c81220)+7) ) = (word) FeatureFromSlice←P780(slice←v30536, 0); SOURCE(37947, 31) (void) AddFeature←P4080((* (( (ptr) formal←c81220)+7) ), (* (( (ptr) formal←c81220)+4) )); SOURCE(37847, 131) return(done←v30580); } static void AddAnchorObject←P4200(anchorFeature←v17936, alignBag←v17964) word anchorFeature←v17936; word alignBag←v17964; { /* AddAnchorObject: */ SOURCE(38037, 106) SOURCE(38112, 31) (* (( (ptr) alignBag←v17964)+4) ) = anchorFeature←v17936; } static word PointFireRule←P4260(point←v18024, filterLists←v18052, alignBag←v18080) W2 point←v18024; word filterLists←v18052; word alignBag←v18080; { register ptr gf←c81252 = (ptr) &globalframe; word alignObjects←v18124; word feature←v30608 = 0; /* PointFireRule: */ SOURCE(38149, 653) SOURCE(38149, 653) alignObjects←v18124 = 0; SOURCE(38300, 18) alignObjects←v18124 = 0; SOURCE(38320, 227) { register word list←v30652; list←v30652 = (* (ptr) filterLists←v18052 ); lab←L100068: ; if ((list←v30652 != 0)) { } else { goto lab←L100065; }; SOURCE(38397, 84) feature←v30608 = (word) JointAddSlopeLine←P1860((* (ptr) list←v30652 ), point←v18024, alignBag←v18080); SOURCE(38483, 64) if ((feature←v30608 != 0)) { SOURCE(38505, 42) { word var←c76484; var←c76484 = XR←NewObject(8, (* (( (ptr) gf←c81252)+14) )); (* (ptr) var←c76484 ) = feature←v30608; (* (( (ptr) var←c76484)+1) ) = alignObjects←v18124; alignObjects←v18124 = var←c76484; }; }; list←v30652 = (* (( (ptr) list←v30652)+1) ); goto lab←L100068; lab←L100065: ; }; SOURCE(38558, 244) { register word list←v30780; list←v30780 = (* (( (ptr) filterLists←v18052)+1) ); lab←L100072: ; if ((list←v30780 != 0)) { } else { goto lab←L100069; }; SOURCE(38634, 102) { word x287; word x288; float tf289; feature←v30608 = (word) JointAddCircle←P2220(( tf289 = ( x287 = (* (ptr) list←v30780 ), *(float*)&x287 ) * ( x288 = (* (( (ptr) filterLists←v18052)+4) ), *(float*)&x288 ), *(word*)&tf289 ), point←v18024, alignBag←v18080); }; SOURCE(38738, 64) if ((feature←v30608 != 0)) { SOURCE(38760, 42) { word var←c76516; var←c76516 = XR←NewObject(8, (* (( (ptr) gf←c81252)+14) )); (* (ptr) var←c76516 ) = feature←v30608; (* (( (ptr) var←c76516)+1) ) = alignObjects←v18124; alignObjects←v18124 = var←c76516; }; }; list←v30780 = (* (( (ptr) list←v30780)+1) ); goto lab←L100072; lab←L100069: ; }; SOURCE(38149, 653) return(alignObjects←v18124); } static word SegmentFireRule←P4320(segNum←v18268, lo←v18296, hi←v18324, filterLists←v18352, alignBag←v18380) word segNum←v18268; W2 lo←v18296; W2 hi←v18324; word filterLists←v18352; word alignBag←v18380; { register ptr gf←c81284 = (ptr) &globalframe; word alignObjects←v18424; word line1←v30908 = 0; word line2←v30936 = 0; /* SegmentFireRule: */ SOURCE(38817, 857) SOURCE(38817, 857) alignObjects←v18424 = 0; SOURCE(38989, 18) alignObjects←v18424 = 0; SOURCE(39009, 340) { register word list←v30980; list←v30980 = (* (( (ptr) filterLists←v18352)+3) ); lab←L100076: ; if ((list←v30980 != 0)) { } else { goto lab←L100073; }; SOURCE(39089, 136) { W2 var←c76548; { word x290; word x291; float tf292; (void) SegmentAddDistanceLines←P2460((word) &var←c76548, ( tf292 = ( x290 = (* (ptr) list←v30980 ), *(float*)&x290 ) * ( x291 = (* (( (ptr) filterLists←v18352)+4) ), *(float*)&x291 ), *(word*)&tf292 ), segNum←v18268, lo←v18296, hi←v18324, alignBag←v18380); }; line2←v30936 = var←c76548.f1; line1←v30908 = var←c76548.f0; }; SOURCE(39227, 60) if ((line1←v30908 != 0)) { SOURCE(39247, 40) { word var←c76580; var←c76580 = XR←NewObject(8, (* (( (ptr) gf←c81284)+14) )); (* (ptr) var←c76580 ) = line1←v30908; (* (( (ptr) var←c76580)+1) ) = alignObjects←v18424; alignObjects←v18424 = var←c76580; }; }; SOURCE(39289, 60) if ((line2←v30936 != 0)) { SOURCE(39309, 40) { word var←c76612; var←c76612 = XR←NewObject(8, (* (( (ptr) gf←c81284)+14) )); (* (ptr) var←c76612 ) = line2←v30936; (* (( (ptr) var←c76612)+1) ) = alignObjects←v18424; alignObjects←v18424 = var←c76612; }; }; list←v30980 = (* (( (ptr) list←v30980)+1) ); goto lab←L100076; lab←L100073: ; }; SOURCE(39360, 314) { register word list←v31108; list←v31108 = (* (( (ptr) filterLists←v18352)+2) ); lab←L100080: ; if ((list←v31108 != 0)) { } else { goto lab←L100077; }; SOURCE(39437, 113) { W2 var←c76644; (void) SegmentAddTwoAngleLines←P2400((word) &var←c76644, (* (ptr) list←v31108 ), segNum←v18268, lo←v18296, hi←v18324, alignBag←v18380) ; line2←v30936 = var←c76644.f1; line1←v30908 = var←c76644.f0; }; SOURCE(39552, 60) if ((line1←v30908 != 0)) { SOURCE(39572, 40) { word var←c76676; var←c76676 = XR←NewObject(8, (* (( (ptr) gf←c81284)+14) )); (* (ptr) var←c76676 ) = line1←v30908; (* (( (ptr) var←c76676)+1) ) = alignObjects←v18424; alignObjects←v18424 = var←c76676; }; }; SOURCE(39614, 60) if ((line2←v30936 != 0)) { SOURCE(39634, 40) { word var←c76708; var←c76708 = XR←NewObject(8, (* (( (ptr) gf←c81284)+14) )); (* (ptr) var←c76708 ) = line2←v30936; (* (( (ptr) var←c76708)+1) ) = alignObjects←v18424; alignObjects←v18424 = var←c76708; }; }; list←v31108 = (* (( (ptr) list←v31108)+1) ); goto lab←L100080; lab←L100077: ; }; SOURCE(38817, 857) return(alignObjects←v18424); } static word AnchorFireRule←P4380(anchor←v18568, filterLists←v18596, alignBag←v18624) word anchor←v18568; word filterLists←v18596; word alignBag←v18624; { register ptr gf←c81316 = (ptr) &globalframe; word alignObjects←v18668; word line1←v31236 = 0; word line2←v31264 = 0; W2 point←v31292; W2 normal←v31320; W2 lo←v31348; W2 hi←v31376; /* AnchorFireRule: */ SOURCE(39689, 1238) SOURCE(39689, 1238) alignObjects←v18668 = 0; SOURCE(39847, 39) { word pd293; pd293 = (* (( (ptr) (* (( (ptr) gf←c81316)+248)/* var←c75556 */ ))+15) ); (void) ( *( (fPt) ((* (ptr) pd293 ))))((word) &point←v31292, anchor←v18568, pd293); }; SOURCE(39888, 42) { word pd294; pd294 = (* (( (ptr) (* (( (ptr) gf←c81316)+248)/* var←c75556 */ ))+16) ); (void) ( *( (fPt) ((* (ptr) pd294 ))))((word) &normal←v31320, anchor←v18568, pd294); }; SOURCE(39932, 48) { word x295; word x296; *(float*)&lo←v31348.f0 = ( x295 = point←v31292.f0, *(float*)&x295 ) + ( x296 = normal←v31320.f1, *(float*)&x296 ); }; { word x297; word x298; *(float*)&lo←v31348.f1 = ( x297 = point←v31292.f1, *(float*)&x297 ) - ( x298 = normal←v31320.f0, *(float*)&x298 ); }; SOURCE(39982, 48) { word x299; word x300; *(float*)&hi←v31376.f0 = ( x299 = point←v31292.f0, *(float*)&x299 ) - ( x300 = normal←v31320.f1, *(float*)&x300 ); }; { word x301; word x302; *(float*)&hi←v31376.f1 = ( x301 = point←v31292.f1, *(float*)&x301 ) + ( x302 = normal←v31320.f0, *(float*)&x302 ); }; SOURCE(40032, 58) alignObjects←v18668 = (word) PointFireRule←P4260(point←v31292, filterLists←v18596, alignBag←v18624); SOURCE(40092, 338) { register word list←v31420; list←v31420 = (* (( (ptr) filterLists←v18596)+3) ); lab←L100084: ; if ((list←v31420 != 0)) { } else { goto lab←L100081; }; SOURCE(40172, 134) { W2 var←c76804; { word x303; word x304; float tf305; (void) SegmentAddDistanceLines←P2460((word) &var←c76804, ( tf305 = ( x303 = (* (ptr) list←v31420 ), *(float*)&x303 ) * ( x304 = (* (( (ptr) filterLists←v18596)+4) ), *(float*)&x304 ), *(word*)&tf305 ), 9999, lo←v31348, hi←v31376, alignBag←v18624); }; line2←v31264 = var←c76804.f1; line1←v31236 = var←c76804.f0; }; SOURCE(40308, 60) if ((line1←v31236 != 0)) { SOURCE(40328, 40) { word var←c76836; var←c76836 = XR←NewObject(8, (* (( (ptr) gf←c81316)+14) )); (* (ptr) var←c76836 ) = line1←v31236; (* (( (ptr) var←c76836)+1) ) = alignObjects←v18668; alignObjects←v18668 = var←c76836; }; }; SOURCE(40370, 60) if ((line2←v31264 != 0)) { SOURCE(40390, 40) { word var←c76868; var←c76868 = XR←NewObject(8, (* (( (ptr) gf←c81316)+14) )); (* (ptr) var←c76868 ) = line2←v31264; (* (( (ptr) var←c76868)+1) ) = alignObjects←v18668; alignObjects←v18668 = var←c76868; }; }; list←v31420 = (* (( (ptr) list←v31420)+1) ); goto lab←L100084; lab←L100081: ; }; SOURCE(40441, 486) { register word list←v31548; list←v31548 = (* (( (ptr) filterLists←v18596)+2) ); lab←L100088: ; if ((list←v31548 != 0)) { } else { goto lab←L100085; }; { word degrees←v31676; word loLine←v31704; SOURCE(40518, 26) degrees←v31676 = (* (ptr) list←v31548 ); SOURCE(40546, 110) { word var←c76900; { word pd306; word x307; word x309; word x310; pd306 = (* (( (ptr) (* (( (ptr) gf←c81316)+239)/* var←c73540 */ ))+6) ); *(float*)&var←c76900 = (( x307 = (word) ( *( (fPt) ((* (ptr) pd306 ))))(normal←v31320, pd306), *(float*)&x307 ) + ( x309 = (* (ptr) &fc308 ), *(float*)&x309 )) + ( x310 = degrees←v31676, *(float*)&x310 ); }; { word pd311; pd311 = (* (( (ptr) (* (( (ptr) gf←c81316)+235)/* var←c72836 */ ))+11) ); loLine←v31704 = (word) ( *( (fPt) ((* (ptr) pd311 ))))(point←v31292, var←c76900, pd311); }; }; SOURCE(40691, 27) line1←v31236 = XR←NewObject(8, (* (( (ptr) gf←c81316)+16) )); SOURCE(40720, 22) (* (ptr) line1←v31236 ) = 3; SOURCE(40744, 90) { word var←c76964; var←c76964 = XR←NewObject(12, (* (( (ptr) gf←c81316)+21) )); (* (ptr) var←c76964 ) = loLine←v31704; (* (( (ptr) var←c76964)+1) ) = degrees←v31676; (* (( (ptr) line1←v31236)+1) ) = var←c76964; }; SOURCE(40836, 29) (void) AddAlignment←P1740(line1←v31236, alignBag←v18624); SOURCE(40867, 60) if ((line1←v31236 != 0)) { SOURCE(40887, 40) { word var←c76996; var←c76996 = XR←NewObject(8, (* (( (ptr) gf←c81316)+14) )); (* (ptr) var←c76996 ) = line1←v31236; (* (( (ptr) var←c76996)+1) ) = alignObjects←v18668; alignObjects←v18668 = var←c76996; }; }; }; list←v31548 = (* (( (ptr) list←v31548)+1) ); goto lab←L100088; lab←L100085: ; }; SOURCE(39689, 1238) return(alignObjects←v18668); } static word SomeSelectedIsHot←P4440(formal←c01077) word formal←c01077; { W8 var←c81348; /* declaration of scene←v18812 skipped */ register ptr gf←c81380 = (ptr) &globalframe; /* declaration of hotFound←v18856 skipped */ /* declaration of var←c77028 skipped */ var←c81348.f4/* scene←v18812 */ = formal←c01077; /* SomeSelectedIsHot: */ SOURCE(40942, 309) { word tmpAddr312; tmpAddr312 = (word) (( (ptr) &var←c81348)+6)/* var←c77028 */ ; (* (ptr) tmpAddr312 ) = ( ((word) (fPt) FindHot←P8796) ); (* (( (ptr) tmpAddr312) + 1) ) = 1; }; SOURCE(40942, 309) var←c81348.f5/* hotFound←v18856 */ = 0; SOURCE(41189, 62) { word var←c77060; word pd313; pd313 = (* (( (ptr) (* (( (ptr) gf←c81380)+247)/* var←c74724 */ ))+32) ); var←c77060 = (word) ( *( (fPt) ((* (ptr) pd313 ))))(var←c81348.f4/* scene←v18812 */ , 0, (word) (( (bPt) &var←c81348)+24) /* var←c77028 */ , 0, 0, pd313); }; SOURCE(40942, 309) return(var←c81348.f5/* hotFound←v18856 */ ); } static word FindHot←P8796(sliceD←v31824, formal←c81444) word sliceD←v31824; word formal←c81444; { register ptr gf←c81412 = (ptr) &globalframe; word done←v31868; formal←c81444 = (formal←c81444 - 24); /* FindHot: */ SOURCE(41018, 163) SOURCE(41018, 163) done←v31868 = 0; SOURCE(41091, 90) { word pd314; pd314 = (* (( (ptr) (* (( (ptr) gf←c81412)+243)/* var←c74084 */ ))+18) ); if ((0 != (word) ( *( (fPt) ((* (ptr) pd314 ))))((* (ptr) sliceD←v31824 ), (* (( (ptr) formal←c81444)+4) ), 1, pd314))) { SOURCE(41153, 15) (* (( (ptr) formal←c81444)+5) ) = 1; SOURCE(41170, 11) done←v31868 = 1; }; }; SOURCE(41018, 163) return(done←v31868); } static void FindOldSlice←P4500(formal←c0802, slice←v18916, sliceTriggers←v18944) word formal←c0802; word slice←v18916; word sliceTriggers←v18944; { register ptr gf←c81476 = (ptr) &globalframe; word oldSliceD←v18988; word oldFeature←v19016; word key←v31896; word val←v31924 = 0; word found←v31952 = 0; /* FindOldSlice: */ SOURCE(41257, 478) SOURCE(41257, 478) oldSliceD←v18988 = 0; SOURCE(41257, 478) oldFeature←v19016 = 0; SOURCE(41384, 16) key←v31896 = slice←v18916; SOURCE(41433, 47) { W2 var←c77092; { word pd315; pd315 = (* (( (ptr) (* (( (ptr) gf←c81476)+229)/* var←c71140 */ ))+7) ); (void) ( *( (fPt) ((* (ptr) pd315 ))))((word) &var←c77092, sliceTriggers←v18944, key←v31896, pd315); }; val←v31924 = var←c77092.f1; found←v31952 = var←c77092.f0; }; SOURCE(41482, 47) if ((0 == found←v31952) || (val←v31924 == 0)) { SOURCE(41513, 16) oldSliceD←v18988 = 0; oldFeature←v19016 = 0; goto lab←L100089; }; SOURCE(41531, 176) { register word list←v32020; list←v32020 = XR←Narrow(val←v31924, (* (( (ptr) gf←c81476)+14) )); lab←L100093: ; if ((list←v32020 != 0)) { } else { goto lab←L100090; }; SOURCE(41606, 23) oldFeature←v19016 = (* (ptr) list←v32020 ); SOURCE(41631, 36) oldSliceD←v18988 = XR←Narrow((* (( (ptr) oldFeature←v19016)+1) ), (* (( (ptr) gf←c81476)+15) )); SOURCE(41669, 38) if (((* (ptr) oldSliceD←v18988 ) == slice←v18916)) { SOURCE(41701, 6) goto lab←L100089; }; list←v32020 = (* (( (ptr) list←v32020)+1) ); goto lab←L100093; lab←L100090: ; }; SOURCE(41718, 17) oldSliceD←v18988 = 0; oldFeature←v19016 = 0; /* removed tail goto */ lab←L100089: ; (* (ptr) formal←c0802 ) = oldSliceD←v18988; (* (( (ptr) formal←c0802)+1) ) = oldFeature←v19016; return; } static word RemoveFeatureFromList←P4560(ref←v19076, list←v19104) word ref←v19076; word list←v19104; { register ptr gf←c81508 = (ptr) &globalframe; word val←v19232; word z←v32148 = 0; /* RemoveFeatureFromList: */ SOURCE(41741, 329) SOURCE(41741, 329) val←v19232 = 0; SOURCE(41898, 172) lab←L100096: ; if ((list←v19104 != 0)) { } else { goto lab←L100094; }; SOURCE(41918, 132) if (((* (ptr) list←v19104 ) != ref←v19076)) { SOURCE(41942, 108) if ((val←v19232 == 0)) { SOURCE(41961, 27) { word var←c77124; var←c77124 = XR←NewObject(8, (* (( (ptr) gf←c81508)+14) )); (* (ptr) var←c77124 ) = (* (ptr) list←v19104 ); val←v19232 = var←c77124; }; SOURCE(41990, 7) z←v32148 = val←v19232; } else { SOURCE(42005, 33) { word var←c77156; var←c77156 = XR←NewObject(8, (* (( (ptr) gf←c81508)+14) )); (* (ptr) var←c77156 ) = (* (ptr) list←v19104 ); (* (( (ptr) var←c77156)+1) ) = (* (( (ptr) z←v32148)+1) ); (* (( (ptr) z←v32148)+1) ) = var←c77156; }; SOURCE(42040, 10) z←v32148 = (* (( (ptr) z←v32148)+1) ); }; }; SOURCE(42054, 16) list←v19104 = (* (( (ptr) list←v19104)+1) ); goto lab←L100096; lab←L100094: ; SOURCE(41741, 329) return(val←v19232); } static void CreateLineTable←P4620(ggData←v19376) word ggData←v19376; { register ptr gf←c81540 = (ptr) &globalframe; /* CreateLineTable: */ SOURCE(42274, 159) SOURCE(42324, 51) { word pd316; pd316 = (* (( (ptr) (* (( (ptr) gf←c81540)+234)/* var←c72196 */ ))+5) ); (* (( (ptr) (* (( (ptr) ggData←v19376)+17) ))+6) ) = (word) ( *( (fPt) ((* (ptr) pd316 ))))(211, pd316); }; SOURCE(42377, 56) { word pd317; pd317 = (* (( (ptr) (* (( (ptr) gf←c81540)+234)/* var←c72196 */ ))+5) ); (* (( (ptr) (* (( (ptr) ggData←v19376)+17) ))+7) ) = (word) ( *( (fPt) ((* (ptr) pd317 ))))(211, pd317); }; } static word LineIsPresent←P4680(ggData←v19436, line←v19464) word ggData←v19436; word line←v19464; { register ptr gf←c81572 = (ptr) &globalframe; word present←v19508; word key←v32276; word found←v32304 = 0; word val←v32332 = 0; word list←v32360 = 0; /* LineIsPresent: */ SOURCE(42439, 430) SOURCE(42439, 430) present←v19508 = 0; SOURCE(42524, 30) key←v32276 = (word) CardFromLine←P5040(line←v19464); SOURCE(42607, 59) { W2 var←c77188; { word pd318; pd318 = (* (( (ptr) (* (( (ptr) gf←c81572)+234)/* var←c72196 */ ))+7) ); (void) ( *( (fPt) ((* (ptr) pd318 ))))((word) &var←c77188, (* (( (ptr) (* (( (ptr) ggData←v19436)+17) ))+6) ), key←v32276, pd318) ; }; val←v32332 = var←c77188.f1; found←v32304 = var←c77188.f0; }; SOURCE(42668, 31) if ((0 == found←v32304)) { SOURCE(42686, 13) return(0); }; SOURCE(42701, 18) list←v32360 = XR←Narrow(val←v32332, (* (( (ptr) gf←c81572)+24) )); SOURCE(42721, 122) { register word l←v32500; l←v32500 = list←v32360; lab←L100100: ; if ((l←v32500 != 0)) { } else { goto lab←L100097; }; SOURCE(42773, 70) { word x319; word x320; word x321; word x322; if ( ( (( x319 = (* (( (ptr) (* (ptr) l←v32500 ))+1) ), *(float*)&x319 ) == ( x320 = (* (( (ptr) line←v19464)+1) ), *(float*)&x320 )) ? (( x321 = (* (ptr) (* (ptr) l←v32500 ) ), *(float*)&x321 ) == ( x322 = (* (ptr) line←v19464 ), *(float*)&x322 )) : 0 ) ) { SOURCE(42831, 12) return(1); }; }; l←v32500 = (* (( (ptr) l←v32500)+1) ); goto lab←L100100; lab←L100097: ; }; SOURCE(42854, 15) present←v19508 = 0; SOURCE(42439, 430) return(present←v19508); } static void TableStatistics←P4740(formal←c0828, table←v19568) word formal←c0828; word table←v19568; { W10 var←c81604; register ptr gf←c81636 = (ptr) &globalframe; /* declaration of count←v19612 skipped */ /* declaration of min←v19640 skipped */ /* declaration of max←v19668 skipped */ word avg←v19696; /* declaration of var←c77220 skipped */ /* declaration of total←v32656 skipped */ /* TableStatistics: */ SOURCE(42875, 502) { word tmpAddr323; tmpAddr323 = (word) (( (ptr) &var←c81604)+7)/* var←c77220 */ ; (* (ptr) tmpAddr323 ) = ( ((word) (fPt) Count←P8952) ); (* (( (ptr) tmpAddr323) + 1) ) = 1; }; SOURCE(43269, 17) (* (( (ptr) &var←c81604)+9)/* total←v32656 */ ) = (* (ptr) &fc115 ); SOURCE(43288, 9) (* (( (ptr) &var←c81604)+4)/* count←v19612 */ ) = 0; SOURCE(43299, 16) (* (( (ptr) &var←c81604)+5)/* min←v19640 */ ) = (word) -1; SOURCE(43317, 7) (* (( (ptr) &var←c81604)+6)/* max←v19668 */ ) = 0; SOURCE(43326, 32) { word var←c77252; word pd324; pd324 = (* (( (ptr) (* (( (ptr) gf←c81636)+234)/* var←c72196 */ ))+13) ); var←c77252 = (word) ( *( (fPt) ((* (ptr) pd324 ))))(table←v19568, (word) (( (bPt) &var←c81604)+28)/* var←c77220 */ , pd324) ; }; SOURCE(43360, 17) { word x325; *(float*)&avg←v19696 = ( x325 = (* (( (ptr) &var←c81604)+9)/* total←v32656 */ ), *(float*)&x325 ) / (float)(unsigned)(* (( (ptr) &var←c81604)+4)/* count←v19612 */ ); }; /* removed tail goto */ (* (ptr) formal←c0828 ) = (* (( (ptr) &var←c81604)+4)/* count←v19612 */ ); (* (( (ptr) formal←c0828)+1) ) = (* (( (ptr) &var←c81604)+5)/* min←v19640 */ ); (* (( (ptr) formal←c0828)+2) ) = (* (( (ptr) &var←c81604)+6)/* max←v19668 */ ); (* (( (ptr) formal←c0828)+3) ) = avg←v19696; return; } static word Count←P8952(key←v65088, val←v65116, formal←c81700) word key←v65088; word val←v65116; word formal←c81700; { register ptr gf←c81668 = (ptr) &globalframe; word quit←v65160; word list←v32700; word itemsInBucket←v32728 = 0; formal←c81700 = (formal←c81700 - 28); /* Count: */ SOURCE(42965, 299) SOURCE(42965, 299) quit←v65160 = 0; SOURCE(42999, 6) list←v32700 = XR←Narrow(val←v65116, (* (( (ptr) gf←c81668)+24) )); SOURCE(43058, 17) (* (( (ptr) formal←c81700)+4) ) = ((* (( (ptr) formal←c81700)+4) ) + 1); SOURCE(43077, 85) { register word l←v32856; l←v32856 = list←v32700; lab←L100105: ; if ((l←v32856 != 0)) { } else { goto lab←L100102; }; SOURCE(43129, 33) itemsInBucket←v32728 = (itemsInBucket←v32728 + 1); l←v32856 = (* (( (ptr) l←v32856)+1) ); goto lab←L100105; lab←L100102: ; }; SOURCE(43173, 29) { word x326; (* (( (ptr) formal←c81700)+5) ) = (x326 = (* (( (ptr) formal←c81700)+5) ), MIN( (unsigned) , x326, itemsInBucket←v32728)); }; SOURCE(43204, 29) { word x327; (* (( (ptr) formal←c81700)+6) ) = (x327 = (* (( (ptr) formal←c81700)+6) ), MAX( (unsigned) , x327, itemsInBucket←v32728)); }; SOURCE(43235, 29) { word x328; *(float*)(( (ptr) formal←c81700)+9) = ( x328 = (* (( (ptr) formal←c81700)+9) ), *(float*)&x328 ) + (float)(unsigned)itemsInBucket←v32728; }; SOURCE(42965, 299) return(quit←v65160); } static word CopyLineList←P4800(l←v19756) word l←v19756; { register ptr gf←c81732 = (ptr) &globalframe; word copyList←v19884; word z←v32984 = 0; /* CopyLineList: */ SOURCE(43383, 245) SOURCE(43383, 245) copyList←v19884 = 0; SOURCE(43487, 27) if ((l←v19756 == 0)) { SOURCE(43503, 11) return(0); }; SOURCE(43516, 29) { word var←c77284; var←c77284 = XR←NewObject(8, (* (( (ptr) gf←c81732)+24) )); (* (ptr) var←c77284 ) = (* (ptr) l←v19756 ); copyList←v19884 = var←c77284; }; SOURCE(43547, 12) z←v32984 = copyList←v19884; SOURCE(43561, 67) lab←L100108: ; l←v19756 = (* (( (ptr) l←v19756)+1) ); if ((l←v19756 != 0)) { } else { goto lab←L100106; }; SOURCE(43589, 27) { word var←c77316; var←c77316 = XR←NewObject(8, (* (( (ptr) gf←c81732)+24) )); (* (ptr) var←c77316 ) = (* (ptr) l←v19756 ); (* (( (ptr) z←v32984)+1) ) = var←c77316; }; SOURCE(43618, 10) z←v32984 = (* (( (ptr) z←v32984)+1) ); goto lab←L100108; lab←L100106: ; SOURCE(43383, 245) return(copyList←v19884); } static void SaveLineTable←P4860(formal←c01078) word formal←c01078; { W7 var←c81764; /* declaration of ggData←v20028 skipped */ register ptr gf←c81796 = (ptr) &globalframe; /* declaration of var←c77348 skipped */ var←c81764.f4/* ggData←v20028 */ = formal←c01078; /* SaveLineTable: */ SOURCE(43643, 285) { word tmpAddr329; tmpAddr329 = (word) (( (ptr) &var←c81764)+5)/* var←c77348 */ ; (* (ptr) tmpAddr329 ) = ( ((word) (fPt) CopyLines←P9060) ); (* (( (ptr) tmpAddr329) + 1) ) = 1; }; SOURCE(43827, 44) { word pd330; pd330 = (* (( (ptr) (* (( (ptr) gf←c81796)+234)/* var←c72196 */ ))+12) ); (void) ( *( (fPt) ((* (ptr) pd330 ))))((* ((( (ptr) (* (( (ptr) var←c81764.f4/* ggData←v20028 */ )+17) ))+7)) ), pd330); }; SOURCE(43873, 55) { word var←c77380; word pd331; pd331 = (* (( (ptr) (* (( (ptr) gf←c81796)+234)/* var←c72196 */ ))+13) ); var←c77380 = (word) ( *( (fPt) ((* (ptr) pd331 ))))((* (( (ptr) (* (( (ptr) var←c81764.f4/* ggData←v20028 */ )+17) ))+6) ), (word) (( (bPt) &var←c81764)+20)/* var←c77348 */ , pd331); }; } static word CopyLines←P9060(key←v65220, val←v65248, formal←c81860) word key←v65220; word val←v65248; word formal←c81860; { register ptr gf←c81828 = (ptr) &globalframe; word quit←v65292; word inserted←v33156; formal←c81860 = (formal←c81860 - 20); /* CopyLines: */ SOURCE(43684, 133) SOURCE(43684, 133) quit←v65292 = 0; SOURCE(43722, 72) { word pd332; pd332 = (* (( (ptr) (* (( (ptr) gf←c81828)+234)/* var←c72196 */ ))+10) ); inserted←v33156 = (word) ( *( (fPt) ((* (ptr) pd332 ))))((* (( (ptr) (* (( (ptr) (* (( (ptr) formal←c81860)+4) ))+17) ))+7) ), key←v65220, val←v65248, pd332); }; SOURCE(43796, 21) if ((0 == inserted←v33156)) { SOURCE(43817, 5) (void) XR←RaiseUnnamedError(); }; SOURCE(43684, 133) return(quit←v65292); } static void RestoreLineTable←P4920(ggData←v20088) word ggData←v20088; { word temp←v33200; /* RestoreLineTable: */ SOURCE(43934, 184) SOURCE(43978, 49) temp←v33200 = (* (( (ptr) (* (( (ptr) ggData←v20088)+17) ))+7) ); SOURCE(44029, 56) (* (( (ptr) (* (( (ptr) ggData←v20088)+17) ))+7) ) = (* (( (ptr) (* (( (ptr) ggData←v20088)+17) ))+6) ); SOURCE(44087, 31) (* (( (ptr) (* (( (ptr) ggData←v20088)+17) ))+6) ) = temp←v33200; } static void FlushLineTable←P4980(ggData←v20148) word ggData←v20148; { register ptr gf←c81892 = (ptr) &globalframe; /* FlushLineTable: */ SOURCE(44124, 88) SOURCE(44173, 39) { word pd333; pd333 = (* (( (ptr) (* (( (ptr) gf←c81892)+234)/* var←c72196 */ ))+12) ); (void) ( *( (fPt) ((* (ptr) pd333 ))))((* ((( (ptr) (* (( (ptr) ggData←v20148)+17) ))+6)) ), pd333); }; } static word CardFromLine←P5040(line←v20208) word line←v20208; { word key←v20252; /* CardFromLine: */ SOURCE(44218, 78) SOURCE(44274, 22) key←v20252 = (* (( (ptr) line←v20208)+1) ); SOURCE(44218, 78) return(key←v20252); } static void AddLineToTable←P5100(ggData←v20312, line←v20340) word ggData←v20312; word line←v20340; { register ptr gf←c81924 = (ptr) &globalframe; word key←v33244; word found←v33272 = 0; word newValue←v33300 = 0; word val←v33328 = 0; word list←v33356 = 0; /* AddLineToTable: */ SOURCE(44302, 516) SOURCE(44356, 30) key←v33244 = (word) CardFromLine←P5040(line←v20340); SOURCE(44449, 59) { W2 var←c77412; { word pd334; pd334 = (* (( (ptr) (* (( (ptr) gf←c81924)+234)/* var←c72196 */ ))+7) ); (void) ( *( (fPt) ((* (ptr) pd334 ))))((word) &var←c77412, (* (( (ptr) (* (( (ptr) ggData←v20312)+17) ))+6) ), key←v33244, pd334) ; }; val←v33328 = var←c77412.f1; found←v33272 = var←c77412.f0; }; SOURCE(44510, 308) if ((0 == found←v33272)) { SOURCE(44546, 17) { word var←c77444; word var←c77476; var←c77444 = XR←NewObject(8, (* (( (ptr) gf←c81924)+24) )); var←c77476 = var←c77444; (* (ptr) var←c77476 ) = line←v20340; list←v33356 = var←c77444; }; SOURCE(44565, 61) { word pd335; pd335 = (* (( (ptr) (* (( (ptr) gf←c81924)+234)/* var←c72196 */ ))+9) ); newValue←v33300 = (word) ( *( (fPt) ((* (ptr) pd335 ))))((* (( (ptr) (* (( (ptr) ggData←v20312)+17) ))+6) ), key←v33244, list←v33356, pd335) ; }; SOURCE(44628, 21) if ((0 == newValue←v33300)) { SOURCE(44649, 5) (void) XR←RaiseUnnamedError(); }; } else { SOURCE(44693, 18) list←v33356 = XR←Narrow(val←v33328, (* (( (ptr) gf←c81924)+24) )); SOURCE(44713, 23) { word var←c77508; var←c77508 = XR←NewObject(8, (* (( (ptr) gf←c81924)+24) )); (* (ptr) var←c77508 ) = line←v20340; (* (( (ptr) var←c77508)+1) ) = list←v33356; list←v33356 = var←c77508; }; SOURCE(44738, 61) { word pd336; pd336 = (* (( (ptr) (* (( (ptr) gf←c81924)+234)/* var←c72196 */ ))+9) ); newValue←v33300 = (word) ( *( (fPt) ((* (ptr) pd336 ))))((* (( (ptr) (* (( (ptr) ggData←v20312)+17) ))+6) ), key←v33244, list←v33356, pd336) ; }; SOURCE(44801, 17) if ((0 != newValue←v33300)) { SOURCE(44818, 5) (void) XR←RaiseUnnamedError(); }; }; } static void DrawFeatureList←P5160(formal←c01079, alignObjects←v20428, formal←c01080) word formal←c01079; word alignObjects←v20428; word formal←c01080; { W15 var←c81956; /* declaration of dc←v20400 skipped */ /* declaration of ggData←v20456 skipped */ register ptr gf←c81988 = (ptr) &globalframe; /* declaration of var←c77540 skipped */ /* declaration of var←c77572 skipped */ /* declaration of zip←v33552 skipped */ /* declaration of rect←v33580 skipped */ word viewerToClient←v33608; W2 var←c0873; (* (( (ptr) &var←c81956)+4)/* dc←v20400 */ ) = formal←c01079; (* (( (ptr) &var←c81956)+5)/* ggData←v20456 */ ) = formal←c01080; /* DrawFeatureList: */ SOURCE(44832, 2151) { word tmpAddr337; tmpAddr337 = (word) (( (ptr) &var←c81956)+6)/* var←c77540 */ ; (* (ptr) tmpAddr337 ) = ( ((word) (fPt) DrawCircleAux←P9180) ); (* (( (ptr) tmpAddr337) + 1) ) = 1; }; { word tmpAddr338; tmpAddr338 = (word) (( (ptr) &var←c81956)+8)/* var←c77572 */ ; (* (ptr) tmpAddr338 ) = ( ((word) (fPt) DrawLineAux←P9120) ); (* (( (ptr) tmpAddr338) + 1) ) = 1; }; SOURCE(46028, 15) (* (( (ptr) &var←c81956)+10)/* zip←v33552 */ ) = 0; SOURCE(46045, 52) { word pd339; pd339 = (* (( (ptr) (* (( (ptr) gf←c81988)+240)/* var←c73828 */ ))+7) ); (void) ( *( (fPt) ((* (ptr) pd339 ))))((word) (( (bPt) &var←c81956)+44)/* rect←v33580 */ , (* (( (ptr) &var←c81956)+5)/* ggData←v20456 */ ), pd339) ; }; SOURCE(46141, 109) { word pd340; pd340 = (* (( (ptr) (* (( (ptr) gf←c81988)+240)/* var←c73828 */ ))+12) ); (void) ( *( (fPt) ((* (ptr) pd340 ))))((word) &var←c0873, (* (( (ptr) &var←c81956)+5)/* ggData←v20456 */ ), pd340); }; viewerToClient←v33608 = var←c0873.f1; SOURCE(46252, 68) { word pd341; pd341 = (* (( (ptr) (* (( (ptr) gf←c81988)+249)/* var←c77604 */ ))+46) ); (void) ( *( (fPt) ((* (ptr) pd341 ))))((word) (( (bPt) &var←c81956)+44)/* rect←v33580 */ , viewerToClient←v33608, (* (W4Pt) ( ( (ptr) &var←c81956)+11)/* rect←v33580 */ ), pd341); }; SOURCE(46350, 30) { word pd342; pd342 = (* (( (ptr) (* (( (ptr) gf←c81988)+250)/* var←c77636 */ ))+68) ); (void) ( *( (fPt) ((* (ptr) pd342 ))))((* (( (ptr) &var←c81956)+4)/* dc←v20400 */ ), (* (ptr) &fc115 ), pd342); }; SOURCE(46433, 23) { word pd343; pd343 = (* (( (ptr) (* (( (ptr) gf←c81988)+251)/* var←c77668 */ ))+11) ); (* (( (ptr) &var←c81956)+10)/* zip←v33552 */ ) = (word) ( *( (fPt) ((* (ptr) pd343 ))))((* (( (ptr) &var←c81956)+4)/* dc←v20400 */ ), 0, pd343) ; }; SOURCE(46458, 30) { word pd344; pd344 = (* (( (ptr) (* (( (ptr) gf←c81988)+250)/* var←c77636 */ ))+68) ); (void) ( *( (fPt) ((* (ptr) pd344 ))))((* (( (ptr) &var←c81956)+4)/* dc←v20400 */ ), (* (ptr) &fc345 ), pd344); }; SOURCE(46490, 35) { word pd346; pd346 = (* (( (ptr) (* (( (ptr) gf←c81988)+250)/* var←c77636 */ ))+52) ); (void) ( *( (fPt) ((* (ptr) pd346 ))))((* (( (ptr) &var←c81956)+4)/* dc←v20400 */ ), (* (( (ptr) gf←c81988)+7)/* alignmentColor←v8040 */ ), pd346) ; }; SOURCE(46527, 405) { register word list←v33772; list←v33772 = alignObjects←v20428; lab←L100112: ; if ((list←v33772 != 0)) { } else { goto lab←L100109; }; SOURCE(46603, 329) { word var←c77700; word var←c77732; var←c77700 = (* (( (ptr) (* (ptr) list←v33772 ))+1) ); if ((var←c77700 == 0)) { goto lab←L100113; }; var←c77732 = XR←GetReferentType(var←c77700); { word var←c77796; var←c77796 = (* (( (ptr) gf←c81988)+21) ); if ((var←c77796 == var←c77732)) { { word slopeLine←v33900; slopeLine←v33900 = var←c77700; SOURCE(46665, 27) (void) DrawLineAux←P9120((* (ptr) slopeLine←v33900 ), (word) (( (bPt) &var←c81956)+32)/* var←c77572 */ ); }; goto endif0347; }; if ((var←c77796 == var←c77732)) { { word angleLine←v33944; angleLine←v33944 = var←c77700; SOURCE(46722, 27) (void) DrawLineAux←P9120((* (ptr) angleLine←v33944 ), (word) (( (bPt) &var←c81956)+32)/* var←c77572 */ ); }; goto endif0347; }; if (((* (( (ptr) gf←c81988)+26) ) == var←c77732)) { { word circle←v33988; circle←v33988 = var←c77700; SOURCE(46778, 89) if ((0 != (* (( (ptr) gf←c81988)+9)/* useCache←v8096 */ ))) { SOURCE(46795, 34) (void) DrawCircleAux←P9180((* (ptr) circle←v33988 ), (word) (( (bPt) &var←c81956)+24)/* var←c77540 */ ); } else { SOURCE(46829, 38) { word pd348; pd348 = (* (( (ptr) (* (( (ptr) gf←c81988)+252)/* var←c77764 */ ))+13) ); (void) ( *( (fPt) ((* (ptr) pd348 ))))((* (( (ptr) &var←c81956)+4)/* dc←v20400 */ ), (* (ptr) circle←v33988 ), pd348); }; }; }; goto endif0347; }; if (((* (( (ptr) gf←c81988)+18) ) == var←c77732)) { { word distanceLine←v34032; distanceLine←v34032 = var←c77700; SOURCE(46891, 41) { word pd349; pd349 = (* (( (ptr) (* (( (ptr) gf←c81988)+252)/* var←c77764 */ ))+11) ); (void) ( *( (fPt) ((* (ptr) pd349 ))))((* (( (ptr) &var←c81956)+4)/* dc←v20400 */ ), distanceLine←v34032, (* (W4Pt) (( (ptr) &var←c81956)+11) /* rect←v33580 */ ), (* (ptr) &fc345 ), 0, pd349); }; }; goto endif0347; }; lab←L100113: ; SOURCE(46945, 5) (void) XR←RaiseUnnamedError(); goto endif0347; endif0347: ; }; }; list←v33772 = (* (( (ptr) list←v33772)+1) ); goto lab←L100112; lab←L100109: ; }; SOURCE(46961, 22) { word pd350; pd350 = (* (( (ptr) (* (( (ptr) gf←c81988)+251)/* var←c77668 */ ))+12) ); (void) ( *( (fPt) ((* (ptr) pd350 ))))((* ((( (ptr) &var←c81956)+10)/* zip←v33552 */ ) ), pd350); }; } static void DrawLineAux←P9120(line←v33684, formal←c82052) word line←v33684; word formal←c82052; { register ptr gf←c82020 = (ptr) &globalframe; formal←c82052 = (formal←c82052 - 32); /* DrawLineAux: */ SOURCE(44937, 438) SOURCE(45015, 76) if ((0 != (word) LineIsPresent←P4680((* (( (ptr) formal←c82052)+5) ), line←v33684))) { SOURCE(45051, 12) return; } else { SOURCE(45063, 28) (void) AddLineToTable←P5100((* (( (ptr) formal←c82052)+5) ), line←v33684); }; SOURCE(45093, 282) { float tf351; word x352; word x353; float tf355; word x356; word x357; word x358; if ((FABS(( x352 = (* (ptr) line←v33684 ), *(float*)&x352 ), tf351) < ( x353 = (* (ptr) &fc345 ), *(float*)&x353 ))) { goto then0354;}; if ((FABS((( x356 = (* (ptr) line←v33684 ), *(float*)&x356 ) - ( x357 = (* (ptr) &fc308 ), *(float*)&x357 )), tf355) < ( x358 = (* (ptr) &fc345 ), *(float*)&x358 ))) { then0354: ; SOURCE(45183, 33) { word pd359; pd359 = (* (( (ptr) (* (( (ptr) gf←c82020)+250)/* var←c77636 */ ))+52) ); (void) ( *( (fPt) ((* (ptr) pd359 ))))((* (( (ptr) formal←c82052)+4) ), (* (( (ptr) gf←c82020)+8)/* checkerColor←v8068 */ ), pd359) ; }; SOURCE(45218, 43) { word pd360; pd360 = (* (( (ptr) (* (( (ptr) gf←c82020)+252)/* var←c77764 */ ))+11) ); (void) ( *( (fPt) ((* (ptr) pd360 ))))((* (( (ptr) formal←c82052)+4) ), line←v33684, (* (W4Pt) (( (ptr) formal←c82052)+11) ), (* (ptr) &fc115 ), (* (( (ptr) formal←c82052)+10) ), pd360); }; SOURCE(45288, 35) { word pd361; pd361 = (* (( (ptr) (* (( (ptr) gf←c82020)+250)/* var←c77636 */ ))+52) ); (void) ( *( (fPt) ((* (ptr) pd361 ))))((* (( (ptr) formal←c82052)+4) ), (* (( (ptr) gf←c82020)+7)/* alignmentColor←v8040 */ ), pd361) ; }; } else { SOURCE(45332, 43) { word pd362; pd362 = (* (( (ptr) (* (( (ptr) gf←c82020)+252)/* var←c77764 */ ))+11) ); (void) ( *( (fPt) ((* (ptr) pd362 ))))((* (( (ptr) formal←c82052)+4) ), line←v33684, (* (W4Pt) (( (ptr) formal←c82052)+11) ), (* (ptr) &fc115 ), (* (( (ptr) formal←c82052)+10) ), pd362); }; }; }; } static void DrawCircleAux←P9180(circle←v33744, formal←c82116) word circle←v33744; word formal←c82116; { register ptr gf←c82084 = (ptr) &globalframe; word cachedCircle←v34076 = 0; word circleCache←v34104; formal←c82116 = (formal←c82116 - 24); /* DrawCircleAux: */ SOURCE(45405, 615) SOURCE(45510, 71) { word pd363; pd363 = (* (( (ptr) (* (( (ptr) gf←c82084)+240)/* var←c73828 */ ))+47) ); circleCache←v34104 = (word) ( *( (fPt) ((* (ptr) pd363 ))))((* ((( (ptr) formal←c82116)+5)) ), pd363); }; SOURCE(45583, 437) { word pd364; pd364 = (* (( (ptr) (* (( (ptr) gf←c82084)+253)/* var←c77828 */ ))+6) ); cachedCircle←v34076 = (word) ( *( (fPt) ((* (ptr) pd364 ))))(circleCache←v34104, (* (( (ptr) circle←v33744)+2) ), pd364) ; }; if ((cachedCircle←v34076 != 0)) { SOURCE(45661, 82) { word pd365; pd365 = (* (( (ptr) (* (( (ptr) gf←c82084)+253)/* var←c77828 */ ))+9) ); (void) ( *( (fPt) ((* (ptr) pd365 ))))((* (( (ptr) formal←c82116)+4) ), (* (W2Pt) circle←v33744 ), cachedCircle←v34076, pd365) ; }; } else { SOURCE(45792, 48) { word pd366; pd366 = (* (( (ptr) (* (( (ptr) gf←c82084)+253)/* var←c77828 */ ))+5) ); (void) ( *( (fPt) ((* (ptr) pd366 ))))(circleCache←v34104, (* (( (ptr) circle←v33744)+2) ), pd366); }; SOURCE(45842, 178) { word pd367; pd367 = (* (( (ptr) (* (( (ptr) gf←c82084)+253)/* var←c77828 */ ))+6) ); cachedCircle←v34076 = (word) ( *( (fPt) ((* (ptr) pd367 ))))(circleCache←v34104, (* (( (ptr) circle←v33744)+2) ), pd367) ; }; if ((cachedCircle←v34076 != 0)) { SOURCE(45920, 69) { word pd368; pd368 = (* (( (ptr) (* (( (ptr) gf←c82084)+253)/* var←c77828 */ ))+9) ); (void) ( *( (fPt) ((* (ptr) pd368 ))))((* (( (ptr) formal←c82116)+4) ), (* (W2Pt) circle←v33744 ), cachedCircle←v34076, pd368) ; }; } else { SOURCE(45989, 31) { word pd369; pd369 = (* (( (ptr) (* (( (ptr) gf←c82084)+252)/* var←c77764 */ ))+13) ); (void) ( *( (fPt) ((* (ptr) pd369 ))))((* (( (ptr) formal←c82116)+4) ), circle←v33744, pd369); }; }; }; } static word HasVisibleObjects←P5220(alignBag←v20600) word alignBag←v20600; { word var←c20644; /* HasVisibleObjects: */ SOURCE(46989, 206) SOURCE(47060, 135) { word tc370; if (((0 == (word) EmptySlopeLines←P1380(alignBag←v20600)) || ((* (( (ptr) alignBag←v20600)+1) ) != 0)) || ((* (( (ptr) alignBag←v20600)+2) ) != 0)) { tc370 = (word) (unsigned) 1; } else { tc370 = (word) (unsigned) ((* (( (ptr) alignBag←v20600)+3) ) != 0); }; return(tc370); }; } static void DrawAlignBagRegardless←P5280(dc←v20704, alignBag←v20732, ggData←v20760) word dc←v20704; word alignBag←v20732; word ggData←v20760; { word slopeLines←v34148 = 0; /* DrawAlignBagRegardless: */ SOURCE(47201, 396) SOURCE(47331, 29) if ((alignBag←v20732 == 0)) { SOURCE(47354, 6) return; }; SOURCE(47362, 39) slopeLines←v34148 = (word) ListOfSlopeLines←P1980(alignBag←v20732); SOURCE(47403, 39) (void) DrawFeatureList←P5160(dc←v20704, slopeLines←v34148, ggData←v20760); SOURCE(47444, 48) (void) DrawFeatureList←P5160(dc←v20704, (* (( (ptr) alignBag←v20732)+1) ), ggData←v20760); SOURCE(47494, 50) (void) DrawFeatureList←P5160(dc←v20704, (* (( (ptr) alignBag←v20732)+2) ), ggData←v20760); SOURCE(47546, 51) (void) DrawFeatureList←P5160(dc←v20704, (* (( (ptr) alignBag←v20732)+3) ), ggData←v20760); } static void MakeFiltersGarbage←P5340(filters←v20820) word filters←v20820; { W6 var←c82148; /* declaration of var←c77892 skipped */ /* MakeFiltersGarbage: */ SOURCE(47603, 448) { word tmpAddr371; tmpAddr371 = (word) (( (ptr) &var←c82148)+4)/* var←c77892 */ ; (* (ptr) tmpAddr371 ) = ( ((word) (fPt) UnlinkBag←P9480) ); (* (( (ptr) tmpAddr371) + 1) ) = 1; }; SOURCE(47927, 29) (void) UnlinkBag←P9480((* (( (ptr) filters←v20820)+1) ), (word) (( (bPt) &var←c82148)+16)/* var←c77892 */ ); SOURCE(47958, 32) (void) UnlinkBag←P9480((* (( (ptr) filters←v20820)+2) ), (word) (( (bPt) &var←c82148)+16)/* var←c77892 */ ); SOURCE(47992, 27) (void) UnlinkBag←P9480((* (( (ptr) filters←v20820)+8) ), (word) (( (bPt) &var←c82148)+16)/* var←c77892 */ ); SOURCE(48021, 30) (void) UnlinkBag←P9480((* (( (ptr) filters←v20820)+9) ), (word) (( (bPt) &var←c82148)+16)/* var←c77892 */ ); } static void UnlinkBag←P9480(bag←v34352, formal←c82212) word bag←v34352; word formal←c82212; { W6 var←c82180; /* declaration of var←c77924 skipped */ formal←c82212 = (formal←c82212 - 16); var←c82180.f0 = formal←c82212; /* UnlinkBag: */ SOURCE(47658, 263) { word tmpAddr372; tmpAddr372 = (word) (( (ptr) &var←c82180)+4)/* var←c77924 */ ; (* (ptr) tmpAddr372 ) = ( ((word) (fPt) DoUnLink←P9540) ); (* (( (ptr) tmpAddr372) + 1) ) = 1; }; SOURCE(47865, 22) if ((bag←v34352 == 0)) { SOURCE(47881, 6) return; }; SOURCE(47889, 32) (void) WalkSliceTriggers←P420(bag←v34352, (word) (( (bPt) &var←c82180)+16)/* var←c77924 */ ); } static word DoUnLink←P9540(feature←v67784, formal←c82276) word feature←v67784; word formal←c82276; { register ptr gf←c82244 = (ptr) &globalframe; word done←v67828; formal←c82276 = (formal←c82276 - 16); /* DoUnLink: */ SOURCE(47696, 152) SOURCE(47696, 152) done←v67828 = 0; SOURCE(47726, 122) { word var←c77956; var←c77956 = (* (( (ptr) feature←v67784)+1) ); if ((var←c77956 == 0)) { goto lab←L100114; }; if (((* (( (ptr) gf←c82244)+15) ) == XR←GetReferentType(var←c77956))) { { word sd←v34424; sd←v34424 = var←c77956; SOURCE(47780, 68) if (((* (ptr) sd←v34424 ) != 0)) { SOURCE(47803, 29) { word pd373; pd373 = (* (( (ptr) (* (( (ptr) gf←c82244)+233)/* var←c71972 */ ))+71) ); (void) ( *( (fPt) ((* (ptr) pd373 ))))((* (ptr) (sd←v34424) ), pd373); }; SOURCE(47834, 14) (* (ptr) sd←v34424 ) = 0; }; }; } else { lab←L100114: ; }; }; SOURCE(47696, 152) return(done←v67828); } static void Init←P5400() { register ptr gf←c82308 = (ptr) &globalframe; /* Init: */ SOURCE(48057, 88) SOURCE(48075, 36) (* (( (ptr) gf←c82308)+5)/* emptyTriggerBag←v5800 */ ) = (word) CreateTriggerBag←P60(); SOURCE(48113, 32) (* (( (ptr) gf←c82308)+6)/* emptyAlignBag←v6332 */ ) = (word) CreateAlignBag←P1140(); } /* file: GGAlignImpl, module: GGAlignImpl, compiled at: July 13, 1993 1:25:54 pm PDT */ extern void XR←install←GGAlignImpl() { NoName←Q9648(); } extern void XR←run←GGAlignImpl() { XR←Start(&globalframe); }