rnd-20100315-1-src
authorHolger Schemel <info@artsoft.org>
Mon, 15 Mar 2010 00:24:15 +0000 (01:24 +0100)
committerHolger Schemel <info@artsoft.org>
Sat, 30 Aug 2014 08:58:47 +0000 (10:58 +0200)
* started code cleanup of native Supaplex game engine

24 files changed:
ChangeLog
src/conftime.h
src/engines.h
src/game_sp/ASM.c
src/game_sp/ASM.h
src/game_sp/BitMapObject.c [deleted file]
src/game_sp/BitMapObject.h [deleted file]
src/game_sp/BugsTerminals.c
src/game_sp/BugsTerminals.h
src/game_sp/Capture.c [deleted file]
src/game_sp/Capture.h [deleted file]
src/game_sp/DDScrollBuffer.c
src/game_sp/DDScrollBuffer.h
src/game_sp/DDSpriteBuffer.c
src/game_sp/DDSpriteBuffer.h
src/game_sp/Infotrons.c
src/game_sp/MainForm.c
src/game_sp/Makefile
src/game_sp/Murphy.c
src/game_sp/Zonk.c
src/game_sp/global.h
src/game_sp/init.c
src/game_sp/main.c
src/tools.c

index 777cbb8555a224bd86791fedf512c96c0da8d6ab..8967bdd763ee88c08d94325705a4a97766a64006 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,6 @@
+2010-03-14
+       * started code cleanup of native Supaplex game engine
+
 2010-03-13
        * integrated playing sound effects into native Supaplex game engine
 
index 78990a157fa288cdc6037308b63a79c4d1a3f7b2..e58f87ed2c61f82bbd8a25ff3eb1c61f34ea6779 100644 (file)
@@ -1 +1 @@
-#define COMPILE_DATE_STRING "2010-03-13 15:52"
+#define COMPILE_DATE_STRING "2010-03-15 01:21"
index 0bdb824abafd7fabf082444c29651f5ccaa546b8..42d64b549aba8f94501f4f2db58aa8e682e62776 100644 (file)
@@ -50,7 +50,6 @@ extern void SetBitmaps_SP(Bitmap **);
 
 void getGraphicSource_SP(struct GraphicInfo_SP *, int, int, int, int);
 int getGraphicInfo_Delay(int);
-boolean isRandomAnimation_SP(int);
 boolean isNextAnimationFrame_SP(int, int);
 
 
index d31edfaed7f626ce516986d9f13a500b38b1fbc0..ae2de3ee77544498b0d27e62d0c94a4cc50aaba7 100644 (file)
 #include "ASM.h"
 
 
-void Mov(int *Var, int Val)
+void MovLowByte(int *p, int i)
 {
-  *Var = Val;
+  *p = (*p & 0xff00) | (i & 0xff);
 }
 
-void MovLowByte(int *Var, int Val)
+void MovHighByte(int *p, int i)
 {
-  *Var = (*Var & 0xFF00) | (Val & 0xFF);
+  *p = (*p & 0xff) | ((i << 8) & 0xff00);
 }
 
-void MovHighByte(int *Var, int Val)
+int LowByte(int i)
 {
-  int Tmp;
-
-  Tmp = Val & 0x7F;
-  Tmp = 0x100 * Tmp;
-
-  if ((Val & 0x80) != 0)
-    Tmp = Tmp | 0x8000;
-
-  *Var = (*Var & 0xFF) | Tmp;
+  return (i & 0xff);
 }
 
-int LowByte(int Var)
+int HighByte(int i)
 {
-  int LowByte;
-
-  LowByte = (Var & 0xFF);
-
-  return LowByte;
+  return ((i >> 8) & 0xff);
 }
 
-int HighByte(int Var)
+int SgnHighByte(int i)
 {
-  int HighByte;
-
-  if (Var & 0x8000)
-    HighByte = ((Var & 0x7FFF) / 0x100) | 0x80;
-  else
-    HighByte = Var / 0x100;
-
-  return HighByte;
+  return (signed char)HighByte(i);
 }
 
-int SgnHighByte(int Var) // extends the signum to 16 bit
+int ByteToInt(byte b)
 {
-#if 1
-  short SgnHighByte;
-#else
-  int SgnHighByte;
-#endif
-
-  if (Var & 0x8000)
-    SgnHighByte = ((Var & 0x7FFF) / 0x100) | 0xFF80;
-  else
-    SgnHighByte = Var / 0x100;
-
-  return SgnHighByte;
-}
-
-int SHL(int *Var, int Count)
-{
-  int SHL;
-
-  int i;
-
-  for (i = 1; i <= Count; i++)
-  {
-    *Var = *Var & 0x7FFF;
-
-    if ((*Var & 0x4000) != 0)
-      *Var = (2 * (*Var & 0x3FFF)) | 0x8000;
-    else
-      *Var = 2 * *Var;
-  }
-
-  return SHL;
-}
-
-int SHR(int *Var, int Count)
-{
-  int SHR;
-
-  int i;
-
-  if (*Var & 0x8000)
-    *Var = ((*Var & 0x7FFF) / 2) | 0x4000;
-  else
-    *Var = *Var / 2;
-
-  for (i = 2; i <= Count; i++)
-    *Var = *Var / 2;
-
-  return SHR;
-}
-
-int ByteToInt(byte B)
-{
-  int ByteToInt;
-
-  if ((B & 0x80) == 0x80)
-    ByteToInt = -(0xFF - B + 1);
-  else
-    ByteToInt = B;
-
-  return ByteToInt;
-}
-
-byte IntToByte(int i)
-{
-  byte IntToByte;
-
-  IntToByte = (byte)(i & 0xFF);
-
-  return IntToByte;
+  return (signed char)b;
 }
index f1e4e4ac7da24143508cb2c34c4c162cd30fd453..ae23113d7898eacdef2be4b7e008db1e3bda6b53 100644 (file)
 #include "global.h"
 
 
-#define ByteMask                       (0xFF)
-
-extern void Mov(int *Var, int Val);
-extern void MovLowByte(int *Var, int Val);
-extern void MovHighByte(int *Var, int Val);
-extern int LowByte(int Var);
-extern int HighByte(int Var);
-extern int SgnHighByte(int Var);
-extern int SHL(int *Var, int Count);
-extern int SHR(int *Var, int Count);
-extern int ByteToInt(byte B);
-extern byte IntToByte(int i);
+extern void MovLowByte(int *, int);
+extern void MovHighByte(int *, int);
+extern int LowByte(int);
+extern int HighByte(int);
+extern int SgnHighByte(int);
+extern int ByteToInt(byte);
 
 #endif /* ASM_H */
