#if 1
static void DrawFrame(int Delta);
+static void ReStretch(float NewStretch);
+static void picPane_Paint();
+static void picViewPort_Resize();
+static void menBorder_Click();
#else
{
int X, Y;
-#if 1
- printf("::: DisplayLevel (%d, %d, %d)\n", Loaded, LevelLoaded, bPlaying);
+#if 0
+ printf("::: MainForm.c: DisplayLevel(): %d, %d, %d\n",
+ Loaded, LevelLoaded, bPlaying);
#endif
if (! Loaded)
if (bPlaying)
{
-#if 1
- printf("::: DisplayLevel [%ld, %ld, %ld, %ld]...\n",
- DisplayMinY, DisplayMaxY, DisplayMinX, DisplayMaxX);
+#if 0
+ printf("::: MainForm.c: DisplayLevel(): [%ld, %ld, %ld, %ld] [%d, %d]...\n",
+ DisplayMinX, DisplayMinY, DisplayMaxX, DisplayMaxY,
+ FieldWidth, FieldHeight);
#endif
for (Y = DisplayMinY; Y <= DisplayMaxY; Y++)
{
for (X = DisplayMinX; X <= DisplayMaxX; X++)
{
-#if 0
- printf("::: DrawFieldNoAnimated(%d, %d)\n", X, Y);
-#endif
DrawFieldNoAnimated(X, Y);
}
}
{
for (X = DisplayMinX; X <= DisplayMaxX; X++)
{
-#if 0
- printf("::: DrawFieldAnimated(%d, %d)\n", X, Y);
-#endif
DrawFieldAnimated(X, Y);
}
}
{
for (X = DisplayMinX; X <= DisplayMaxX; X++)
{
-#if 0
- printf("::: DrawField(%d, %d)\n", X, Y);
-#endif
DrawField(X, Y);
}
}
EditFlag = False;
EditMode = edMove;
// FMark = New MarkerObject; // (handle this later, if needed)
+
InitGlobals();
#if 0
PauseMode = 0;
// BaseWidth = 16
-#if 0
menBorder_Click();
-#endif
Loaded = True;
+ ReStretch(Stretch);
+
#if 0
- ReStretch(Stretch);
LoadKeyIndicators();
Show();
}
}
+#endif
+
static void menBorder_Click()
{
if (menBorder.Checked)
DisplayMinY = 1;
DisplayMaxY = FieldHeight - 2;
DisplayHeight = FieldHeight;
+
if (Loaded && LevelLoaded)
DrawFrame(1);
DisplayMinY = 0;
DisplayMaxY = FieldHeight - 1;
DisplayHeight = FieldHeight + 2;
+
if (Loaded && LevelLoaded)
RestoreFrame();
}
// DisplayLevel True
}
-#endif
-
void SetDisplayRegion()
{
-#if 1
- if (0)
-#else
if (! menBorder.Checked)
-#endif
{
DisplayMinX = 1;
DisplayMaxX = FieldWidth - 2;
#endif
LastFrame = 0;
+
#if 0
LastTick = T.TickNow();
#endif
#if 0
-
fpsTim.Enabled = True;
-
#endif
// DimPrimary 100
bPlaying = True;
#if 0
-
UpdateDeltaT();
+#endif
+#if 0
+ printf("::: MainForm.c: menPlay_Click(): subFetchAndInitLevelB(): ...\n");
#endif
subFetchAndInitLevelB();
+#if 0
+ printf("::: MainForm.c: menPlay_Click(): subFetchAndInitLevelB(): done\n");
+#endif
+
+ ReStretch(Stretch);
+
// Trace "MainForm", "CountDown 1"
CountDown(2, (0 == DemoFlag));
// Trace "MainForm", "Call GoPlay"
}
-#if 0
-
-static void menPlayDemo_Click()
+// static void menPlayDemo_Click()
+void menPlayDemo_Click()
{
DemoFlag = 1;
RecordDemoFlag = 0;
+
+#if 0
lblStatus = "Demo Playback";
+#endif
+
menPlay_Click();
+
+#if 0
if (LevelStatus != 1)
lblStatus = "Demo Failed";
+#endif
DemoFlag = 0;
}
+#if 0
+
static void menRec_Click()
{
Trace("MainForm", "--> menRec_Click()");
}
}
+#endif
+
static void picPane_Paint()
{
boolean Oldflag;
static void ReStretch(float NewStretch)
{
+#if 1
+ long BW2, LW, LH;
+#else
long BW2, LW, LH, i;
+#endif
+
+#if 0
+ printf("::: MainForm.c: ReStretch(): %d, %d\n", Loaded, LevelLoaded);
+#endif
if (! Loaded)
{
-#if 1
- printf("::: NewStretch == %d\n", NewStretch);
+#if 0
+ printf("::: NewStretch == %f\n", NewStretch);
#endif
Stretch = NewStretch;
return;
}
+#if 0
MousePointer = 11;
SET_TO_NOTHING(&Stage, sizeof(Stage));
SET_TO_NOTHING(&StretchedSprites, sizeof(StretchedSprites));
menStretch(Stretch / 0.25).Checked = False;
+#endif
+
Stretch = NewStretch;
+
+#if 0
menStretch(Stretch / 0.25).Checked = True;
// StretchWidth = BaseWidth ' * NewStretch
// StretchWidth2 = StretchWidth \ 2
// TwoPixels = 2 '* Stretch
// StretchLoad Sprites, imgMpx.Picture, 16, 16
+#endif
+
BW2 = StretchWidth / 2;
LW = (FieldWidth + 2) * BaseWidth; // StretchWidth
LH = (FieldHeight + 2) * BaseWidth; // StretchWidth
+
+#if 0
// i = bmpStage.CreateAtSize(LW, LH)
// Stage = New DDScrollBuffer; // (handle this later, if needed)
i = Stage.CreateAtSize(LW, LH, picPane.hWnd);
}
else
+#endif
{
StretchedSprites.DestXOff = 1 * BaseWidth; // StretchWidth
StretchedSprites.DestYOff = 1 * BaseWidth; // StretchWidth
Stage.DestXOff = 1 * StretchWidth;
Stage.DestYOff = 1 * StretchWidth;
StretchedSprites.DestinationSurface = Stage.Surface;
- Stage.Cls;
+
+#if 0
+ Stage.Cls();
+#endif
+
if (Loaded && LevelLoaded)
{
+#if 0
+ printf("::: MainForm.c: ReStretch(): ...\n");
+#endif
+
SetDisplayRegion();
picViewPort_Resize();
DisplayLevel();
}
subCalculateScreenScrollPos();
+
+#if 0
+ printf("::: MainForm.c: ReStretch(): %d, %d\n", ScreenScrollXPos, ScreenScrollYPos);
+#endif
+
ScrollTo(ScreenScrollXPos, ScreenScrollYPos);
+
Stage.Blt();
+
picPane_Paint();
}
+#if 0
MousePointer = 0;
+#endif
}
static void SetScrollEdges()
{
- ScrollMinX = (DisplayMinX - 0.5) * Stretch * BaseWidth;
- ScrollMinY = (DisplayMinY - 0.5) * Stretch * BaseWidth;
- ScrollMaxX = (DisplayMaxX + 1.5) * Stretch * BaseWidth - picPane.Width;
- ScrollMaxY = (DisplayMaxY + 1.5) * Stretch * BaseWidth - picPane.Height;
-}
+#if 0
+ printf("::: MainForm.c: SetScrollEdges() ... [%ld, %ld, %ld, %ld] [%f, %d] [%d, %d, %d, %d]\n",
+ DisplayMinX, DisplayMinY, DisplayMaxX, DisplayMaxY,
+ Stretch, BaseWidth,
+ ScrollMinX, ScrollMinY, ScrollMaxX, ScrollMaxY);
+#endif
+
+ ScrollMinX = (int)(DisplayMinX - 0.5) * Stretch * BaseWidth;
+ ScrollMinY = (int)(DisplayMinY - 0.5) * Stretch * BaseWidth;
+ ScrollMaxX = (int)(DisplayMaxX + 1.5) * Stretch * BaseWidth - picPane.Width;
+ ScrollMaxY = (int)(DisplayMaxY + 1.5) * Stretch * BaseWidth - picPane.Height;
+#if 0
+ printf("::: MainForm.c: SetScrollEdges() done [%d, %d, %d, %d]\n",
+ ScrollMinX, ScrollMinY, ScrollMaxX, ScrollMaxY);
#endif
+}
void DrawField(int X, int Y)
{
Tmp = DisPlayField[tsi];
}
+#if 0
+ printf("::: MainForm.c: DrawFieldNoAnimated(): %d, %d [%d]\n",
+ X, Y, Tmp);
+#endif
+
StretchedSprites.BltEx(StretchWidth * X, StretchWidth * Y, Tmp);
break;
}
// Debug.Print "picViewPort_Paint()"
}
+#endif
+
static void picViewPort_Resize()
{
+#if 0
long bdX, bdY, PanelVisibility;
long X, Y, dx, dY;
SettingsObject s;
Y = Max((picViewPort.ScaleHeight - dY) / 2, 0);
picPane.Move X, Y, dx, dY;
picFrame.Move X - bdX / 2, Y - bdY / 2, dx + bdX, dY + bdY;
+#endif
+
SetScrollEdges();
+
+#if 0
+ printf("::: MainForm.c: picViewPort_Resize(): %d, %d\n", ScrollX, ScrollY);
+#endif
+
ScrollTo(ScrollX, ScrollY);
+
// SizeTim.Interval = 1
}
+#if 0
+
//
// Private Sub SizeTim_Timer()
// Dim wdX&, wdY&