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