diff --git a/src/game_sp/BitMapObject.c b/src/game_sp/BitMapObject.c
deleted file mode 100644 (file)
index 5e26768..0000000
+++ /dev/null
@@ -1,601 +0,0 @@
-// ----------------------------------------------------------------------------
-// BitMapObject.c
-// ----------------------------------------------------------------------------
-
-#include "BitMapObject.h"
-
-// static void ConvertToVBPalette();
-static long Get_ByteWidth();
-static long Get_LineLength();
-static void ReDimArrays();
-
-// --- VERSION 1.0 CLASS
-// --- BEGIN
-// ---   MultiUse = -1  'True  // True
-// ---   Persistable = 0  'NotPersistable  // NotPersistable
-// ---   DataBindingBehavior = 0  'vbNone  // vbNone
-// ---   DataSourceBehavior  = 0  'vbNone  // vbNone
-// ---   MTSTransactionMode  = 0  'NotAnMTSObject  // NotAnMTSObject
-// --- END
-
-// static char *VB_Name = "BitMapObject";
-// static boolean VB_GlobalNameSpace = False;
-// static boolean VB_Creatable = True;
-// static boolean VB_PredeclaredId = False;
-// static boolean VB_Exposed = False;
-
-// --- Option Explicit
-
-// info von http://web.usxchange.net/elmo/bmp.htm
-
-// A BMP file consists of the four following parts:
-//
-//   1.BITMAPFILEHEADER
-//   2.BITMAPINFOHEADER
-//   3.A color table of RGBQUAD structures (1, 4 & 8 bit only)
-//   4.An array of bytes for the actual image data
-
-// 1.BITMAPFILEHEADER
-//        1.bfType
-//               Declared an unsigned integer. But, this is just to reserve space for 2 bytes.
-//               The 2 bytes must be the 2 characters BM to indicate a BitMap file.
-//        2.bfSize
-//               Total size of file in bytes.
-//        3.bfReserved1
-//               Always zero (ignore).
-//        4.bfReserved2
-//               Always zero (ignore).
-//        5.bfOffBits
-//               Specifies the byte offset from the BITMAPFILEHEADER structure to the actual bitmap data in the file.
-// ::: #ifndef HAS_BitmapFileHeaderType
-// ::: typedef struct // {    /* bmfh */
-// ::: {
-// :::   byte bfTypeB;
-// :::   byte bfTypeM;
-// :::   long bfSize;
-// :::   int bfReserved1;
-// :::   int bfReserved2;
-// :::   long bfOffBits;
-// ::: } BitmapFileHeaderType;
-// ::: #define HAS_BitmapFileHeaderType
-// ::: #endif
-
-//   2.BITMAPINFOHEADER
-//        1.biSize
-//               Size of BITMAPINFOHEADER structure (should always be 40).
-//        2.biWidth
-//               Width of image in pixels.
-//        3.biHeight
-//               Height of image in pixels.
-//        4.biPlanes
-//               Always one (ignore).
-//        5.biBitCount
-//               Specifies the number of bits per pixel. This value must be 1, 4, 8, or 24.
-//        6.biCompression
-//               Specifies the type of compression.
-//                  1.BI_RGB No compression.
-//                  2.BI_RLE8 8 bit RLE
-//                  3.BI_RLE4 4 bit RLE
-//        7.biSizeImage
-//               Specifies the size, in bytes, of the image data. May be zero if the bitmap is in the BI_RGB format.
-//        8.biXPelsPerMeter
-//               Ignore.
-//        9.biYPelsPerMeter
-//               Ignore.
-//       10.biClrUsed
-//               Specifies the number of color indices in the color table. Zero indicaes the bitmap uses the maximum number of colors corresponding to the value of the
-//               biBitCount member e.g. 8 bit -> 256 colors.
-//
-//               The maximum number of colors = 2N. Where N = biBitCount. 2N is the same as 1 << N. The same as you can get powers of 10 by shifting the decimal point
-//               in a decimal number, only it is binary.
-//       11.biClrImportant
-//               Ignore.
-// ::: #ifndef HAS_BitmapInfoHeaderType
-// ::: typedef struct // {    /* bmih */
-// ::: {
-// :::   long biSize;
-// :::   long biWidth;
-// :::   long biHeight;
-// :::   int biPlanes;
-// :::   int biBitCount;
-// :::   long biCompression;
-// :::   long biSizeImage;
-// :::   long biXPelsPerMeter;
-// :::   long biYPelsPerMeter;
-// :::   long biClrUsed;
-// :::   long biClrImportant;
-// ::: } BitmapInfoHeaderType;
-// ::: #define HAS_BitmapInfoHeaderType
-// ::: #endif
-
-//   3.A color table of RGBQUAD structures (1, 4 & 8 bit only)
-//          RGBQUAD structure is self explanatory.
-// ::: #ifndef HAS_RGBQUADType
-// ::: typedef struct // {     /* rgbq */
-// ::: {
-// :::   byte rgbBlue;
-// :::   byte rgbGreen;
-// :::   byte rgbRed;
-// :::   byte rgbReserved;
-// ::: } RGBQUADType;
-// ::: #define HAS_RGBQUADType
-// ::: #endif
-
-RGBQUADType *ColorTable;
-long *VBPalette;
-
-//   4.An array of bytes for the actual image data
-//          Bits per pixel & compression determined by biBitCount & biCompression.
-
-byte *ImageDataBytes;
-
-// ######################################################################################################
-
-BitmapFileHeaderType BMFH;
-BitmapInfoHeaderType BMIH;
-
-static long Get_LineLength()
-{
-  static long LineLength;
-
-  LineLength = 4 * (((Get_ByteWidth() - 1) / 4) + 1);
-
-  return LineLength;
-}
-
-static long Get_ByteWidth()
-{
-  static long ByteWidth;
-
-  ByteWidth = BMIH.biWidth * BMIH.biBitCount / 8;
-
-  return ByteWidth;
-}
-
-void BitMapObject_CreateAtSize(long XPixels, long YPixels, long BitsPerPixel)
-{
-  {
-    BMIH.biWidth = XPixels;
-    BMIH.biHeight = YPixels;
-    BMIH.biSize = 40;
-    BMIH.biBitCount = BitsPerPixel;
-    BMIH.biClrUsed = (1 << BMIH.biBitCount);
-    BMIH.biPlanes = 1;
-    BMIH.biClrImportant = BMIH.biClrUsed;
-    BMIH.biCompression = 0;
-  }
-  {
-    BMFH.bfTypeB = 0x42; // B'
-    BMFH.bfTypeM = 0x4D; // M'
-  }
-  ReDimArrays();
-}
-
-#if 0
-
-void BitMapObject_CreateFromFile(char *Path)
-{
-  long FNum;
-
-  FNum = FreeFile();
-  if (! FileExists(Path))
-    return;
-
-  if (FileLen(Path) < (Len(BMFH) + Len(BMIH)))
-    return;
-
-  FNum = fopen(Path, "rb");
-  FILE_GET(FNum, -1, &BMFH, sizeof(BMFH));
-  FILE_GET(FNum, -1, &BMIH, sizeof(BMIH));
-  ReDimArrays();
-  {
-    if (BMIH.biCompression != 0)
-    {
-      Err.Raise(600, "BitMapObject", "Cannot read compressed BMP files");
-      fclose(FNum);
-      return;
-    }
-
-    if (BMIH.biBitCount < 9)
-    {
-      FILE_GET(FNum, -1, &ColorTable, sizeof(ColorTable));
-    }
-
-  }
-  FILE_GET(FNum, 1 + BMFH.bfOffBits, &ImageDataBytes, sizeof(ImageDataBytes));
-  fclose(FNum);
-  if (BMIH.biBitCount < 9)
-    ConvertToVBPalette();
-}
-
-void BitMapObject_SaveToFile(char *Path)
-{
-  FILE *FNum;
-
-  BMFH.bfOffBits = Len(BMFH) + Len(BMIH);
-  if (BMIH.biBitCount < 9)
-    BMFH.bfOffBits = BMFH.bfOffBits + ((1 << BMIH.biBitCount)) * Len(ColorTable[0]);
-
-  BMIH.biSizeImage = Get_LineLength() * BMIH.biHeight;
-  BMFH.bfSize = BMFH.bfOffBits + BMIH.biSizeImage;
-  // FNum = FreeFile();
-  FNum = fopen(Path, "wb");
-  FILE_PUT(FNum, -1, &BMFH, sizeof(BMFH));
-  FILE_PUT(FNum, -1, &BMIH, sizeof(BMIH));
-  if (BMIH.biBitCount < 9)
-  {
-    FILE_PUT(FNum, -1, &ColorTable, sizeof(ColorTable));
-  }
-
-  FILE_PUT(FNum, -1, &ImageDataBytes, sizeof(ImageDataBytes));
-  fclose(FNum);
-}
-
-static void ConvertToVBPalette()
-{
-  long ColMax, i;
-
-  ColMax = UBound(ColorTable);
-  for (i = 0; i <= ColMax; i++)
-  {
-    {
-      VBPalette[i] = RGB(ColorTable[i].rgbRed, ColorTable[i].rgbGreen, ColorTable[i].rgbBlue);
-    }
-  }
-}
-
-#endif
-
-static void ReDimArrays()
-{
-  {
-    if (BMIH.biBitCount < 9)
-    {
-      BMIH.biClrUsed = (1 << BMIH.biBitCount);
-      ColorTable = REDIM_1D(sizeof(RGBQUADType), 0, BMIH.biClrUsed - 1);
-      VBPalette = REDIM_1D(sizeof(long), 0, BMIH.biClrUsed - 1);
-    }
-
-    if (0 < Get_LineLength() && 0 < BMIH.biHeight)
-    {
-      ImageDataBytes = REDIM_2D(sizeof(byte), 0, Get_LineLength() - 1, 0, BMIH.biHeight - 1);
-    }
-
-  }
-}
-
-long BitMapObject_Get_Palette(long Index)
-{
-  long Palette;
-
-  Palette = VBPalette[Index];
-
-  return Palette;
-}
-
-void BitMapObject_Let_Palette(long Index, long NewVal)
-{
-  VBPalette[Index] = NewVal & 0xFFFFFF;
-  {
-    ColorTable[Index].rgbRed = (NewVal & 0xFF) / 0x1;
-    ColorTable[Index].rgbGreen = (NewVal & 0xFF00) / 0x100;
-    ColorTable[Index].rgbBlue = (NewVal & 0xFF0000) / 0x10000;
-  }
-}
-
-long BitMapObject_Get_ColorsUsed()
-{
-  long ColorsUsed;
-
-  if (BMIH.biBitCount < 9)
-  {
-    ColorsUsed = (1 << BMIH.biBitCount);
-  }
-  else
-  {
-    ColorsUsed = 0;
-  }
-
-  return ColorsUsed;
-}
-
-#if 0
-
-long BitMapObject_Get_ColorIndex(long X, long Y)
-{
-  long ColorIndex;
-
-  long ColIndex, NewX, BitPos, nY;
-
-  if (8 < BMIH.biBitCount)
-  {
-    Err.Raise(600, "BitmapObject", "I have ! Palette in this ColorDepthMode");
-    ColorIndex = -1;
-    return ColorIndex;
-  }
-
-  nY = BMIH.biHeight - 1 - Y;
-  switch (BMIH.biBitCount)
-  {
-    case 1:
-      ColIndex = ImageDataBytes[X / 8, nY];
-      BitPos = 7 - (X % 8);
-      NewX = (1 << BitPos);
-      if ((NewX && ColIndex) == 0)
-      {
-        ColorIndex = 0;
-      }
-      else
-      {
-        ColorIndex = 1;
-      }
-
-      break;
-
-    case 4:
-      ColIndex = ImageDataBytes[X / 2, nY];
-      if ((X % 2) == 0)
-      {
-        ColorIndex = (ColIndex & 0xF0) / 0x10;
-      }
-      else
-      {
-        ColorIndex = (ColIndex & 0xF);
-      }
-
-      break;
-
-    case 8:
-      ColorIndex = ImageDataBytes[X, nY];
-      break;
-
-    default:
-      Err.Raise(600, "BitmapObject", "Invalid bpx value");
-      break;
-  }
-
-  return ColorIndex;
-}
-
-void BitMapObject_Let_ColorIndex(long X, long Y, long ColorIndex)
-{
-  long ColIndex, ByteVal, NewX, BitPos, nY;
-
-  if (8 < BMIH.biBitCount)
-  {
-    Err.Raise(600, "BitmapObject", "I have ! Palette in this ColorDepthMode");
-    return;
-  }
-
-  nY = BMIH.biHeight - 1 - Y;
-  switch (BMIH.biBitCount)
-  {
-    case 1:
-      ByteVal = ImageDataBytes[X / 8, nY];
-      BitPos = 7 - (X % 8);
-      NewX = (1 << BitPos);
-      ColIndex = ColorIndex * NewX;
-      if (ColIndex == 0)
-      {
-        ByteVal = (ByteVal & (! NewX));
-      }
-      else
-      {
-        ByteVal = (ByteVal | NewX);
-      }
-
-      ImageDataBytes[X / 8, nY] = ByteVal;
-      break;
-
-    case 4:
-      ByteVal = ImageDataBytes[X / 2, nY];
-      if ((X % 2) == 0)
-      {
-        ByteVal = (ByteVal & 0xF) + ColorIndex * 0x10;
-      }
-      else
-      {
-        ByteVal = (ByteVal & 0xF0) + ColorIndex;
-      }
-
-      ImageDataBytes[X / 2, nY] = ByteVal;
-      break;
-
-    case 8:
-      ImageDataBytes[X, nY] = ColorIndex;
-      break;
-
-    case 24:
-      Err.Raise(600, "BitmapObject", "Invalid bpx value");
-      break;
-  }
-}
-
-long BitMapObject_Get_Point(long X, long Y)
-{
-  long Point;
-
-  long ColIndex, NewX, BitPos, nY;
-
-  nY = BMIH.biHeight - 1 - Y;
-  switch (BMIH.biBitCount)
-  {
-    case 1:
-      ColIndex = ImageDataBytes[X / 8, nY];
-      BitPos = 7 - (X % 8);
-      NewX = (1 << BitPos);
-      if ((NewX && ColIndex) == 0)
-      {
-        ColIndex = 0;
-      }
-      else
-      {
-        ColIndex = 1;
-      }
-
-      Point = VBPalette[ColIndex];
-      break;
-
-    case 4:
-      ColIndex = ImageDataBytes[X / 2, nY];
-      if ((X % 2) == 0)
-      {
-        ColIndex = (ColIndex & 0xF0) / 0x10;
-      }
-      else
-      {
-        ColIndex = (ColIndex & 0xF);
-      }
-
-      Point = VBPalette[ColIndex];
-      break;
-
-    case 8:
-      ColIndex = ImageDataBytes[X, nY];
-      Point = VBPalette[ColIndex];
-      break;
-
-    case 24:
-      NewX = 3 * X;
-      Point = ImageDataBytes[NewX, nY] * 0x10000;
-      Point = Point + ImageDataBytes[NewX + 1, nY] * 0x100;
-      Point = Point + ImageDataBytes[NewX + 2, nY];
-      break;
-
-    default:
-      Err.Raise(600, "BitmapObject", "Invalid bpx value");
-      break;
-  }
-
-  return Point;
-}
-
-void BitMapObject_Let_Point(long X, long Y, long NewColor)
-{
-  long ColIndex, ByteVal, NewX, BitPos, nY;
-
-  nY = BMIH.biHeight - 1 - Y;
-  switch (BMIH.biBitCount)
-  {
-    case 1:
-      ColIndex = GetPaletteIndex(NewColor);
-      ByteVal = ImageDataBytes[X / 8][nY];
-      BitPos = 7 - (X % 8);
-      NewX = (1 << BitPos);
-      ColIndex = ColIndex * NewX;
-      if (ColIndex == 0)
-      {
-        ByteVal = (ByteVal & (! NewX));
-      }
-      else
-      {
-        ByteVal = (ByteVal | NewX);
-      }
-
-      ImageDataBytes[X / 8][nY] = ByteVal;
-      break;
-
-    case 4:
-      ColIndex = GetPaletteIndex(NewColor);
-      ByteVal = ImageDataBytes[X / 2][nY];
-      if ((X % 2) == 0)
-      {
-        ByteVal = (ByteVal & 0xF) + ColIndex * 0x10;
-      }
-      else
-      {
-        ByteVal = (ByteVal & 0xF0) + ColIndex;
-      }
-
-      ImageDataBytes[X / 2][nY] = ByteVal;
-      break;
-
-    case 8:
-      ImageDataBytes[X][nY] = GetPaletteIndex(NewColor);
-      break;
-
-    case 24:
-      NewX = 3 * X;
-      ImageDataBytes[NewX][nY] = (NewColor & 0xFF0000) / 0x10000;  // B
-      ImageDataBytes[NewX + 1][nY] = (NewColor & 0xFF00) / 0x100;  // G
-      ImageDataBytes[NewX + 2][nY] = (NewColor & 0xFF);  // R
-      break;
-
-    default:
-      Err.Raise(600, "BitmapObject", "Invalid bpx value");
-      break;
-  }
-}
-
-int BitMapObject_GetPaletteIndex(long Color)
-{
-  int GetPaletteIndex;
-
-  long i, ColMax;
-
-  ColMax = UBound(VBPalette);
-  for (i = 0; i <= ColMax; i++)
-  {
-    if (VBPalette[i] == Color)
-      break;
-  }
-
-  if (ColMax < i) // Error - Color not in Palette!
-    i = -1;
-
-  GetPaletteIndex = i;
-
-  return GetPaletteIndex;
-}
-
-#endif
-
-long BitMapObject_Get_Width()
-{
-  long Width;
-
-  Width = BMIH.biWidth;
-
-  return Width;
-}
-
-long BitMapObject_Get_Height()
-{
-  long Height;
-
-  Height = BMIH.biHeight;
-
-  return Height;
-}
-
-#if 0
-
-BitMapObject BitMapObject_GetStretchCopy(float StretchVal)
-{
-  BitMapObject GetStretchCopy;
-
-  long nWidth, nHeight, iX, iY;
-
-  // GetStretchCopy = New BitMapObject; // (handle this later, if needed)
-  nWidth = StretchVal * BMIH.biWidth;
-  nHeight = StretchVal * BMIH.biHeight;
-  GetStretchCopy.CreateAtSize(nWidth, nHeight, CLng(BMIH.biBitCount));
-  nWidth = nWidth - 1;
-  nHeight = nHeight - 1;
-  for (iX = 0; iX <= BMIH.biClrUsed - 1; iX++)
-  {
-    GetStretchCopy.Let_Palette(iX, Palette(iX));
-  }
-
-  for (iY = 0; iY <= nHeight; iY++)
-  {
-    for (iX = 0; iX <= nWidth; iX++)
-    {
-      GetStretchCopy.Let_ColorIndex(iX, iY, ColorIndex((int)(iX / StretchVal), (int)(iY / StretchVal)));
-    }
-  }
-
-  return GetStretchCopy;
-}
-
-#endif
diff --git a/src/game_sp/BitMapObject.h b/src/game_sp/BitMapObject.h
deleted file mode 100644 (file)
index 64c10d9..0000000
+++ /dev/null
@@ -1,72 +0,0 @@
-// ----------------------------------------------------------------------------
-// BitMapObject.h
-// ----------------------------------------------------------------------------
-
-#ifndef BITMAPOBJECT_H
-#define BITMAPOBJECT_H
-
-#include "vb_types.h"
-#include "vb_defs.h"
-#include "vb_vars.h"
-#include "vb_lib.h"
-
-#include "global.h"
-
-#ifndef HAS_BitmapFileHeaderType
-typedef struct // {    /* bmfh */
-{
-  byte bfTypeB;
-  byte bfTypeM;
-  long bfSize;
-  int bfReserved1;
-  int bfReserved2;
-  long bfOffBits;
-} BitmapFileHeaderType;
-#define HAS_BitmapFileHeaderType
-#endif
-
-#ifndef HAS_BitmapInfoHeaderType
-typedef struct // {    /* bmih */
-{
-  long biSize;
-  long biWidth;
-  long biHeight;
-  int biPlanes;
-  int biBitCount;
-  long biCompression;
-  long biSizeImage;
-  long biXPelsPerMeter;
-  long biYPelsPerMeter;
-  long biClrUsed;
-  long biClrImportant;
-} BitmapInfoHeaderType;
-#define HAS_BitmapInfoHeaderType
-#endif
-
-#ifndef HAS_RGBQUADType
-typedef struct // {     /* rgbq */
-{
-  byte rgbBlue;
-  byte rgbGreen;
-  byte rgbRed;
-  byte rgbReserved;
-} RGBQUADType;
-#define HAS_RGBQUADType
-#endif
-
-extern void BitMapObject_CreateAtSize(long XPixels, long YPixels, long BitsPerPixel);
-extern void BitMapObject_CreateFromFile(char *Path);
-extern int BitMapObject_GetPaletteIndex(long Color);
-extern BitMapObject BitMapObject_GetStretchCopy(float StretchVal);
-extern long BitMapObject_Get_ColorIndex(long X, long Y);
-extern long BitMapObject_Get_ColorsUsed();
-extern long BitMapObject_Get_Height();
-extern long BitMapObject_Get_Palette(long Index);
-extern long BitMapObject_Get_Point(long X, long Y);
-extern long BitMapObject_Get_Width();
-extern void BitMapObject_Let_ColorIndex(long X, long Y, long ColorIndex);
-extern void BitMapObject_Let_Palette(long Index, long NewVal);
-extern void BitMapObject_Let_Point(long X, long Y, long NewColor);
-extern void BitMapObject_SaveToFile(char *Path);
-
-#endif /* BITMAPOBJECT_H */
index b7f7862d95da86049bb6256b68516ea81170d836..ec4be1ea66feebb06629dd91ae7d23c4b8f881c2 100644 (file)
 
 #include "BugsTerminals.h"
 
-// static char *VB_Name = "modBugTerminal";
-
-// --- Option Explicit
-
-long MyGetTickCount();
 
 byte *TerminalState;
 int TerminalMaxCycles;
 
-#if 0
-#define aniTerminal                    (0x80)
-#endif
 
 // ==========================================================================
 //                              SUBROUTINE
 // Animate bugs
 // ==========================================================================
 
