X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fgame_sp%2FMainForm.c;h=4ac25f812e2f398b756d92b5e710197d940bb8f1;hb=315fd934929b6f1dbb70a6ae3cda097cdbc7d9c0;hp=b04fda82c9a9c15dc29be3cad0e1dbc5f78882b6;hpb=bc739f556617ab3e83f1beb7e0a446b9d074b8ee;p=rocksndiamonds.git diff --git a/src/game_sp/MainForm.c b/src/game_sp/MainForm.c index b04fda82..4ac25f81 100644 --- a/src/game_sp/MainForm.c +++ b/src/game_sp/MainForm.c @@ -674,16 +674,26 @@ void DrawFieldNoAnimated(int X, int Y); // --- Option Explicit // --- Option Compare Text +#if 0 + long SetParent(long hWndChild, long hWndNewParent); long SetWindowLong(long hWnd, long nIndex, long dwNewLong); long GetWindowLong(long hWnd, long nIndex); +#if 0 long GetTempPath(long nBufferLength, char *lpBuffer); +#endif long GetWindowText(long hWnd, char *lpString, long cch); +#endif + +#if 0 + #define GWL_STYLE ((-16)) #define WS_CHILD (0x40000000) #define WS_POPUP (0x80000000) +#endif + // [UNCOMMENTED] Dim StretchWidth2& char *MpxBmp; @@ -1003,11 +1013,22 @@ static boolean InstanceStillRunning(char *TmpFile) #endif +void DrawFrameIfNeeded() +{ + DrawFrame(0); + + /* !!! CHECK THIS !!! */ +#if 1 + if (! menBorder.Checked) + DrawFrame(1); +#endif +} + void DisplayLevel() { int X, Y; -#if 1 +#if 0 printf("::: MainForm.c: DisplayLevel(): %d, %d, %d\n", Loaded, LevelLoaded, bPlaying); #endif @@ -1018,20 +1039,25 @@ void DisplayLevel() if (! LevelLoaded) return; + ClearRectangle(backbuffer, REAL_SX, REAL_SY, FULL_SXSIZE, FULL_SYSIZE); + ClearRectangle(screenBitmap, 0, 0, + MAX_BUF_XSIZE * TILEX, MAX_BUF_YSIZE * TILEY); + #if 1 SetDisplayRegion(); #endif DrawFrame(0); -#if 0 + /* !!! CHECK THIS !!! */ +#if 1 if (! menBorder.Checked) DrawFrame(1); #endif if (bPlaying) { -#if 1 +#if 0 printf("::: MainForm.c: DisplayLevel(): [%ld, %ld, %ld, %ld] [%d, %d]...\n", DisplayMinX, DisplayMinY, DisplayMaxX, DisplayMaxY, FieldWidth, FieldHeight); @@ -1369,7 +1395,10 @@ void Form_Load() PauseMode = 0; // BaseWidth = 16 - menBorder_Click(); +#if 1 + if (0) + menBorder_Click(); +#endif Loaded = True; @@ -1604,7 +1633,7 @@ static void Form_Resize() // NW = ScaleWidth - 2 * Space: If NW < 0 Then NW = 0 // NH = ScaleHeight - 3 * Space - cmbLevel.Height: If NH < 0 Then NH = 0 // picViewPort.Move Space, Space, NW, NH - Tmp = (ShowPanel != 0 ? ScaleHeight - Panel.Height : ScaleHeight - Panel.Height); + Tmp = (ShowPanel != 0 ? ScaleHeight - Panel.Height : ScaleHeight); if (Tmp < 0) Tmp = 0; @@ -2022,7 +2051,7 @@ static void UpdateDeltaT() if (! bPlaying) return; - DeltaT = (DemoFlag != 0 ? DeltaTDemo : DeltaTDemo); + DeltaT = (DemoFlag != 0 ? DeltaTDemo : DeltaTPlay); if (DeltaT < 0) { Stage.Blt(); @@ -2087,7 +2116,7 @@ static void menOpen_Click() */ LFilt = LastOpenFilter; - cmDlg.FilterIndex = (0 < LFilt & LFilt < 5 ? LFilt : LFilt); + cmDlg.FilterIndex = (0 < LFilt & LFilt < 5 ? LFilt : 1); if (FileExists(CurPath)) cmDlg.InitDir = WithSlash(StripDir(CurPath)); @@ -2164,7 +2193,7 @@ static void menPause_Click() static StdPicture OldPic; static char *OldText = 0; - PauseMode = (PauseMode != 0 ? 0 : 0); + PauseMode = (PauseMode != 0 ? 0 : 1); if (PauseMode != 0) { if (IS_NOTHING(&OldPic, sizeof(OldPic))) @@ -2391,7 +2420,7 @@ static void menSoundFX_Click() { { menSoundFX.Checked = ! menSoundFX.Checked; - FXOnFlag = (menSoundFX.Checked ? -1 : -1); + FXOnFlag = (menSoundFX.Checked ? -1 : 0); } } @@ -2461,13 +2490,13 @@ void menPlay_Click() UpdateDeltaT(); #endif -#if 1 +#if 0 printf("::: MainForm.c: menPlay_Click(): subFetchAndInitLevelB(): ...\n"); #endif subFetchAndInitLevelB(); -#if 1 +#if 0 printf("::: MainForm.c: menPlay_Click(): subFetchAndInitLevelB(): done\n"); #endif @@ -2509,7 +2538,9 @@ void menPlay_Click() // Trace "MainForm", "subFetchAndInitLevel returned" +#if 0 Stage.Blt(); +#endif #if 0 @@ -2520,9 +2551,36 @@ void menPlay_Click() // Trace "MainForm", "<-- menPlay_Click()" #endif +} + +#if 1 + +// static void menPlayDemo_Click() +void menPlayDemo_Click() +{ + DemoFlag = 1; + RecordDemoFlag = 0; + +#if 0 + lblStatus = "Demo Playback"; +#endif + + menPlay_Click(); + +#if 1 + return; /* return after initialization phase */ +#endif +#if 0 + if (LevelStatus != 1) + lblStatus = "Demo Failed"; +#endif + + DemoFlag = 0; } +#else + // static void menPlayDemo_Click() void menPlayDemo_Click() { @@ -2543,6 +2601,8 @@ void menPlayDemo_Click() DemoFlag = 0; } +#endif + #if 0 static void menRec_Click() @@ -2725,7 +2785,7 @@ static void PanelTim_Timer() Tmp = Panel.Height; if (PanelSeq < Panel.Height && -1 < PanelSeq) { - PanelSeq = (ShowPanel != 0 ? PanelSeq + 2 : PanelSeq + 2); + PanelSeq = (ShowPanel != 0 ? PanelSeq + 2 : PanelSeq - 2); Tmp = ScaleHeight - Tmp + PanelSeq; Panel.top = Tmp; picViewPort.Height = Tmp; @@ -2733,8 +2793,8 @@ static void PanelTim_Timer() else { PanelTim.Enabled = False; - PanelSeq = (PanelSeq < 0 ? 0 : 0); - ShowPanel = (ShowPanel == 0 ? 1 : 1); + PanelSeq = (PanelSeq < 0 ? 0 : PanelSeq - ); + ShowPanel = (ShowPanel == 0 ? 1 : 0); menPanel.Checked = (ShowPanel != 0); } } @@ -2960,7 +3020,11 @@ static void picPane_Paint() Oldflag = NoDisplayFlag; NoDisplayFlag = False; + +#if 0 Stage.Blt(); +#endif + NoDisplayFlag = Oldflag; } @@ -2972,13 +3036,13 @@ static void ReStretch(float NewStretch) long BW2, LW, LH, i; #endif -#if 1 +#if 0 printf("::: MainForm.c: ReStretch(): %d, %d\n", Loaded, LevelLoaded); #endif if (! Loaded) { -#if 1 +#if 0 printf("::: NewStretch == %f\n", NewStretch); #endif @@ -3035,7 +3099,7 @@ static void ReStretch(float NewStretch) if (Loaded && LevelLoaded) { -#if 1 +#if 0 printf("::: MainForm.c: ReStretch(): ...\n"); #endif @@ -3046,13 +3110,15 @@ static void ReStretch(float NewStretch) subCalculateScreenScrollPos(); -#if 1 +#if 0 printf("::: MainForm.c: ReStretch(): %d, %d\n", ScreenScrollXPos, ScreenScrollYPos); #endif ScrollTo(ScreenScrollXPos, ScreenScrollYPos); +#if 0 Stage.Blt(); +#endif picPane_Paint(); } @@ -3064,7 +3130,7 @@ static void ReStretch(float NewStretch) static void SetScrollEdges() { -#if 1 +#if 0 printf("::: MainForm.c: SetScrollEdges() ... [%ld, %ld, %ld, %ld] [%f, %d] [%d, %d, %d, %d]\n", DisplayMinX, DisplayMinY, DisplayMaxX, DisplayMaxY, Stretch, BaseWidth, @@ -3076,7 +3142,7 @@ static void SetScrollEdges() ScrollMaxX = (int)(DisplayMaxX + 1.5) * Stretch * BaseWidth - picPane.Width; ScrollMaxY = (int)(DisplayMaxY + 1.5) * Stretch * BaseWidth - picPane.Height; -#if 1 +#if 0 printf("::: MainForm.c: SetScrollEdges() done [%d, %d, %d, %d]\n", ScrollMinX, ScrollMinY, ScrollMaxX, ScrollMaxY); #endif @@ -3167,8 +3233,9 @@ void DrawFieldNoAnimated(int X, int Y) } #if 0 - printf("::: MainForm.c: DrawFieldNoAnimated(): %d, %d [%d]\n", - X, Y, Tmp); + if (TEST_flag) + printf("::: MainForm.c: DrawFieldNoAnimated(): %d, %d [%d]\n", + X, Y, Tmp); #endif StretchedSprites.BltEx(StretchWidth * X, StretchWidth * Y, Tmp); @@ -3236,7 +3303,7 @@ static void picViewPort_Resize() SetScrollEdges(); -#if 1 +#if 0 printf("::: MainForm.c: picViewPort_Resize(): %d, %d\n", ScrollX, ScrollY); #endif @@ -3314,8 +3381,8 @@ void ShowKey(int KeyVar) Tmp = State[i]; if (Tmp ^ LastState[i]) { - Col = (i == 5 ? vbRed : vbRed); - shpKey(i).FillColor = (Tmp ? Col : Col); + Col = (i == 5 ? vbRed : vbGreen); + shpKey(i).FillColor = (Tmp ? Col : vbButtonFace); shpKey(i).Refresh; LastState[i] = Tmp; } @@ -3378,7 +3445,7 @@ static void GetSettings() } Flag = CBool(s.Read("SoundFX", True)); - FXOnFlag = (Flag ? -1 : -1); + FXOnFlag = (Flag ? -1 : 0); menSoundFX.Checked = Flag; SignatureDelay = CLng(s.Read("SignatureDelay", 3000)); AllowRedDiskCheat = CInt(s.Read("AllowRedDiskCheat", 1)); @@ -3406,7 +3473,7 @@ static void SaveSettings() int i; { - s.Save "LastPath", (ModifiedFlag ? OrigPath : OrigPath); + s.Save "LastPath", (ModifiedFlag ? OrigPath : CurPath); if (WindowState != vbMinimized) { s.Save "Width", Width;