1 // ----------------------------------------------------------------------------
3 // ----------------------------------------------------------------------------
10 boolean DemoAvailable;
13 int FieldWidth; // standard size = 60
14 int FieldHeight; // standard size = 24
15 int HeaderSize; // standard size = 96
16 int FieldMax, LevelMax;
33 int ScrollMinX, ScrollMaxX, ScrollMinY, ScrollMaxY;
81 int aniSnikSnakTurningLeft[] =
83 aniSnikSnakTurnUpToLeft,
84 aniSnikSnakTurnLeftToDown,
85 aniSnikSnakTurnDownToRight,
86 aniSnikSnakTurnRightToUp
89 int aniSnikSnakTurningRight[] =
91 aniSnikSnakTurnUpToRight,
92 aniSnikSnakTurnRightToDown,
93 aniSnikSnakTurnDownToLeft,
94 aniSnikSnakTurnLeftToUp
98 int getSequenceLength(int sequence)
109 case aniTouchInfotron:
123 boolean isSnappingSequence(int sequence)
128 case aniTouchInfotron:
129 case aniTouchRedDisk:
139 AutoScrollFlag = True;
145 FieldMax = (FieldWidth * FieldHeight) + HeaderSize - 1;
146 LevelMax = (FieldWidth * FieldHeight) - 1;
151 int GetSI(int X, int Y)
153 return Y * FieldWidth + X;
158 return si % FieldWidth;
163 return si / FieldWidth;
166 int GetStretchX(int si)
168 return StretchWidth * (si % FieldWidth);
171 int GetStretchY(int si)
173 return StretchWidth * (si / FieldWidth);
178 copyInternalEngineVars_SP();
188 void Trace(char *Source, char *Message)
190 printf("::: Trace: Source == '%s', Message == '%s'\n", Source, Message);
193 void ReportError(char *Source, char *Message)
195 printf("::: ReportError: Source == '%s', Message == '%s'\n", Source, Message);
198 int Min(int A, int B)
200 return (A < B ? A : B);
203 int Max(int A, int B)
205 return (A < B ? B : A);