-int subAnimateBugs(int si)
+void subAnimateBugs(int si)
 {
-  int subAnimateBugs;
-
-  // int ax, bx, cx, dx, di;
-  // int ah, bh, ch, dh, al, bl, cl, dl;
-  // int cx;
-#if 0
-  int graphic, sync_frame;
-#endif
   int bl;
 
   if (fiBug != LowByte(PlayField16[si]))
-    return subAnimateBugs;
+    return;
 
-#if 0
-  if (0 != (TimerVar & 3))
-    return subAnimateBugs;
-#endif
+  bl = SgnHighByte(PlayField16[si]);   // get and increment sequence number
 
-  bl = SgnHighByte(PlayField16[si]); // get and increment sequence#
-
-#if 1
   if ((TimerVar & 3) == 0)
   {
     bl = bl + 1;
     if (bl >= 0xE)
     {
-      bl = subGetRandomNumber(); // generate new random number
+      bl = subGetRandomNumber();       // generate new random number
       bl = -((bl & 0x3F) + 0x20);
     }
 
-    MovHighByte(&PlayField16[si], bl); // save sequence#
+    MovHighByte(&PlayField16[si], bl); // save sequence number
   }
-#else
-  bl = bl + 1;
-  if (bl >= 0xE)
-  {
-    bl = subGetRandomNumber(); // generate new random number
-    bl = -((bl & 0x3F) + 0x20);
-  }
-
-  MovHighByte(&PlayField16[si], bl); // save sequence#
-#endif
-  if (bl < 0) // bug sleeps / is inactive
-    return subAnimateBugs;
 
-#if 1
-  if ((TimerVar & 3) != 0)
-    goto markDisplay;
-#endif
+  if (bl < 0)                          // bug sleeps / is inactive
+    return;
 
   // now the bug is active! Beware Murphy!
-  if ((ByteMask & PlayField16[si - FieldWidth - 1]) == fiMurphy)
-    goto markPlaySound;
-
-  if ((ByteMask & PlayField16[si - FieldWidth]) == fiMurphy)
-    goto markPlaySound;
-
-  if ((ByteMask & PlayField16[si - FieldWidth + 1]) == fiMurphy)
-    goto markPlaySound;
-
-  if ((ByteMask & PlayField16[si - 1]) == fiMurphy)
-    goto markPlaySound;
-
-  if ((ByteMask & PlayField16[si + 1]) == fiMurphy)
-    goto markPlaySound;
-
-  if ((ByteMask & PlayField16[si + FieldWidth - 1]) == fiMurphy)
-    goto markPlaySound;
-
-  if ((ByteMask & PlayField16[si + FieldWidth]) == fiMurphy)
-    goto markPlaySound;
+  if ((TimerVar & 3) == 0 &&
+      (LowByte(PlayField16[si - FieldWidth - 1]) == fiMurphy ||
+       LowByte(PlayField16[si - FieldWidth])     == fiMurphy ||
+       LowByte(PlayField16[si - FieldWidth + 1]) == fiMurphy ||
+       LowByte(PlayField16[si - 1])              == fiMurphy ||
+       LowByte(PlayField16[si + 1])              == fiMurphy ||
+       LowByte(PlayField16[si + FieldWidth - 1]) == fiMurphy ||
+       LowByte(PlayField16[si + FieldWidth])     == fiMurphy ||
+       LowByte(PlayField16[si + FieldWidth + 1]) == fiMurphy))
+    subSoundFX(si, fiBug, actActive);          // play dangerous sound
 
-  if ((ByteMask & PlayField16[si + FieldWidth + 1]) == fiMurphy)
-    goto markPlaySound;
-
-  goto markDisplay;
-
-markPlaySound:
-#if 1
-  subSoundFX(si, fiBug, actActive);    // play dangerous sound
-#else
-  subSoundFXBug(); // play dangerous sound
-#endif
-
-markDisplay:
   // ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-#if 1
-
-#if 1
-
-#if 0
-  graphic = (bl == 0  ? aniBugActivating :
-            bl == 12 ? aniBugDeactivating :
-            bl == 13 ? aniBug : aniBugActive);
-  sync_frame = (bl >= 1 && bl <= 11 ? (bl - 1) * 4 : 0) + (TimerVar & 3);
-#endif
-
-  // printf("::: %d [%d]\n", sync_frame, gfx.anim_random_frame);
-
-#if 0
-  /* a general random frame treatment would be needed for _all_ animations */
-  /* (DONE) */
-  if (isRandomAnimation_SP(graphic) &&
-      !isNextAnimationFrame_SP(graphic, sync_frame))
-    return subAnimateBugs;
-#endif
-
-#if 1
-
   GfxGraphic[GetX(si)][GetY(si)] = (bl == 0  ? aniBugActivating :
                                    bl == 12 ? aniBugDeactivating :
                                    bl == 13 ? aniBug : aniBugActive);
-
-#else
-  subCopyAnimToScreen(si, graphic, sync_frame);
-#endif
-
-#else
-  subCopyFieldToScreen(si, aniFramesBug[bl]);
-#endif
-
-#else
-  cx = aniFramesBug[bl];
-  StretchedSprites.BltEx(GetStretchX(si), GetStretchY(si), cx);
-#endif
   // ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+}
 
-  return subAnimateBugs;
-} // subAnimateBugs
 
 // ==========================================================================
 //                              SUBROUTINE
 // Animate terminals
 // ==========================================================================
-int subAnimateTerminals(int si)
-{
-  int subAnimateTerminals;
 
-  // int bl, ax, al, X, Y;
-#if 1
+void subAnimateTerminals(int si)
+{
   short bl;
-#else
-  int bl, al, X, Y;
-#endif
 
-#if 1
   int lx = GetX(si);
   int ly = GetY(si);
   int graphic;
-#endif
 
   if (LowByte(PlayField16[si]) != fiTerminal)
-    return subAnimateTerminals;
+    return;
 
   /* use native frame handling (undo frame incrementation in main loop) */
   if (game.use_native_sp_graphics_engine)
@@ -192,105 +88,46 @@ int subAnimateTerminals(int si)
   {
     MovHighByte(&PlayField16[si], bl);
 
-#if 1
-    if (game.use_native_sp_graphics_engine)
-      return subAnimateTerminals;
-#else
-    return subAnimateTerminals;
-#endif
+    return;
   }
 
   /* calculate new random animation delay */
   bl = -(subGetRandomNumber() & TerminalMaxCycles); // generate new random number
-  MovHighByte(&PlayField16[si], bl); // save new sequence#
+  MovHighByte(&PlayField16[si], bl); // save new sequence number
 
   /* check terminal state (active or inactive) */
   bl = TerminalState[si] + 1;
   if (bl == 8)
-  {
     bl = 0;
-  }
   else if (15 < bl)
-  {
     bl = 8;
-  }
 
   TerminalState[si] = bl;
 
   // ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-#if 1
 
   graphic = (bl < 8 ? aniTerminal : aniTerminalActive);
 
   if (game.use_native_sp_graphics_engine)
     GfxFrame[lx][ly] += getGraphicInfo_Delay(graphic);
 
-#if 1
-
-#if 1
-
-  GfxGraphic[GetX(si)][GetY(si)] = (bl < 8 ? aniTerminal : aniTerminalActive);
-
-#else
-  subCopyAnimToScreen(si, graphic, GfxFrame[lx][ly]);
-#endif
-
-#else
-  X = GetStretchX(si);
-  Y = GetStretchY(si);
-  StretchedSprites.BltImg(X, Y, graphic, GfxFrame[lx][ly]);
-#endif
-
-#else
-
-  al = aniTerminal + bl;
+  GfxGraphic[lx][ly] = (bl < 8 ? aniTerminal : aniTerminalActive);
 
-#if 1
-  subCopyFieldToScreen(si, al);
-#else
-  X = GetStretchX(si);
-  Y = GetStretchY(si);
-  StretchedSprites.BltEx(X, Y, al);
-#endif
-
-#endif
   // ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+}
 
-  return subAnimateTerminals;
-} // subAnimateElectrons
 
 // ==========================================================================
 //                              SUBROUTINE
 // Randomize random number generator
 // ==========================================================================
 
-int subRandomize()
+void subRandomize()
 {
-  int subRandomize;
-
-  long Tick, Tmp;
-
-  Tick = MyGetTickCount();
-  Tmp = ((Tick ^ (long)(Tick / (1 << 16))) & 0xFFFF);
-  RandomSeed = 0x7FFF & Tmp;
-  if ((Tmp & 0x8000) != 0)
-    RandomSeed = RandomSeed | 0x8000;
-
-#if 0
-  {
-    int i;
-
-    for (i = 0; i < 10; i++)
-      printf("::: TEST random number: %d\n", subGetRandomNumber());
-  }
-#endif
-
-#if 0
-  printf("::: BugsTerminals.c: ========== subRandomize()\n");
-#endif
+  long Tick = MyGetTickCount();
 
-  return subRandomize;
-} // subRandomize
+  RandomSeed = (Tick ^ (Tick >> 16)) & 0xFFFF;
+}
 
 
 // ==========================================================================
@@ -300,37 +137,9 @@ int subRandomize()
 
 int subGetRandomNumber()
 {
-  int subGetRandomNumber;
-
-  long Tmp, RSeed;
-#if 0
-  long Tst;
-#endif
-
-  RSeed = (long)(0x7FFF & RandomSeed);
-  if (0x8000 == (RandomSeed & 0x8000))
-    RSeed = RSeed | 0x8000;
-
-#if 0
-  /* !!! TEST !!! */
-  Tmp = 0xFFFF & (((0x5E5 * RSeed) & 0xFFFF) + 0x31);
-#else
-  Tmp = 0xFFFF & (((0x5E5 * RandomSeed) & 0xFFFF) + 0x31);
-#endif
-
-#if 0
-  Tst = 0xFFFF & (((0x5E5 * RSeed) & 0xFFFF) + 0x31);
-  printf("::: BugsTerminals.c: subGetRandomNumber(): %d [%ld] [%ld, %ld]\n",
-        RandomSeed, RSeed, Tmp, Tst);
-  if (Tmp != Tst)
-    printf("::: !!!!!!!!!!\n");
-#endif
-
-  RandomSeed = 0x7FFF & Tmp;
-  if ((Tmp & 0x8000) != 0)
-    RandomSeed = RandomSeed | 0x8000;
-
-  subGetRandomNumber = Tmp / 2;
+  RandomSeed = (RandomSeed * 0x5E5 + 0x31) & 0xFFFF;
+
+  return (RandomSeed >> 1);
 
   //  Mov ax, randomseed
   //  Mov bx, &H5E5
@@ -338,16 +147,4 @@ int subGetRandomNumber()
   //  Add ax, &H31
   //  Mov randomseed, ax
   //  shr ax,1
-
-#if 0
-  printf("::: BugsTerminals.c: ---------- subGetRandomNumber(): %d\n",
-        subGetRandomNumber);
-#endif
-
-#if 0
-  printf("::: BugsTerminals.c: subGetRandomNumber(): %d [%ld, %d]\n",
-        subGetRandomNumber, Tmp, RandomSeed);
-#endif
-
-  return subGetRandomNumber;
-} // subGetRandomNumber
+}
index 4ec01cd42f820f9a4881d539a661f4a89282aa99..1bd008867e36a15a5da7845e7e323e114adba69a 100644 (file)
 
 #include "global.h"
 
-extern int subAnimateBugs(int si);
-extern int subAnimateTerminals(int si);
-extern int subGetRandomNumber();
-extern int subRandomize();
 
 extern byte *TerminalState;
 extern int TerminalMaxCycles;
 
+extern void subAnimateBugs(int si);
+extern void subAnimateTerminals(int si);
+extern void subRandomize();
+extern int subGetRandomNumber();
+
 #endif /* BUGSTERMINALS_H */
