#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 0
+ printf("::: MainForm.c: DisplayLevel(): %d, %d, %d\n",
+ Loaded, LevelLoaded, bPlaying);
+#endif
+
if (! Loaded)
return;
if (! LevelLoaded)
return;
-#if 0
+#if 1
SetDisplayRegion();
#endif
if (bPlaying)
{
+#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++)
long InfoCount;
boolean Oldflag;
int Msg;
- long LastIndex;
- boolean bBlock;
+ static long LastIndex = 0;
+ static boolean bBlock = False;
if (bBlock)
return;
picPane_KeyUp(KeyCode, Shift);
}
-static void Form_Load()
+#endif
+
+void Form_Load()
{
#if 0
EditFlag = False;
EditMode = edMove;
// FMark = New MarkerObject; // (handle this later, if needed)
+
InitGlobals();
#if 0
picViewPort.ScaleMode = vbPixels;
+#endif
+
PauseMode = 0;
// BaseWidth = 16
+
menBorder_Click();
+
Loaded = True;
+
ReStretch(Stretch);
+
+#if 0
+
LoadKeyIndicators();
- Show;
+ Show();
FillFileList(CurPath);
if (s.Read("ShowSplash", True))
#endif
}
+#if 0
+
static void FillLevelList(char *Path, int LevelIndex)
{
long FNum, LevLen, i, iMax;
}
}
-#if 0
-
static void RestoreFrame()
{
int i, LX, tY, RX, BY;
}
}
+#if 0
+
static void Form_Unload(int Cancel)
{
EndFlag = True;
static void fpsTim_Timer()
{
currency TickDiff;
- int count5;
+ static int count5 = 0;
count5 = count5 + 1;
if (4 < count5)
}
}
+#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();
}
DisplayMinY = 1;
DisplayMaxY = FieldHeight - 2;
DisplayHeight = FieldHeight;
+
if (LevelLoaded)
DrawFrame(1);
DisplayMinY = 0;
DisplayMaxY = FieldHeight - 1;
DisplayHeight = FieldHeight + 2;
+
if (LevelLoaded)
RestoreFrame();
}
}
+#if 0
+
static void menCopy_Click()
{
FMark.Copy;
void Let_PanelVisible(boolean NewVal)
{
- boolean HidePanel;
+ static boolean HidePanel = False;
if (HidePanel != NewVal)
return;
static void menPause_Click()
{
- StdPicture OldPic;
- char *OldText;
+ static StdPicture OldPic;
+ static char *OldText = 0;
PauseMode = (PauseMode != 0 ? 0 : 0);
if (PauseMode != 0)
int FNum;
char *LogPath, *OutStr, *ReRecPath, *SPPath;
boolean bEqual;
- boolean QuitFlag;
+ static boolean QuitFlag = False;
if (cmdPlayAll.STRING_IS_LIKE(Caption, "Play) All Demos")
{
// static void menPlay_Click()
void menPlay_Click()
{
-
#if 0
boolean OldEditFlag;
#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 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&
int i;
boolean Tmp;
long Col;
- boolean LastState[5 + 1];
+ static boolean LastState[5 + 1];
// For i = 1 To 5
// State(i) = False