diff --git a/src/game_sp/Capture.c b/src/game_sp/Capture.c
deleted file mode 100644 (file)
index 5a71fd0..0000000
+++ /dev/null
@@ -1,543 +0,0 @@
-// ----------------------------------------------------------------------------
-// Capture.c
-// ----------------------------------------------------------------------------
-
-#include "Capture.h"
-
-#if 0
-
-// static char *VB_Name = "CaptureModule";
-
-// --------------------------------------------------------------------
-// ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
-//
-// Visual Basic 4.0 16/32 Capture Routines
-//
-// This module contains several routines for capturing windows into a
-// picture.  All the routines work on both 16 and 32 bit Windows
-// platforms.
-// The routines also have palette support.
-//
-// CreateBitmapPicture - Creates a picture object from a bitmap and
-// palette.
-// CaptureWindow - Captures any window given a window handle.
-// CaptureActiveWindow - Captures the active window on the desktop.
-// CaptureForm - Captures the entire form.
-// CaptureClient - Captures the client area of a form.
-// CaptureScreen - Captures the entire screen.
-// PrintPictureToFitPage - prints any picture as big as possible on
-// the page.
-//
-// NOTES
-//    - No error trapping is included in these routines.
-// ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
-//
-// --- Option Explicit
-// --- Option Base 0
-
-// ::: #ifndef HAS_PALETTEENTRY
-// ::: typedef struct
-// ::: {
-// :::   byte peRed;
-// :::   byte peGreen;
-// :::   byte peBlue;
-// :::   byte peFlags;
-// ::: } PALETTEENTRY;
-// ::: #define HAS_PALETTEENTRY
-// ::: #endif
-
-// ::: #ifndef HAS_LOGPALETTE
-// ::: typedef struct
-// ::: {
-// :::   int palVersion;
-// :::   int palNumEntries;
-// :::   PALETTEENTRY palPalEntry[255];  // Enough for 256 colors.
-// ::: } LOGPALETTE;
-// ::: #define HAS_LOGPALETTE
-// ::: #endif
-
-// ::: #ifndef HAS_GUID
-// ::: typedef struct
-// ::: {
-// :::   long Data1;
-// :::   int Data2;
-// :::   int Data3;
-// :::   byte Data4[7];
-// ::: } GUID;
-// ::: #define HAS_GUID
-// ::: #endif
-
-#if Win32
-
-#define RASTERCAPS                     (38)
-#define RC_PALETTE                     (0x100)
-#define SIZEPALETTE                    (104)
-
-// ::: #ifndef HAS_RECT
-// ::: typedef struct
-// ::: {
-// :::   long left;
-// :::   long top;
-// :::   long right;
-// :::   long bottom;
-// ::: } RECT;
-// ::: #define HAS_RECT
-// ::: #endif
-
-long CreateCompatibleDC(long hDC);
-long CreateCompatibleBitmap(long hDC, long nWidth, long nHeight);
-long GetDeviceCaps(long hDC, long iCapabilitiy);
-long GetSystemPaletteEntries(long hDC, long wStartIndex, long wNumEntries, PALETTEENTRY lpPaletteEntries);
-long CreatePalette(LOGPALETTE lpLogPalette);
-long SelectObject(long hDC, long hObject);
-long BitBlt(long hDCDest, long XDest, long YDest, long nWidth, long nHeight, long hDCSrc, long XSrc, long YSrc, long dwRop);
-long DeleteDC(long hDC);
-long GetForegroundWindow();
-long SelectPalette(long hDC, long hPalette, long bForceBackground);
-long RealizePalette(long hDC);
-long GetWindowDC(long hWnd);
-long GetDC(long hWnd);
-#if 0
-long GetWindowRect(long hWnd, RECT lpRect);
-#endif
-long ReleaseDC(long hWnd, long hDC);
-long GetDesktopWindow();
-
-// ::: #ifndef HAS_PicBmp
-// ::: typedef struct
-// ::: {
-// :::   long Size;
-// :::   long Type;
-// :::   long hBmp;
-// :::   long hPal;
-// :::   long Reserved;
-// ::: } PicBmp;
-// ::: #define HAS_PicBmp
-// ::: #endif
-
-long OleCreatePictureIndirect(PicBmp PicDesc, GUID RefIID, long fPictureOwnsHandle, IPicture IPic);
-
-#elif Win16
-
-#define RASTERCAPS                     (38)
-#define RC_PALETTE                     (0x100)
-#define SIZEPALETTE                    (104)
-
-// ::: #ifndef HAS_RECT
-// ::: typedef struct
-// ::: {
-// :::   int left;
-// :::   int top;
-// :::   int right;
-// :::   int bottom;
-// ::: } RECT;
-// ::: #define HAS_RECT
-// ::: #endif
-
-int CreateCompatibleDC(int hDC);
-int CreateCompatibleBitmap(int hDC, int nWidth, int nHeight);
-int GetDeviceCaps(int hDC, int iCapabilitiy);
-int GetSystemPaletteEntries(int hDC, int wStartIndex, int wNumEntries, PALETTEENTRY lpPaletteEntries);
-int CreatePalette(LOGPALETTE lpLogPalette);
-int SelectObject(int hDC, int hObject);
-int BitBlt(int hDCDest, int XDest, int YDest, int nWidth, int nHeight, int hDCSrc, int XSrc, int YSrc, long dwRop);
-int DeleteDC(int hDC);
-int GetForegroundWindow();
-int SelectPalette(int hDC, int hPalette, int bForceBackground);
-int RealizePalette(int hDC);
-int GetWindowDC(int hWnd);
-int GetDC(int hWnd);
-#if 0
-int GetWindowRect(int hWnd, RECT lpRect);
-#endif
-int ReleaseDC(int hWnd, int hDC);
-int GetDesktopWindow();
-
-// ::: #ifndef HAS_PicBmp
-// ::: typedef struct
-// ::: {
-// :::   int Size;
-// :::   int Type;
-// :::   int hBmp;
-// :::   int hPal;
-// :::   int Reserved;
-// ::: } PicBmp;
-// ::: #define HAS_PicBmp
-// ::: #endif
-
-int OleCreatePictureIndirect(PicBmp PictDesc, GUID RefIID, int fPictureOwnsHandle, IPicture IPic);
-
-#endif
-
-// ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
-//
-// CreateBitmapPicture
-//    - Creates a bitmap type Picture object from a bitmap and
-//      palette.
-//
-// hBmp
-//    - Handle to a bitmap.
-//
-// hPal
-//    - Handle to a Palette.
-//    - Can be null if the bitmap doesn't use a palette.
-//
-// Returns
-//    - Returns a Picture object containing the bitmap.
-// ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
-//
-#if Win32
-Picture CreateBitmapPicture(long hBmp, long hPal)
-{
-  Picture CreateBitmapPicture;
-
-  long r;
-
-#elif Win16
-Picture CreateBitmapPicture(int hBmp, int hPal)
-{
-  Picture CreateBitmapPicture;
-
-  int r;
-
-#endif
-  PicBmp pic;
-
-  // IPicture requires a reference to "Standard OLE Types."
-  IPicture IPic;
-  GUID IID_IDispatch;
-
-  // Fill in with IDispatch Interface ID.
-  {
-    IID_IDispatch.Data1 = 0x20400;
-    IID_IDispatch.Data4[0] = 0xC0;
-    IID_IDispatch.Data4[7] = 0x46;
-  }
-
-  // Fill Pic with necessary parts.
-  {
-    pic.Size = sizeof(pic);       // Length of structure.
-    pic.Type = vbPicTypeBitmap;   // Type of Picture (bitmap).
-    pic.hBmp = hBmp;              // Handle to bitmap.
-    pic.hPal = hPal;              // Handle to palette (may be null).
-  }
-
-  // Create Picture object.
-  r = OleCreatePictureIndirect(pic, IID_IDispatch, 1, IPic);
-
-  // Return the new Picture object.
-  CreateBitmapPicture = IPic;
-
-  return CreateBitmapPicture;
-}
-
-// ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
-//
-// CaptureWindow
-//    - Captures any portion of a window.
-//
-// hWndSrc
-//    - Handle to the window to be captured.
-//
-// Client
-//    - If True CaptureWindow captures from the client area of the
-//      window.
-//    - If False CaptureWindow captures from the entire window.
-//
-// LeftSrc, TopSrc, WidthSrc, HeightSrc
-//    - Specify the portion of the window to capture.
-//    - Dimensions need to be specified in pixels.
-//
-// Returns
-//    - Returns a Picture object containing a bitmap of the specified
-//      portion of the window that was captured.
-// ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
-// '''''
-//
-#if Win32
-Picture CaptureWindow(long hWndSrc, boolean Client, long LeftSrc, long TopSrc, long WidthSrc, long HeightSrc)
-{
-  Picture CaptureWindow;
-
-  long hDCMemory;
-  long hBmp;
-  long hBmpPrev;
-  long r;
-  long hDCSrc;
-  long hPal;
-  long hPalPrev;
-  long RasterCapsScrn;
-  long HasPaletteScrn;
-  long PaletteSizeScrn;
-
-#elif Win16
-Picture CaptureWindow(int hWndSrc, boolean Client, int LeftSrc, int TopSrc, long WidthSrc, long HeightSrc)
-{
-  Picture CaptureWindow;
-
-  int hDCMemory;
-  int hBmp;
-  int hBmpPrev;
-  int r;
-  int hDCSrc;
-  int hPal;
-  int hPalPrev;
-  int RasterCapsScrn;
-  int HasPaletteScrn;
-  int PaletteSizeScrn;
-
-#endif
-  LOGPALETTE LogPal;
-
-  // Depending on the value of Client get the proper device context.
-  if (Client)
-  {
-    hDCSrc = GetDC(hWndSrc); // Get device context for client area.
-  }
-  else
-  {
-    hDCSrc = GetWindowDC(hWndSrc); // Get device context for entire
-    // window.
-  }
-
-  // Create a memory device context for the copy process.
-  hDCMemory = CreateCompatibleDC(hDCSrc);
-  // Create a bitmap and place it in the memory DC.
-  hBmp = CreateCompatibleBitmap(hDCSrc, WidthSrc, HeightSrc);
-  hBmpPrev = SelectObject(hDCMemory, hBmp);
-
-  // Get screen properties.
-  RasterCapsScrn = GetDeviceCaps(hDCSrc, RASTERCAPS); // Raster
-  // capabilities.
-  HasPaletteScrn = RasterCapsScrn & RC_PALETTE;       // Palette
-  // support.
-  PaletteSizeScrn = GetDeviceCaps(hDCSrc, SIZEPALETTE); // Size of
-  // palette.
-
-  // If the screen has a palette make a copy and realize it.
-  if (HasPaletteScrn && (PaletteSizeScrn == 256))
-  {
-    // Create a copy of the system palette.
-    LogPal.palVersion = 0x300;
-    LogPal.palNumEntries = 256;
-    r = GetSystemPaletteEntries(hDCSrc, 0, 256, LogPal.palPalEntry[0]);
-    hPal = CreatePalette(LogPal);
-    // Select the new palette into the memory DC and realize it.
-    hPalPrev = SelectPalette(hDCMemory, hPal, 0);
-    r = RealizePalette(hDCMemory);
-  }
-
-  // Copy the on-screen image into the memory DC.
-  r = BitBlt(hDCMemory, 0, 0, WidthSrc, HeightSrc, hDCSrc, LeftSrc, TopSrc, vbSrcCopy);
-
-  // Remove the new copy of the  on-screen image.
-  hBmp = SelectObject(hDCMemory, hBmpPrev);
-
-  // If the screen has a palette get back the palette that was
-  // selected in previously.
-  if (HasPaletteScrn && (PaletteSizeScrn == 256))
-  {
-    hPal = SelectPalette(hDCMemory, hPalPrev, 0);
-  }
-
-  // Release the device context resources back to the system.
-  r = DeleteDC(hDCMemory);
-  r = ReleaseDC(hWndSrc, hDCSrc);
-
-  // Call CreateBitmapPicture to create a picture object from the
-  // bitmap and palette handles. Then return the resulting picture
-  // object.
-
-  CaptureWindow = CreateBitmapPicture(hBmp, hPal);
-
-  return CaptureWindow;
-}
-
-// ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
-//
-// CaptureScreen
-//    - Captures the entire screen.
-//
-// Returns
-//    - Returns a Picture object containing a bitmap of the screen.
-// ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
-//
-Picture CaptureScreen()
-{
-  Picture CaptureScreen;
-
-#if Win32
-  long hWndScreen;
-
-#elif Win16
-  int hWndScreen;
-
-#endif
-
-  // Get a handle to the desktop window.
-  hWndScreen = GetDesktopWindow();
-
-  // Call CaptureWindow to capture the entire desktop give the handle
-  // and return the resulting Picture object.
-
-  CaptureScreen = CaptureWindow(hWndScreen, False, 0, 0, Screen.Width / Screen.TwipsPerPixelX, Screen.Height / Screen.TwipsPerPixelY);
-
-  return CaptureScreen;
-}
-
-// ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
-//
-// CaptureForm
-//    - Captures an entire form including title bar and border.
-//
-// frmSrc
-//    - The Form object to capture.
-//
-// Returns
-//    - Returns a Picture object containing a bitmap of the entire
-//      form.
-// ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
-//
-Picture CaptureForm(Form frmSrc)
-{
-  Picture CaptureForm;
-
-  // Call CaptureWindow to capture the entire form given its window
-  // handle and then return the resulting Picture object.
-  CaptureForm = CaptureWindow(frmSrc.hWnd, False, 0, 0, frmSrc.ScaleX(frmSrc.Width, vbTwips, vbPixels), frmSrc.ScaleY(frmSrc.Height, vbTwips, vbPixels));
-
-  return CaptureForm;
-}
-
-// ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
-//
-// CaptureClient
-//    - Captures the client area of a form.
-//
-// frmSrc
-//    - The Form object to capture.
-//
-// Returns
-//    - Returns a Picture object containing a bitmap of the form's
-//      client area.
-// ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
-//
-Picture CaptureClient(Form frmSrc)
-{
-  Picture CaptureClient;
-
-  // Call CaptureWindow to capture the client area of the form given
-  // its window handle and return the resulting Picture object.
-  CaptureClient = CaptureWindow(frmSrc.hWnd, True, 0, 0, frmSrc.ScaleX(frmSrc.ScaleWidth, frmSrc.ScaleMode, vbPixels), frmSrc.ScaleY(frmSrc.ScaleHeight, frmSrc.ScaleMode, vbPixels));
-
-  return CaptureClient;
-}
-
-#if 0
-
-// ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
-//
-// CaptureActiveWindow
-//    - Captures the currently active window on the screen.
-//
-// Returns
-//    - Returns a Picture object containing a bitmap of the active
-//      window.
-// ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
-//
-Picture CaptureActiveWindow()
-{
-  Picture CaptureActiveWindow;
-
-#if Win32
-  long hWndActive;
-  long r;
-
-#elif Win16
-  int hWndActive;
-  int r;
-
-#endif
-  RECT RectActive;
-
-  // Get a handle to the active/foreground window.
-  hWndActive = GetForegroundWindow();
-
-  // Get the dimensions of the window.
-  r = GetWindowRect(hWndActive, RectActive);
-
-  // Call CaptureWindow to capture the active window given its
-  // handle and return the Resulting Picture object.
-  CaptureActiveWindow = CaptureWindow(hWndActive, False, 0, 0, RectActive.right - RectActive.left, RectActive.bottom - RectActive.top);
-
-  return CaptureActiveWindow;
-}
-
-#endif
-
-// ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
-
-//
-// PrintPictureToFitPage
-//    - Prints a Picture object as big as possible.
-//
-// Prn
-//    - Destination Printer object.
-//
-// Pic
-//    - Source Picture object.
-// ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
-//
-void PrintPictureToFitPage(Printer Prn, Picture pic)
-{
-  #define vbHiMetric                   (8)
-  double PicRatio;
-  double PrnWidth;
-  double PrnHeight;
-  double PrnRatio;
-  double PrnPicWidth;
-  double PrnPicHeight;
-
-  // Determine if picture should be printed in landscape or portrait
-  // and set the orientation.
-  if (pic.Height >= pic.Width)
-  {
-    Prn.Orientation = vbPRORPortrait;   // Taller than wide.
-  }
-  else
-  {
-    Prn.Orientation = vbPRORLandscape;  // Wider than tall.
-  }
-
-  // Calculate device independent Width-to-Height ratio for picture.
-  PicRatio = pic.Width / pic.Height;
-
-  // Calculate the dimentions of the printable area in HiMetric.
-  PrnWidth = Prn.ScaleX(Prn.ScaleWidth, Prn.ScaleMode, vbHiMetric);
-  PrnHeight = Prn.ScaleY(Prn.ScaleHeight, Prn.ScaleMode, vbHiMetric);
-  // Calculate device independent Width to Height ratio for printer.
-  PrnRatio = PrnWidth / PrnHeight;
-
-  // Scale the output to the printable area.
-  if (PicRatio >= PrnRatio)
-  {
-    // Scale picture to fit full width of printable area.
-    PrnPicWidth = Prn.ScaleX(PrnWidth, vbHiMetric, Prn.ScaleMode);
-    PrnPicHeight = Prn.ScaleY(PrnWidth / PicRatio, vbHiMetric, Prn.ScaleMode);
-  }
-  else
-  {
-    // Scale picture to fit full height of printable area.
-    PrnPicHeight = Prn.ScaleY(PrnHeight, vbHiMetric, Prn.ScaleMode);
-    PrnPicWidth = Prn.ScaleX(PrnHeight * PicRatio, vbHiMetric, Prn.ScaleMode);
-  }
-
-  // Print the picture using the PaintPicture method.
-#if 0
-  Prn.PaintPicture(pic, 0, 0, PrnPicWidth, PrnPicHeight);
-#endif
-}
-
-// --------------------------------------------------------------------
-
-#endif
diff --git a/src/game_sp/Capture.h b/src/game_sp/Capture.h
deleted file mode 100644 (file)
index 427a9b9..0000000
+++ /dev/null
@@ -1,151 +0,0 @@
-// ----------------------------------------------------------------------------
-// Capture.h
-// ----------------------------------------------------------------------------
-
-#ifndef CAPTURE_H
-#define CAPTURE_H
-
-#include "vb_types.h"
-#include "vb_defs.h"
-#include "vb_vars.h"
-#include "vb_lib.h"
-
-#include "global.h"
-
-#if 0
-
-#ifndef HAS_PALETTEENTRY
-typedef struct
-{
-  byte peRed;
-  byte peGreen;
-  byte peBlue;
-  byte peFlags;
-} PALETTEENTRY;
-#define HAS_PALETTEENTRY
-#endif
-
-#ifndef HAS_LOGPALETTE
-typedef struct
-{
-  int palVersion;
-  int palNumEntries;
-  PALETTEENTRY palPalEntry[255];  // Enough for 256 colors.
-} LOGPALETTE;
-#define HAS_LOGPALETTE
-#endif
-
-#ifndef HAS_GUID
-typedef struct
-{
-  long Data1;
-  int Data2;
-  int Data3;
-  byte Data4[7];
-} GUID;
-#define HAS_GUID
-#endif
-
-#if Win32
-
-#ifndef HAS_RECT
-typedef struct
-{
-  long left;
-  long top;
-  long right;
-  long bottom;
-} RECT;
-#define HAS_RECT
-#endif
-
-#ifndef HAS_PicBmp
-typedef struct
-{
-  long Size;
-  long Type;
-  long hBmp;
-  long hPal;
-  long Reserved;
-} PicBmp;
-#define HAS_PicBmp
-#endif
-
-#elif Win16
-
-#ifndef HAS_RECT
-typedef struct
-{
-  int left;
-  int top;
-  int right;
-  int bottom;
-} RECT;
-#define HAS_RECT
-#endif
-
-#ifndef HAS_PicBmp
-typedef struct
-{
-  int Size;
-  int Type;
-  int hBmp;
-  int hPal;
-  int Reserved;
-} PicBmp;
-#define HAS_PicBmp
-#endif
-
-#endif
-
-#if Win32
-
-
-
-#elif Win16
-
-
-
-#endif
-
-#if Win32
-
-
-
-#elif Win16
-
-
-
-#endif
-
-#if Win32
-
-
-
-#elif Win16
-
-
-
-#endif
-
-#if Win32
-
-
-
-#elif Win16
-
-
-
-#endif
-
-extern Picture CaptureActiveWindow();
-extern Picture CaptureClient(Form frmSrc);
-extern Picture CaptureForm(Form frmSrc);
-extern Picture CaptureScreen();
-extern Picture CaptureWindow(int hWndSrc, boolean Client, int LeftSrc, int TopSrc, long WidthSrc, long HeightSrc);
-extern Picture CreateBitmapPicture(int hBmp, int hPal);
-extern void PrintPictureToFitPage(Printer Prn, Picture pic);
-
-#endif
-
-#endif /* CAPTURE_H */
index de5b237edceeea21b823462ed992fe30ca4e0943..0f1191ce1eb6153ba86abbba68070b6a6849179b 100644 (file)
@@ -7,27 +7,6 @@
 #include <math.h>
 
 
-// --- VERSION 1.0 CLASS
-// --- BEGIN
-// ---   MultiUse = -1  'True  // True
-// ---   Persistable = 0  'NotPersistable  // NotPersistable
-// ---   DataBindingBehavior = 0  'vbNone  // vbNone
-// ---   DataSourceBehavior  = 0  'vbNone  // vbNone
-// ---   MTSTransactionMode  = 0  'NotAnMTSObject  // NotAnMTSObject
-// --- END
-
-// static char *VB_Name = "DDScrollBuffer";
-// static boolean VB_GlobalNameSpace = False;
-// static boolean VB_Creatable = True;
-// static boolean VB_PredeclaredId = False;
-// static boolean VB_Exposed = False;
-
-// --- Option Explicit
-
-// needs reference to: DirectX7 for Visual Basic Type Library
-
-DirectDrawSurface7 Buffer;
-DirectDrawSurface7 mPrimary;
 long mWidth, mHeight;
 long mhWnd;
 long mScrollX, mScrollY;
@@ -37,7 +16,6 @@ long mDestXOff, mDestYOff;
 long ScreenBuffer[MAX_BUF_XSIZE][MAX_BUF_YSIZE];
 boolean redraw[MAX_BUF_XSIZE][MAX_BUF_YSIZE];
 
-int TEST_flag = 0;
 
 void RestorePlayfield()
 {
@@ -101,30 +79,13 @@ static void ScrollPlayfield(int dx, int dy)
                   (PlayField8[tsi] << 16) |
                   (DisPlayField[tsi] << 24));
 
-#if 0
-#if 1
-       printf("::: [%d] %d [%d, %d] [%d]\n", dx, sx, x, y, buf_xsize);
-#else
-       if (sx == 0 || sx == MAX_BUF_XSIZE - 1)
-         printf("::: %d, %d\n", dx, sx);
-#endif
-#endif
-
        if ((dx == -1 && x == x2) ||
            (dx == +1 && x == x1) ||
            (dy == -1 && y == y2) ||
            (dy == +1 && y == y1))
        {
-#if 0
-         printf("::: %d, %d\n", sx, sy);
-#endif
-
-         TEST_flag = 1;
-
          DrawFieldNoAnimated(x, y);
          DrawFieldAnimated(x, y);
-
-         TEST_flag = 0;
        }
 
        ScreenBuffer[sx][sy] = id;
@@ -151,8 +112,6 @@ static void ScrollPlayfieldIfNeededExt(boolean reset)
     return;
   }
 
-#if 1
-
   /* check if scrolling the playfield requires redrawing the viewport bitmap */
   if ((mScrollX != mScrollX_last ||
        mScrollY != mScrollY_last) &&
@@ -168,32 +127,7 @@ static void ScrollPlayfieldIfNeededExt(boolean reset)
     mScrollY_last -= dy * TILEY;
 
     ScrollPlayfield(dx, dy);
-
-#if 0
-    printf("::: %ld, %ld\n", mScrollX, mScrollY);
-#endif
-  }
-
-#else
-
-  /* check if scrolling the playfield reached the destination tile position */
-  if ((mScrollX != mScrollX_last || mScrollY != mScrollY_last) &&
-      mScrollX % TILEX == 0 && mScrollY % TILEY == 0)
-  {
-    int dx = (mScrollX < mScrollX_last ? 1 : mScrollX > mScrollX_last ? -1 : 0);
-    int dy = (mScrollY < mScrollY_last ? 1 : mScrollY > mScrollY_last ? -1 : 0);
-
-    mScrollX_last = mScrollX;
-    mScrollY_last = mScrollY;
-
-    ScrollPlayfield(dx, dy);
-
-#if 0
-    printf("::: %ld, %ld\n", mScrollX, mScrollY);
-#endif
   }
-
-#endif
 }
 
 static void ScrollPlayfieldIfNeeded()
@@ -280,205 +214,14 @@ void UpdatePlayfield(boolean force_redraw)
 #endif
 }
 
-void UpdatePlayfield_TMP()
-{
-  int x1 = mScrollX_last / TILEX - 2;
-  int y1 = mScrollY_last / TILEY - 2;
-  int x2 = mScrollX_last / TILEX + (SCR_FIELDX - 1) + 2;
-  int y2 = mScrollY_last / TILEY + (SCR_FIELDY - 1) + 2;
-  int x, y;
-
-  for (y = DisplayMinY; y <= DisplayMaxY; y++)
-  {
-    for (x = DisplayMinX; x <= DisplayMaxX; x++)
-    {
-      if (x >= x1 && x <= x2 && y >= y1 && y <= y2)
-      {
-       int sx = x - x1;
-       int sy = y - y1;
-       int tsi = GetSI(x, y);
-       long id = ((PlayField16[tsi]) |
-                  (PlayField8[tsi] << 16) |
-                  (DisPlayField[tsi] << 24));
-       boolean redraw_screen_tile = (ScreenBuffer[sx][sy] != id);
-
-#if 0
-       if (LowByte(PlayField16[tsi]) == fiMurphy)
-         continue;
-#endif
-
-       if (redraw_screen_tile)
-       {
-#if 0
-         DrawFieldNoAnimated(x, y);
-         DrawFieldAnimated(x, y);
-#endif
-
-         ScreenBuffer[sx][sy] = id;
-
-         redraw[sx][sy] = TRUE;
-         redraw_tiles++;
-       }
-      }
-    }
-  }
-}
-
-void OLD_UpdatePlayfield()
-{
-  int x, y;
-  int left = mScrollX / TILEX;
-  int top  = mScrollY / TILEY;
-
-  for (y = top; y < top + MAX_BUF_YSIZE; y++)
-  {
-    for (x = left; x < left + MAX_BUF_XSIZE; x++)
-    {
-      int sx = x % MAX_BUF_XSIZE;
-      int sy = y % MAX_BUF_YSIZE;
-      int tsi = GetSI(x, y);
-      long id = ((PlayField16[tsi]) |
-                (PlayField8[tsi] << 16) |
-                (DisPlayField[tsi] << 24));
-      boolean redraw_screen_tile = (ScreenBuffer[sx][sy] != id);
-
-      if (redraw_screen_tile)
-      {
-        DrawFieldNoAnimated(x, y);
-        DrawFieldAnimated(x, y);
-
-       ScreenBuffer[sx][sy] = id;
-
-       redraw[sx][sy] = TRUE;
-       redraw_tiles++;
-      }
-    }
-  }
-}
-
-void DDScrollBuffer_Let_DestXOff(long NewVal)
-{
-  mDestXOff = NewVal;
-}
-
-long DDScrollBuffer_Get_DestXOff()
-{
-  long DestXOff;
-
-  DestXOff = mDestXOff;
-
-  return DestXOff;
-}
-
-void DDScrollBuffer_Let_DestYOff(long NewVal)
-{
-  mDestYOff = NewVal;
-}
-
-long DDScrollBuffer_Get_DestYOff()
-{
-  long DestYOff;
-
-  DestYOff = mDestYOff;
-
-  return DestYOff;
-}
-
-DirectDrawSurface7 DDScrollBuffer_Get_Surface()
-{
-  DirectDrawSurface7 Surface;
-
-  Surface = Buffer;
-
-  return Surface;
-}
-
-long DDScrollBuffer_Get_Width()
-{
-  long Width;
-
-  Width = mWidth;
-
-  return Width;
-}
-
-int DDScrollBuffer_Get_Height()
-{
-  int Height;
-
-  Height = mHeight;
-
-  return Height;
-}
-
-#if 0
-
-long DDScrollBuffer_CreateAtSize(long Width, long Height, long hWndViewPort)
-{
-  long CreateAtSize;
-
-  DDSURFACEDESC2 SD;
-
-  CreateAtSize = 0;
-  mhWnd = hWndViewPort;
-  // Create ScrollBuffer:
-  {
-    SD.lFlags = DDSD_CAPS | DDSD_WIDTH | DDSD_HEIGHT;
-    SD.ddsCaps.lCaps = DDSCAPS_VIDEOMEMORY;
-    // SD.ddsCaps.lCaps = DDSCAPS_OFFSCREENPLAIN
-    SD.LWidth = Width;
-    SD.LHeight = Height;
-  }
-
-  // --- On Error Resume Next
-  Buffer = DDraw.CreateSurface(SD);
-  if (Err.Number != 0)
-    return CreateAtSize;
-
-  // --- On Error GoTo 0
-
-  mWidth = Width;
-  mHeight = Height;
-  mScrollX = 0;
-  mScrollY = 0;
-  CreateAtSize = -1;
-
-  return CreateAtSize;
-}
-
-void DDScrollBuffer_Cls(int BackColor)
-{
-  RECT EmptyRect;
-
-  if (NoDisplayFlag)
-    return;
-
-  Buffer.BltColorFill(EmptyRect, BackColor);
-}
-
-#endif
-
 /* copy the entire screen to the window at the scroll position */
 
 void BlitScreenToBitmap_SP(Bitmap *target_bitmap)
 {
-#if 0
-  int px = 2 * TILEX + mScrollX % TILEX;
-  int py = 2 * TILEY + mScrollY % TILEY;
-#else
   int px = 2 * TILEX + (mScrollX - mScrollX_last) % TILEX;
   int py = 2 * TILEY + (mScrollY - mScrollY_last) % TILEY;
-#endif
   int sx, sy, sxsize, sysize;
 
-#if 0
-  if (mScrollX % TILEX != (mScrollX - mScrollX_last) % TILEX ||
-      mScrollY % TILEY != (mScrollY - mScrollY_last) % TILEY)
-    printf("::: %ld, %ld / %ld, %ld\n",
-          mScrollX, mScrollY, mScrollX_last, mScrollY_last);
-#endif
-
-#if 1
   int xsize = SXSIZE;
   int ysize = SYSIZE;
   int full_xsize = (FieldWidth  - (menBorder.Checked ? 0 : 1)) * TILEX;
@@ -488,117 +231,16 @@ void BlitScreenToBitmap_SP(Bitmap *target_bitmap)
   sysize = (full_ysize < ysize ? full_ysize : ysize);
   sx = SX + (full_xsize < xsize ? (xsize - full_xsize) / 2 : 0);
   sy = SY + (full_ysize < ysize ? (ysize - full_ysize) / 2 : 0);
-#endif
-
-#if 0
-  {
-    static int mScrollX_tmp = -1;
-    static int mScrollY_tmp = -1;
 
-    if (mScrollX != mScrollX_tmp || mScrollY != mScrollY_tmp)
-    {
-      printf("::: %ld, %ld\n", mScrollX, mScrollY);
-
-      mScrollX_tmp = mScrollX;
-      mScrollY_tmp = mScrollY;
-    }
-  }
-#endif
-
-#if 0
-  {
-    static boolean x = 0;
-
-    if (x == 0)
-    {
-      printf("::: %d, %d (%d, %d) (%d, %d) [%ld, %ld] [%ld, %ld] \n",
-            sx, sy, xsize, ysize, full_xsize, full_ysize,
-            mScrollX, mScrollY, mScrollX_last, mScrollY_last);
-
-      x = 1;
-    }
-  }
-#endif
-
-#if 1
   if (!menBorder.Checked)
   {
     px += TILEX / 2;
     py += TILEY / 2;
   }
-#endif
-
-#if 0
-  if (mScrollX >= 0 && mScrollX <= 16)
-  {
-    px -= mScrollX;
-  }
-#if 0
-  else if (mScrollX >= 352 && mScrollX <= 368)
-  {
-    px -= mScrollX;
-  }
-#endif
-  else if (mScrollX >= 16) // && mScrollX <= 352)
-  {
-    px -= TILEX / 2;
-  }
-#endif
-
-#if 0
-  /* !!! TEST ONLY !!! */
-  px = py = 0;
-  sx = sy = SX;
-#endif
 
   BlitBitmap(screenBitmap, target_bitmap, px, py, sxsize, sysize, sx, sy);
 }
 
-void OLD_BlitScreenToBitmap_SP(Bitmap *target_bitmap)
-{
-  int x = mScrollX % (MAX_BUF_XSIZE * TILEX);
-  int y = mScrollY % (MAX_BUF_YSIZE * TILEY);
-
-  if (x < 2 * TILEX && y < 2 * TILEY)
-  {
-    BlitBitmap(screenBitmap, target_bitmap, x, y,
-              SCR_FIELDX * TILEX, SCR_FIELDY * TILEY, SX, SY);
-  }
-  else if (x < 2 * TILEX && y >= 2 * TILEY)
-  {
-    BlitBitmap(screenBitmap, target_bitmap, x, y,
-              SCR_FIELDX * TILEX, MAX_BUF_YSIZE * TILEY - y,
-              SX, SY);
-    BlitBitmap(screenBitmap, target_bitmap, x, 0,
-              SCR_FIELDX * TILEX, y - 2 * TILEY,
-              SX, SY + MAX_BUF_YSIZE * TILEY - y);
-  }
-  else if (x >= 2 * TILEX && y < 2 * TILEY)
-  {
-    BlitBitmap(screenBitmap, target_bitmap, x, y,
-              MAX_BUF_XSIZE * TILEX - x, SCR_FIELDY * TILEY,
-              SX, SY);
-    BlitBitmap(screenBitmap, target_bitmap, 0, y,
-              x - 2 * TILEX, SCR_FIELDY * TILEY,
-              SX + MAX_BUF_XSIZE * TILEX - x, SY);
-  }
-  else
-  {
-    BlitBitmap(screenBitmap, target_bitmap, x, y,
-              MAX_BUF_XSIZE * TILEX - x, MAX_BUF_YSIZE * TILEY - y,
-              SX, SY);
-    BlitBitmap(screenBitmap, target_bitmap, 0, y,
-              x - 2 * TILEX, MAX_BUF_YSIZE * TILEY - y,
-              SX + MAX_BUF_XSIZE * TILEX - x, SY);
-    BlitBitmap(screenBitmap, target_bitmap, x, 0,
-              MAX_BUF_XSIZE * TILEX - x, y - 2 * TILEY,
-              SX, SY + MAX_BUF_YSIZE * TILEY - y);
-    BlitBitmap(screenBitmap, target_bitmap, 0, 0,
-              x - 2 * TILEX, y - 2 * TILEY,
-              SX + MAX_BUF_XSIZE * TILEX - x, SY + MAX_BUF_YSIZE * TILEY - y);
-  }
-}
-
 void BackToFront_SP(void)
 {
   static boolean scrolling_last = FALSE;
@@ -612,15 +254,7 @@ void BackToFront_SP(void)
   if (1 ||
       redraw_tiles > REDRAWTILES_THRESHOLD || scrolling || scrolling_last)
   {
-#if 1
     BlitScreenToBitmap_SP(window);
-#else
-    /* blit all (up to four) parts of the scroll buffer to the backbuffer */
-    BlitScreenToBitmap_SP(backbuffer);
-
-    /* blit the completely updated backbuffer to the window (in one blit) */
-    BlitBitmap(backbuffer, window, SX, SY, SXSIZE, SYSIZE, SX, SY);
-#endif
   }
   else
   {
@@ -649,260 +283,9 @@ void BackToFront_SP(void)
   scrolling_last = scrolling;
 }
 
-
-void DDScrollBuffer_Blt_Ext(Bitmap *target_bitmap)
-{
-  MyRECT DR, SR;
-#if 1
-  long tX, tY;
-#else
-  long tX, tY, L;
-#endif
-  int sX, sY;
-  // RECT ERect;
-  // long Restore;
-
-  if (NoDisplayFlag)
-    return;
-
-#if 1
-  DR.left = 0;
-  DR.top = 0;
-  DR.right = SCR_FIELDX * TILEX;
-  DR.bottom = SCR_FIELDY * TILEY;
-#else
-  // --- On Error GoTo BltEH
-  DirectX.GetWindowRect(mhWnd, DR);
-  // --- On Error GoTo 0
-#endif
-
-  {
-    tX = (DR.right - DR.left) / Stretch;
-    tY = (DR.bottom - DR.top) / Stretch;
-  }
-
-  {
-    SR.left = mScrollX + mDestXOff;
-    SR.top = mScrollY + mDestYOff;
-
-    SR.right = SR.left + tX;
-    SR.bottom = SR.top + tY;
-
-    //    If mWidth < SR.right Then
-    //      SR.right = mWidth
-    //      DR.right = DR.left + Stretch * (SR.right - SR.left)
-    //    End If
-    //    If mHeight < SR.bottom Then
-    //      SR.bottom = mHeight
-    //      DR.bottom = DR.top + Stretch * (SR.bottom - SR.top)
-    //    End If
-    //    If (mScrollX + mDestXOff) < 0 Then
-    //      SR.left = 0
-    //      DR.left = DR.left - Stretch * (mScrollX + mDestXOff)
-    //    End If
-    //    If (mScrollY + mDestYOff) < 0 Then
-    //      SR.top = 0
-    //      DR.top = DR.top - Stretch * (mScrollY + mDestYOff)
-    //    End If
-  }
-
-#if 1
-  SR.left = (SR.left < 0 ? 0 : SR.left);
-  SR.top  = (SR.top  < 0 ? 0 : SR.top);
-#endif
-
-#if 1
-  {
-    int full_xsize = (FieldWidth  - (menBorder.Checked ? 0 : 1)) * TILEX;
-    int full_ysize = (FieldHeight - (menBorder.Checked ? 0 : 1)) * TILEY;
-    int sxsize = SCR_FIELDX * TILEX;
-    int sysize = SCR_FIELDY * TILEY;
-
-    tX = (full_xsize < sxsize ? full_xsize : tX);
-    tY = (full_ysize < sysize ? full_ysize : tY);
-    sX = SX + (full_xsize < sxsize ? (sxsize - full_xsize) / 2 : 0);
-    sY = SY + (full_ysize < sysize ? (sysize - full_ysize) / 2 : 0);
-  }
-#endif
-
-#if 1
-  if (!menBorder.Checked)
-  {
-    SR.left += TILEX / 2;
-    SR.top  += TILEY / 2;
-  }
-#endif
-
-#if 1
-
-#if 1
-  printf("::: DDScrollBuffer.c: DDScrollBuffer_Blt(): blit from %d, %d [%ld, %ld] [%ld, %ld] [%ld, %ld]\n",
-        SR.left, SR.top, mScrollX, mScrollY, mDestXOff, mDestYOff, tX, tY);
-#endif
-
-#if 0
-  /* !!! quick and dirty -- FIX THIS !!! */
-  if (tape.playing && tape.fast_forward &&
-      target_bitmap == window &&
-      (FrameCounter % 2) != 0)
-    printf("::: FrameCounter == %d\n", FrameCounter);
-#endif
-
-#if 1
-  SyncDisplay();
-#endif
-
-#if 1
-  BlitBitmap(screenBitmap, target_bitmap,
-            SR.left, SR.top, tX, tY, sX, sY);
-#else
-  BlitBitmap(screenBitmap, target_bitmap,
-            SR.left, SR.top,
-             SCR_FIELDX * TILEX, SCR_FIELDY * TILEY, SX, SY);
-#endif
-
-#if 1
-  FlushDisplay();
-#endif
-
-  return;
-
-#endif
-
-  // DDraw.WaitForVerticalBlank DDWAITVB_BLOCKBEGIN, 0
-  if (IS_NOTHING(&Buffer, sizeof(Buffer)))
-    return;
-
-#if 0
-  if (IS_NOTHING(&PrimarySurface, sizeof(PrimarySurface)))
-    return;
-#endif
-
-#if 0
-
-  L = PrimarySurface.Blt(DR, &Buffer, SR, DDBLT_WAIT);
-  if (L != DD_OK)
-  {
-    switch (L)
-    {
-#if 0
-      case DDERR_GENERIC:
-        Debug.Assert(False);
-        break;
-
-      case DDERR_INVALIDCLIPLIST:
-        Debug.Assert(False);
-        break;
-
-      case DDERR_INVALIDOBJECT:
-        Debug.Assert(False);
-        break;
-
-      case DDERR_INVALIDPARAMS:
-        Debug.Assert(False);
-        break;
-
-      case DDERR_INVALIDRECT:
-        Debug.Assert(False);
-        break;
-
-      case DDERR_NOALPHAHW:
-        Debug.Assert(False);
-        break;
-
-      case DDERR_NOBLTHW:
-        Debug.Assert(False);
-        break;
-
-      case DDERR_NOCLIPLIST:
-        Debug.Assert(False);
-        break;
-
-      case DDERR_NODDROPSHW:
-        Debug.Assert(False);
-        break;
-
-      case DDERR_NOMIRRORHW:
-        Debug.Assert(False);
-        break;
-
-      case DDERR_NORASTEROPHW:
-        Debug.Assert(False);
-        break;
-
-      case DDERR_NOROTATIONHW:
-        Debug.Assert(False);
-        break;
-
-      case DDERR_NOSTRETCHHW:
-        Debug.Assert(False);
-        break;
-
-      case DDERR_NOZBUFFERHW:
-        Debug.Assert(False);
-        break;
-
-      case DDERR_SURFACEBUSY:
-        Debug.Assert(False);
-        break;
-#endif
-
-#if 0
-      case DDERR_SURFACELOST:
-        DDraw.RestoreAllSurfaces();
-        if (! PrimarySurface.isLost())
-        {
-          subDisplayLevel();
-          // Blt();
-        }
-
-        // RestorePrimarySurface
-        // ClipToWindow 0
-        break;
-#endif
-
-#if 0
-      case DDERR_UNSUPPORTED:
-        Debug.Assert(False);
-        break;
-
-      case DDERR_WASSTILLDRAWING:
-        Debug.Assert(False);
-        break;
-
-      default:
-        Debug.Assert(False);
-        break;
-#endif
-    }
-  }
-
-#endif
-
-#if 0
-  //  Buffer.UpdateOverlay SR, PrimarySurface, DR, DDOVER_SHOW
-  if (EditFlag)
-    FMark.RefreshMarker();
-#endif
-
-  // BltEH:
-}
-
 void DDScrollBuffer_Blt()
 {
-#if 1
-
-#if 1
   BackToFront_SP();
-#else
-  /* !!! TEST ONLY !!! */
-  BlitBitmap(screenBitmap, window,
-            0, 0, SCR_FIELDX * TILEX, SCR_FIELDY * TILEY, SX, SY);
-#endif
-
-#else
-  DDScrollBuffer_Blt_Ext(window);
-#endif
 }
 
 void DDScrollBuffer_ScrollTo(int X, int Y)
@@ -917,11 +300,6 @@ void DDScrollBuffer_ScrollTo(int X, int Y)
   ScrollX = mScrollX;
   ScrollY = mScrollY;
 
-#if 0
-  printf("::: DDScrollBuffer.c: DDScrollBuffer_ScrollTo():  mScroll: %ld, %ld [%d, %d]\n",
-        mScrollX, mScrollY, X, Y);
-#endif
-
 #if 1
   ScrollPlayfieldIfNeeded();
 #endif
@@ -934,11 +312,6 @@ void DDScrollBuffer_ScrollTowards(int X, int Y, double Step)
   if (NoDisplayFlag)
     return;
 
-#if 0
-  printf("::: DDScrollBuffer.c: DDScrollBuffer_ScrollTowards(): (1) mScroll: %ld, %ld [%d, %d, %f, %f]\n",
-        mScrollX, mScrollY, X, Y, Step, Stretch);
-#endif
-
   X = X / Stretch;
   Y = Y / Stretch;
   dx = X - mScrollX;
@@ -957,11 +330,6 @@ void DDScrollBuffer_ScrollTowards(int X, int Y, double Step)
   ScrollX = mScrollX;
   ScrollY = mScrollY;
 
-#if 0
-  printf("::: DDScrollBuffer.c: DDScrollBuffer_ScrollTowards(): (2) mScroll: %ld, %ld [%d, %d, %f]\n",
-        mScrollX, mScrollY, X, Y, Step);
-#endif
-
 #if 1
   ScrollPlayfieldIfNeeded();
 #endif
@@ -970,22 +338,11 @@ void DDScrollBuffer_ScrollTowards(int X, int Y, double Step)
 void DDScrollBuffer_SoftScrollTo(int X, int Y, long TimeMS, int FPS)
 {
   double dx, dY;
-#if 0
-  TickCountObject Tick;
-#endif
   long dT, StepCount;
   double T, tStep;
   long oldX, oldY, maxD;
   static boolean AlreadyRunning = False;
 
-#if 0
-  printf(":a: %d, %d [%d, %d] [%d, %d] [%d, %d]\n",
-        mScrollX, mScrollY,
-        mScrollX_last, mScrollY_last,
-        ScreenScrollXPos, ScreenScrollYPos,
-        ScrollX, ScrollY);
-#endif
-
   if (NoDisplayFlag)
     return;
 
@@ -1018,71 +375,24 @@ void DDScrollBuffer_SoftScrollTo(int X, int Y, long TimeMS, int FPS)
     if (UserDragFlag)
       goto SoftScrollEH;
 
-    // If Claim Then Exit For
-
-#if 0
-    Tick.DelayMS(dT, False);
-#endif
-
     mScrollX = oldX + T * dx;
     mScrollY = oldY + T * dY;
     ScrollX = mScrollX;
     ScrollY = mScrollY;
-
-#if 0
-    Blt();
-#endif
   }
 
-#if 0
-  printf(":x: %d, %d [%d, %d] [%d, %d] [%d, %d]\n",
-        mScrollX, mScrollY,
-        mScrollX_last, mScrollY_last,
-        ScreenScrollXPos, ScreenScrollYPos,
-        ScrollX, ScrollY);
-#endif
-
   if (UserDragFlag)
     goto SoftScrollEH;
 
-#if 0
-  Tick.DelayMS(dT, False);
-#endif
-
   mScrollX = X;
   mScrollY = Y;
   ScrollX = mScrollX;
   ScrollY = mScrollY;
 
-#if 0
-  Blt();
-#endif
-
 SoftScrollEH:
   AlreadyRunning = False;
 
-#if 0
-  printf("::: DDScrollBuffer.c: DDScrollBuffer_SoftScrollTo(): mScroll: %ld, %ld\n",
-        mScrollX, mScrollY);
-#endif
-
-#if 0
-  printf(":y: %d, %d [%d, %d] [%d, %d] [%d, %d]\n",
-        mScrollX, mScrollY,
-        mScrollX_last, mScrollY_last,
-        ScreenScrollXPos, ScreenScrollYPos,
-        ScrollX, ScrollY);
-#endif
-
 #if 1
   ScrollPlayfieldIfNeeded();
 #endif
-
-#if 0
-  printf(":z: %d, %d [%d, %d] [%d, %d] [%d, %d]\n",
-        mScrollX, mScrollY,
-        mScrollX_last, mScrollY_last,
-        ScreenScrollXPos, ScreenScrollYPos,
-        ScrollX, ScrollY);
-#endif
 }
index aaaf63abca0fc33f9037c9dcf53c1c9f16dadd84..3224d72a0a3892b542aa92b52a5f6baedc81f2f6 100644 (file)
@@ -12,6 +12,7 @@
 
 #include "global.h"
 
+
 extern long mScrollX, mScrollY;
 extern long mScrollX_last, mScrollY_last;
 
@@ -24,17 +25,7 @@ extern void InitScrollPlayfield();
 extern void UpdatePlayfield();
 extern void RestorePlayfield();
 
-extern void DDScrollBuffer_Blt_Ext(Bitmap *);
 extern void DDScrollBuffer_Blt();
-extern void DDScrollBuffer_Cls(int BackColor);
-extern long DDScrollBuffer_CreateAtSize(long Width, long Height, long hWndViewPort);
-extern long DDScrollBuffer_Get_DestXOff();
-extern long DDScrollBuffer_Get_DestYOff();
-extern int DDScrollBuffer_Get_Height();
-extern DirectDrawSurface7 DDScrollBuffer_Get_Surface();
-extern long DDScrollBuffer_Get_Width();
-extern void DDScrollBuffer_Let_DestXOff(long NewVal);
-extern void DDScrollBuffer_Let_DestYOff(long NewVal);
 extern void DDScrollBuffer_ScrollTo(int X, int Y);
 extern void DDScrollBuffer_ScrollTowards(int X, int Y, double Step);
 extern void DDScrollBuffer_SoftScrollTo(int X, int Y, long TimeMS, int FPS);
index 36d271f1818d4f0ca0c023b8dd0fd9dbc7e1dc3f..39f04e76011c4101cfeb8821e0181b28446ae9e6 100644 (file)
 
 #include "DDSpriteBuffer.h"
 
-static void Blt(int pX, int pY, Bitmap *bitmap, int SpriteX, int SpriteY);
 
-// --- VERSION 1.0 CLASS
-// --- BEGIN
-// ---   MultiUse = -1  'True  // True
-// ---   Persistable = 0  'NotPersistable  // NotPersistable
-// ---   DataBindingBehavior = 0  'vbNone  // vbNone
-// ---   DataSourceBehavior  = 0  'vbNone  // vbNone
-// ---   MTSTransactionMode  = 0  'NotAnMTSObject  // NotAnMTSObject
-// --- END
-
-// static char *VB_Name = "DDSpriteBuffer";
-// static boolean VB_GlobalNameSpace = False;
-// static boolean VB_Creatable = True;
-// static boolean VB_PredeclaredId = False;
-// static boolean VB_Exposed = False;
-// --- Option Explicit
-
-// needs reference to: DirectX7 for Visual Basic Type Library
-
-DirectDrawSurface7 Buffer;
-DirectDrawSurface7 mDest;
 long mXSpriteCount, mYSpriteCount;
 long mSpriteWidth, mSpriteHeight;
 long mDestXOff, mDestYOff;
 
-void DDSpriteBuffer_Let_DestXOff(long NewVal)
-{
-  mDestXOff = NewVal;
-}
-
-long DDSpriteBuffer_Get_DestXOff()
-{
-  long DestXOff;
-
-  DestXOff = mDestXOff;
-
-  return DestXOff;
-}
-
-void DDSpriteBuffer_Let_DestYOff(long NewVal)
-{
-  mDestYOff = NewVal;
-}
-
-long DDSpriteBuffer_Get_DestYOff()
-{
-  long DestYOff;
-
-  DestYOff = mDestYOff;
-
-  return DestYOff;
-}
-
-int DDSpriteBuffer_Set_DestinationSurface(DirectDrawSurface7 DSurface)
-{
-  int DestinationSurface;
-
-  mDest = DSurface;
-
-  return DestinationSurface;
-}
-
-DirectDrawSurface7 DDSpriteBuffer_Get_Surface()
-{
-  DirectDrawSurface7 Surface;
-
-  Surface = Buffer;
-
-  return Surface;
-}
-
-long DDSpriteBuffer_Get_Width()
-{
-  long Width;
-
-  Width = mSpriteWidth * mXSpriteCount;
-
-  return Width;
-}
-
-int DDSpriteBuffer_Get_Height()
-{
-  int Height;
-
-  Height = mSpriteHeight * mYSpriteCount;
-
-  return Height;
-}
-
-boolean DDSpriteBuffer_CreateFromFile(char *Path, long xSprites, long ySprites)
+void DDSpriteBuffer_Init()
 {
-  boolean CreateFromFile;
-
-  DDSURFACEDESC2 SD;
-
-  {
-    SD.lFlags = DDSD_CAPS; // Or DDSD_WIDTH Or DDSD_HEIGHT
-    SD.ddsCaps.lCaps = DDSCAPS_VIDEOMEMORY; // DDSCAPS_SYSTEMMEMORY 'DDSCAPS_OFFSCREENPLAIN
-  }
-
-  // --- On Error GoTo CreateFromFileEH
-#if 1
-  SD.LWidth  = 16 * TILEX;
-  SD.LHeight = 16 * TILEY;
-#else
-  Buffer = DDraw.CreateSurfaceFromFile(Path, SD);
-#endif
-  // --- On Error GoTo 0
-
-#if 0
-  Buffer.GetSurfaceDesc(SD);
-#endif
-
-  mSpriteWidth = SD.LWidth / xSprites;
-  mSpriteHeight = SD.LHeight / ySprites;
-  mXSpriteCount = xSprites;
-  mYSpriteCount = ySprites;
-
-  CreateFromFile = True;
-  return CreateFromFile;
-
-  // CreateFromFileEH:
-  CreateFromFile = False;
-
-  return CreateFromFile;
+  mSpriteWidth  = TILEX;
+  mSpriteHeight = TILEY;
+  mXSpriteCount = 16;
+  mYSpriteCount = 16;
 }
 
-#if 0
-
-boolean DDSpriteBuffer_CreateAtSize(long Width, long Height, long xSprites, long ySprites)
-{
-  boolean CreateAtSize;
-
-  DDSURFACEDESC2 SD;
-
-  {
-    SD.lFlags = DDSD_CAPS | DDSD_WIDTH | DDSD_HEIGHT;
-    SD.ddsCaps.lCaps = DDSCAPS_VIDEOMEMORY;
-    // SD.ddsCaps.lCaps = DDSCAPS_OFFSCREENPLAIN
-    SD.LWidth = Width;
-    SD.LHeight = Height;
-  }
-
-  // --- On Error GoTo CreateAtSizeEH
-  Buffer = DDraw.CreateSurface(SD);
-  // --- On Error GoTo 0
-
-  mSpriteWidth = Width / xSprites;
-  mSpriteHeight = Height / ySprites;
-  mXSpriteCount = xSprites;
-  mYSpriteCount = ySprites;
-  CreateAtSize = True;
-  return CreateAtSize;
-
-  // CreateAtSizeEH:
-  CreateAtSize = False;
-
-  return CreateAtSize;
-}
-
-#endif
-
-#if 0
-
-void DDSpriteBuffer_Cls(int BackColor)
-{
-  RECT EmptyRect;
-
-  Buffer.BltColorFill(EmptyRect, BackColor);
-}
-
-#endif
-
 static void Blt(int pX, int pY, Bitmap *bitmap, int SpriteX, int SpriteY)
 {
   MyRECT DR, SR;
-#if 0
-  long Tmp;
-#endif
-
-#if 1
 
   int scx = (mScrollX_last < 0 ? 0 : mScrollX_last);
   int scy = (mScrollY_last < 0 ? 0 : mScrollY_last);
@@ -197,216 +31,29 @@ static void Blt(int pX, int pY, Bitmap *bitmap, int SpriteX, int SpriteY)
   int sx = pX - sx1;
   int sy = pY - sy1;
 
-#else
-
-  int sx1 = mScrollX - TILEX;
-  int sy1 = mScrollY - TILEY;
-  int sx2 = mScrollX + SXSIZE + TILEX;
-  int sy2 = mScrollY + SYSIZE + TILEY;
-  int x1 = sx1 / TILEX;
-  int y1 = sy1 / TILEY;
-
-#if 0
-  int x2 = sx2 / TILEX;
-  int y2 = sy2 / TILEY;
-#endif
-
-  int sx = pX - x1 * TILEX;
-  int sy = pY - y1 * TILEY;
-
-#endif
-
-#if 0
-  printf(":1: DDSpriteBuffer.c: Blt(): %d, %d [%ld, %ld]\n",
-        pX, pY, mScrollX, mScrollY);
-#endif
-
   if (NoDisplayFlag)
     return;
 
-#if 0
-  if (TEST_flag)
-  {
-    if (pX < sx1 || pX > sx2 || pY < sy1 || pY > sy2)
-      printf("::: DDSpriteBuffer.c: Blt(): %d, %d [%d..%d, %d..%d] (%ld, %ld) (%ld, %ld) [SKIPPED]\n",
-            pX, pY, sx1, sx2, sy1, sy2, mScrollX, mScrollY, mScrollX_last, mScrollY_last);
-    else
-      printf("::: DDSpriteBuffer.c: Blt(): %d, %d [%d..%d, %d..%d] (%ld, %ld) (%ld, %ld)\n",
-            pX, pY, sx1, sx2, sy1, sy2, mScrollX, mScrollY, mScrollX_last, mScrollY_last);
-  }
-#endif
-
   /* do not draw fields that are outside the visible screen area */
   if (pX < sx1 || pX > sx2 || pY < sy1 || pY > sy2)
     return;
 
-#if 0
-  printf(":2: DDSpriteBuffer.c: Blt(): %d, %d [%ld, %ld]\n",
-        pX, pY, mScrollX, mScrollY);
-#endif
-
-  {
-    DR.left = pX + mDestXOff;
-    DR.top = pY + mDestYOff;
-    DR.right = pX + mSpriteWidth + mDestXOff;
-    DR.bottom = pY + mSpriteHeight + mDestYOff;
-  }
-  {
-#if 1
-    SR.left = SpriteX;
-    SR.top = SpriteY;
-#else
-    SR.left = mSpriteWidth * (SpriteX - 1);
-    SR.top = mSpriteHeight * (SpriteY - 1);
-#endif
-    SR.right = SR.left + mSpriteWidth;
-    SR.bottom = SR.top + mSpriteHeight;
-  }
-
-#if 0
-  printf("::: DDSpriteBuffer.c: Blt(): %d, %d\n", DR.left, DR.top);
-#endif
+  DR.left = pX + mDestXOff;
+  DR.top = pY + mDestYOff;
+  DR.right = pX + mSpriteWidth + mDestXOff;
+  DR.bottom = pY + mSpriteHeight + mDestYOff;
 
-#if 0
-  printf("::: DDSpriteBuffer.c: Blt(): %d, %d\n", sx, sy);
-#endif
+  SR.left = SpriteX;
+  SR.top = SpriteY;
+  SR.right = SR.left + mSpriteWidth;
+  SR.bottom = SR.top + mSpriteHeight;
 
-#if 0
-  if (pX == 0 * StretchWidth && pY == 0 * StretchWidth)
-    printf("::: TEST: drawing topleft corner ...\n");
-  if (pX == 59 * StretchWidth && pY == 23 * StretchWidth)
-    printf("::: TEST: drawing bottomright corner ...\n");
-#endif
-
-#if 1
-
-#if 1
   BlitBitmap(bitmap, screenBitmap,
             SR.left, SR.top,
             mSpriteWidth, mSpriteHeight,
             sx, sy);
-#else
-  BlitBitmap(sp_objects, screenBitmap,
-            SR.left, SR.top,
-            mSpriteWidth, mSpriteHeight,
-            DR.left, DR.top);
-#endif
-
-#else
-  Tmp = mDest.Blt(DR, &Buffer, SR, DDBLT_WAIT);
-#endif
 }
 
-#if 0
-
-static void OLD_Blt(int pX, int pY, int SpriteX, int SpriteY)
-{
-  RECT DR, SR;
-#if 0
-  long Tmp;
-#endif
-
-#if 1
-  int left = mScrollX;
-  int top  = mScrollY;
-#else
-  int left = mScrollX / TILEX;
-  int top  = mScrollY / TILEY;
-#endif
-
-  int sx = pX % (MAX_BUF_XSIZE * TILEX);
-  int sy = pY % (MAX_BUF_YSIZE * TILEY);
-
-#if 0
-  printf("::: DDSpriteBuffer.c: Blt(): %d, %d [%ld, %ld] [%d, %d]\n",
-        pX, pY, mScrollX, mScrollY, left, top);
-#endif
-
-  if (NoDisplayFlag)
-    return;
-
-  /* do not draw fields that are outside the visible screen area */
-  if (pX < left || pX >= left + MAX_BUF_XSIZE * TILEX ||
-      pY < top  || pY >= top  + MAX_BUF_YSIZE * TILEY)
-    return;
-
-  {
-    DR.left = pX + mDestXOff;
-    DR.top = pY + mDestYOff;
-    DR.right = pX + mSpriteWidth + mDestXOff;
-    DR.bottom = pY + mSpriteHeight + mDestYOff;
-  }
-  {
-    SR.left = mSpriteWidth * (SpriteX - 1);
-    SR.top = mSpriteHeight * (SpriteY - 1);
-    SR.right = SR.left + mSpriteWidth;
-    SR.bottom = SR.top + mSpriteHeight;
-  }
-
-#if 0
-  printf("::: DDSpriteBuffer.c: Blt(): %d, %d\n", DR.left, DR.top);
-#endif
-
-#if 0
-  if (pX == 0 * StretchWidth && pY == 0 * StretchWidth)
-    printf("::: TEST: drawing topleft corner ...\n");
-  if (pX == 59 * StretchWidth && pY == 23 * StretchWidth)
-    printf("::: TEST: drawing bottomright corner ...\n");
-#endif
-
-#if 1
-
-#if 1
-  BlitBitmap(sp_objects, screenBitmap,
-            SR.left, SR.top,
-            mSpriteWidth, mSpriteHeight,
-            sx, sy);
-#else
-  BlitBitmap(sp_objects, screenBitmap,
-            SR.left, SR.top,
-            mSpriteWidth, mSpriteHeight,
-            DR.left, DR.top);
-#endif
-
-#else
-  Tmp = mDest.Blt(DR, &Buffer, SR, DDBLT_WAIT);
-#endif
-}
-
-#endif
-
-#if 0
-
-void DDSpriteBuffer_BltEx(int pX, int pY, int SpritePos)
-{
-  int XPos, YPos;
-
-  if (NoDisplayFlag)
-    return;
-
-#if 1
-  XPos = mSpriteWidth  * (SpritePos % mXSpriteCount);
-  YPos = mSpriteHeight * (SpritePos / mXSpriteCount);
-#else
-  XPos = (SpritePos % mXSpriteCount) + 1;
-  YPos = (SpritePos / mXSpriteCount) + 1;
-#endif
-
-#if 0
-  printf("::: BltEx: %d, %d, %d, %d\n", pX, pY, XPos, YPos);
-#endif
-
-#if 0
-  if (TEST_flag)
-    printf("::: DDSpriteBuffer_BltEx(): %d, %d [%d]\n",
-          pX, pY, SpritePos);
-#endif
-
-  Blt(pX, pY, sp_objects, XPos, YPos);
-}
-
-#endif
-
 void DDSpriteBuffer_BltImg(int pX, int pY, int graphic, int sync_frame)
 {
   struct GraphicInfo_SP g;
@@ -416,48 +63,5 @@ void DDSpriteBuffer_BltImg(int pX, int pY, int graphic, int sync_frame)
 
   getGraphicSource_SP(&g, graphic, sync_frame, -1, -1);
 
-#if 0
-  printf("::: BltImg: %d, %d, %d, %d\n", pX, pY, g.src_x, g.src_y);
-#endif
-
   Blt(pX, pY, g.bitmap, g.src_x, g.src_y);
 }
-
-// Public Function GetStretchCopy(Stretch!) As DDSpriteBuffer
-// Dim SR As RECT, DR As RECT, Y%, X%, pX%, pY%, Tmp&
-// //  Set GetStretchCopy = New DDSpriteBuffer // (handle this later, if needed)
-//  If Not GetStretchCopy.CreateAtSize(Stretch * Width, Stretch * Height, mXSpriteCount, mYSpriteCount) Then
-//    Set GetStretchCopy = Nothing
-//  Else
-//    For Y = 0 To mYSpriteCount - 1
-//      pY = Y * Stretch * mSpriteHeight
-//      For X = 0 To mXSpriteCount - 1
-//        pX = X * Stretch * mSpriteWidth
-//        With DR
-//          .left = pX
-//          .top = pY
-//          .right = pX + mSpriteWidth * Stretch
-//          .bottom = pY + mSpriteHeight * Stretch
-//        End With
-//        With SR
-//          .left = mSpriteWidth * X
-//          .top = mSpriteHeight * Y
-//          .right = .left + mSpriteWidth
-//          .bottom = .top + mSpriteHeight
-//        End With
-//        Tmp = GetStretchCopy.Surface.Blt(DR, Buffer, SR, DDBLT_WAIT)
-//      Next X
-//    Next Y
-//    'GetStretchCopy.Surface.Blt DR, Buffer, DR, DDBLT_WAIT
-//  End If
-// End Function
-
-#if 0
-
-static void Class_Initialize()
-{
-  mDestXOff = 0;
-  mDestYOff = 0;
-}
-
-#endif
index 54b2df2cd8739299d33b99ea59e94a1fe7d8b529..5840a17592bd0b0e120aa7c3f25d8980a010d832 100644 (file)
 
 #include "global.h"
 
-extern void DDSpriteBuffer_BltEx(int pX, int pY, int SpritePos);
+
+extern void DDSpriteBuffer_Init();
 extern void DDSpriteBuffer_BltImg(int pX, int pY, int graphic, int sync_frame);
-extern void DDSpriteBuffer_Cls(int BackColor);
-extern boolean DDSpriteBuffer_CreateAtSize(long Width, long Height, long xSprites, long ySprites);
-extern boolean DDSpriteBuffer_CreateFromFile(char *Path, long xSprites, long ySprites);
-extern long DDSpriteBuffer_Get_DestXOff();
-extern long DDSpriteBuffer_Get_DestYOff();
-extern int DDSpriteBuffer_Get_Height();
-extern DirectDrawSurface7 DDSpriteBuffer_Get_Surface();
-extern long DDSpriteBuffer_Get_Width();
-extern void DDSpriteBuffer_Let_DestXOff(long NewVal);
-extern void DDSpriteBuffer_Let_DestYOff(long NewVal);
-extern int DDSpriteBuffer_Set_DestinationSurface(DirectDrawSurface7 DSurface);
 
 #endif /* DDSPRITEBUFFER_H */
index 49d23c5cd19d1999d2375062e88d40eaa5b8bf44..c804191fd8e3c4e89165339744fbd9851eebd630 100644 (file)
@@ -213,7 +213,8 @@ loc_g_133A:     // test if infotron may roll left
     goto loc_g_11BD;
 
   MovHighByte(&PlayField16[si], 0x50); // infotron rolls left
-  Mov(&PlayField16[si - 1], 0x8888);
+  PlayField16[si - 1] = 0x8888;
+
   return subAnimateInfotrons;
 
 loc_g_1350:     // test if infotron may roll right
@@ -221,7 +222,8 @@ loc_g_1350:     // test if infotron may roll right
     return subAnimateInfotrons;
 
   MovHighByte(&PlayField16[si], 0x60); // infotron rolls right
-  Mov(&PlayField16[si + 1], 0x8888);
+  PlayField16[si + 1] = 0x8888;
+
   return subAnimateInfotrons;
 
 loc_g_1364:     // Murphy dies, but not in any case
index f44177c7f6bab040dac44d392e4e172ef449a597..731cd0fb00b72411086898528c6a2564af884a3a 100644 (file)
@@ -3290,12 +3290,6 @@ void DrawFieldNoAnimated(int X, int Y)
           Tmp = DisPlayField[tsi];
       }
 
-#if 0
-      if (TEST_flag)
-       printf("::: MainForm.c: DrawFieldNoAnimated(): %d, %d [%d]\n",
-              X, Y, Tmp);
-#endif
-
 #if 1
       if (Tmp >= 0 && Tmp <= 40)
       {
index 4679486b91860219241ac68fcb8ef8b7c39e3ab7..03424b382998c167c383af165fdcc7ac57a55a45 100644 (file)
@@ -19,9 +19,7 @@ SRCS =        init.c                  \
        vb_vars.c               \
                                \
        ASM.c                   \
-       BitMapObject.c          \
        BugsTerminals.c         \
-       Capture.c               \
        DDScrollBuffer.c        \
        DDSpriteBuffer.c        \
        Demo.c                  \
@@ -64,9 +62,7 @@ OBJS =        init.o                  \
        vb_vars.o               \
                                \
        ASM.o                   \
-       BitMapObject.o          \
        BugsTerminals.o         \
-       Capture.o               \
        DDScrollBuffer.o        \
        DDSpriteBuffer.o        \
        Demo.o                  \
index ae4fd7641cdabf3b0995e54db3cec0cfd44c7482..33421783c06d18e11889f1fe9e1ec0092fbfa46c 100644 (file)
@@ -686,7 +686,7 @@ loc_g_62E2:
   dx = aniFramesRedDisk;
   dx1 = aniRedDisk;
   MovLowByte(&RedDiskReleasePhase, 1);
-  Mov(&RedDiskReleaseMurphyPos, *si);             // remember Murphy's location
+  RedDiskReleaseMurphyPos = *si;             // remember Murphy's location
   goto loc_Split;
 
   // ==========================================================================
index f047a6102581bef34173366e364f4e415d1b5e0e..b14af7eac5845d37788bf8f03c359b0fc07703d8 100644 (file)
@@ -216,7 +216,7 @@ loc_g_0EEA:     // test if zonk may roll left
     goto loc_g_0D4C;
 
   MovHighByte(&PlayField16[si], 0x50); // zonk rolls left
-  Mov(&PlayField16[si - 1], 0x8888); // mark as zonk accessing?
+  PlayField16[si - 1] = 0x8888; // mark as zonk accessing?
   return subAnimateZonks;
 
 loc_g_0F00:     // test if zonk may roll right
@@ -224,7 +224,7 @@ loc_g_0F00:     // test if zonk may roll right
     return subAnimateZonks;
 
   MovHighByte(&PlayField16[si], 0x60); // zonk rolls right
-  Mov(&PlayField16[si + 1], 0x8888); // mark as zonk accessing?
+  PlayField16[si + 1] = 0x8888; // mark as zonk accessing?
   return subAnimateZonks;
 
 loc_g_0F14:     // Murphy dies, but not in any case
index 73a8282bfd87b370c2a0238db65b7a8554998358..4829b2f033b90def15f293f69610e33009154bca 100644 (file)
@@ -8,9 +8,7 @@
 #include "main_sp.h"
 
 #include "ASM.h"
-#include "BitMapObject.h"
 #include "BugsTerminals.h"
-#include "Capture.h"
 #include "DDScrollBuffer.h"
 #include "DDSpriteBuffer.h"
 #include "Demo.h"
index 8ac8804e9bea89880af855ede111cd0e09e5245b..f79e20b0684034bddf3d0d8f2711de3c96ac5b85 100644 (file)
@@ -3,11 +3,6 @@
 #include "global.h"
 
 
-#if 0
-Bitmap *sp_objects;
-
-#endif
-
 Bitmap *screenBitmap;
 
 struct EngineSnapshotInfo_SP engine_snapshot_sp;
@@ -40,22 +35,10 @@ void sp_open_all()
 
   Form_Load();
 
-#if 0
-  SetBitmaps_SP(&sp_objects);
-#endif
-
-#if 0
-  /* too small for oversized levels, but too big for graphics performance */
-  /* (the whole playfield is drawn/updated, not only visible/scrolled area) */
-  /* !!! FIX THIS !!! */
-  screenBitmap = CreateBitmap(60 * TILEX, 24 * TILEY,
-                              DEFAULT_DEPTH);
-#else
   screenBitmap = CreateBitmap(MAX_BUF_XSIZE * TILEX, MAX_BUF_YSIZE * TILEY,
                               DEFAULT_DEPTH);
-#endif
 
-  DDSpriteBuffer_CreateFromFile("[NONE]", 16, 16);
+  DDSpriteBuffer_Init();
 }
 
 void sp_close_all()
index 299a63b509b71ba835b250ee2071cb1d00dfc143..a5ca525e4dd8a79ff062fcbfe4ccf287dadd0330 100644 (file)
@@ -6,7 +6,6 @@
 struct GameInfo_SP game_sp;
 struct LevelInfo_SP native_sp_level;
 
-
 int GfxElementLast[SP_MAX_PLAYFIELD_WIDTH][SP_MAX_PLAYFIELD_HEIGHT];
 int GfxGraphicLast[SP_MAX_PLAYFIELD_WIDTH][SP_MAX_PLAYFIELD_HEIGHT];
 int GfxGraphic[SP_MAX_PLAYFIELD_WIDTH][SP_MAX_PLAYFIELD_HEIGHT];
@@ -42,34 +41,11 @@ void InitGameEngine_SP()
 
   InitScrollPlayfield();
 
-#if 0
-  printf(":A: %d, %d [%d, %d]\n",
-        mScrollX, mScrollY, mScrollX_last, mScrollY_last);
-#endif
-
-#if 1
   menPlay_Click();
-#else
-  menPlayDemo_Click();
-#endif
-
-#if 0
-  printf(":B: %d, %d [%d, %d]\n",
-        mScrollX, mScrollY, mScrollX_last, mScrollY_last);
-#endif
-}
-
-#if 0
-void BlitScreenToBitmap_SP(Bitmap *target_bitmap)
-{
-  DDScrollBuffer_Blt_Ext(target_bitmap);
 }
-#endif
 
 void RedrawPlayfield_SP(boolean force_redraw)
 {
-  // subDisplayLevel();
-
   if (force_redraw)
     RestorePlayfield();
 
@@ -80,28 +56,10 @@ void RedrawPlayfield_SP(boolean force_redraw)
 
 void DrawGameDoorValues_SP()
 {
-#if 1
-
   game_sp.time_played = TimerVar / setup.game_frame_delay;
   game_sp.infotrons_still_needed = InfotronsNeeded;
   game_sp.red_disk_count = RedDiskCount;
   game_sp.score = 0;           // (currently no score in Supaplex engine)
-
-#else
-
-  int infotrons_still_needed = InfotronsNeeded;
-  int red_disks = RedDiskCount;
-  int no_score_in_supaplex = 0;
-#if 1
-  int level_time_played = TimerVar / setup.game_frame_delay;
-#else
-  int level_time_played = TimerVar / 35;       /* !!! CHECK THIS !!! */
-#endif
-  int no_keys_in_supaplex = 0;
-
-  DrawAllGameValues(infotrons_still_needed, red_disks, no_score_in_supaplex,
-                   level_time_played, no_keys_in_supaplex);
-#endif
 }
 
 void GameActions_SP(byte action[MAX_PLAYERS], boolean warp_mode)
index c6cd967aaf11dff43d2dfe7e6d038119a34606ce..42e8225425cc96dc7d70c1f410a016e22ed233c5 100644 (file)
@@ -7789,11 +7789,6 @@ void getGraphicSource_SP(struct GraphicInfo_SP *g_sp,
   getGraphicSource(graphic, frame, &g_sp->bitmap, &g_sp->src_x, &g_sp->src_y);
 }
 
-boolean isRandomAnimation_SP(int graphic)
-{
-  return (ANIM_MODE(graphic) == ANIM_RANDOM);
-}
-
 boolean isNextAnimationFrame_SP(int graphic, int sync_frame)
 {
   return (IS_NEXT_FRAME(sync_frame, graphic));