rnd-20090919-1-src
authorHolger Schemel <info@artsoft.org>
Sat, 19 Sep 2009 00:12:55 +0000 (02:12 +0200)
committerHolger Schemel <info@artsoft.org>
Sat, 30 Aug 2014 08:57:37 +0000 (10:57 +0200)
src/conftime.h
src/game_sp/ASM.c
src/game_sp/BugsTerminals.c
src/game_sp/Globals.c
src/game_sp/vb_lib.c
src/screens.c

index 4639ce8ed64d196daa5419f3247cbd4a5a21fa7d..b0b6875e204d31e88cf5ab4b7d1acfafaa5cc95b 100644 (file)
@@ -1 +1 @@
-#define COMPILE_DATE_STRING "2009-08-01 00:01"
+#define COMPILE_DATE_STRING "2009-09-19 02:10"
index 6f0484ae766b062dc7ca09a6c25be4bb939a220e..24d4c2f65d8c64d02a3e81be762ee76edea5b7b8 100644 (file)
@@ -69,7 +69,11 @@ int HighByte(int Var)
 
 int SgnHighByte(int Var) // extends the signum to 16 bit
 {
+#if 1
+  short SgnHighByte;
+#else
   int SgnHighByte;
+#endif
 
   if (Var & 0x8000)
   {
index f31e6d8c77f753dfe1efa9d155e897bbf623fe91..4847b92e1a25c843012b5b2032201e2489563e90 100644 (file)
@@ -150,6 +150,15 @@ int subRandomize()
   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
+
   return subRandomize;
 } // subRandomize
 
@@ -175,6 +184,7 @@ int subGetRandomNumber()
     RandomSeed = RandomSeed | 0x8000;
 
   subGetRandomNumber = Tmp / 2;
+
   //  Mov ax, randomseed
   //  Mov bx, &H5E5
   //  mul bx                          ' dx:ax = reg * ax
index daade3fec70b8f9d5283cc42d55f713a8485e7ba..8bd2e450d02fc680bd3860d81b6aa91f0d8e24e1 100644 (file)
@@ -326,6 +326,10 @@ int GetStretchY(int si)
 
 void ReadLevel()
 {
+#if 1
+  static char CurPathTEST[1024];
+#endif
+
   // int FNum;
   FILE *FNum;
   long i;
@@ -333,13 +337,22 @@ void ReadLevel()
 
 #if 1
   // CurPath = "/home/aeglos/projects/rocksndiamonds/levels/TEST_supaplex/supaplex/levels.dat";
+
+#if 0
   CurPath = "/home/aeglos/projects/rocksndiamonds/supaplex_demo_JENS0001.sp";
   LevelNumber = 1;
+#else
+  sprintf(CurPathTEST, "/home/aeglos/projects/Level_Stuff/SUPAPLEX/SUPAPLEX_LEVELS/solve00/JENS%04d.SP", level_nr);
+  CurPath = CurPathTEST;
+  LevelNumber = level_nr;
+#endif
+
 #endif
 
   DemoAvailable = False;
 
-  if (STRING_IS_LIKE(CurPath, "*.mpx"))
+  if (STRING_IS_LIKE(CurPath, "*.mpx") ||
+      STRING_IS_LIKE(CurPath, "*.MPX"))
   {
     printf("::: reading MPX file ...\n");
 
@@ -347,7 +360,8 @@ void ReadLevel()
     return;
   }
 
-  if (STRING_IS_LIKE(CurPath, "*.sp"))
+  if (STRING_IS_LIKE(CurPath, "*.sp") ||
+      STRING_IS_LIKE(CurPath, "*.SP"))
   {
     printf("::: reading SP file ...\n");
 
@@ -462,6 +476,12 @@ static void ReadDemo()
   int i;
   // byte T;
 
+  int RecordNumber = LevelNumber;
+
+#if 1
+  RecordNumber = 1;    // always "1" for "*.sp" style one level/demo files
+#endif
+
   FieldWidth = 60;
   FieldHeight = 24;
   HeaderSize = 96;
@@ -480,14 +500,14 @@ static void ReadDemo()
 
   FNum = fopen(CurPath, "rb");
 
-  i = (LevelNumber - 1) * ((long)(FieldMax) + 1) + 1;
+  i = (RecordNumber - 1) * ((long)(FieldMax) + 1) + 1;
 #if 1
   FILE_GET(FNum, i, PlayField8, FileMax + 1);
 #else
   FILE_GET(FNum, i, &PlayField8, sizeof(PlayField8));
 #endif
 
-  i = (LevelNumber) * ((long)(FieldMax) + 1) + 1 - HeaderSize;
+  i = (RecordNumber) * ((long)(FieldMax) + 1) + 1 - HeaderSize;
   FILE_GET(FNum, i, &LInfo, sizeof(LInfo)); // store level info in an extra structure
 
   fclose(FNum);
@@ -528,6 +548,27 @@ static void ReadDemo()
 
   RandomSeed = LInfo.DemoRandomSeed;
 
+#if 1
+  printf("::: RandomSeed == %d\n", RandomSeed);
+
+#if 1
+  {
+    int i;
+
+    for (i = 0; i < 10; i++)
+      printf("::: TEST random number: %d\n", subGetRandomNumber());
+
+    int buffer, value = -3;
+
+    MovHighByte(&buffer, value);
+    value = SgnHighByte(buffer);
+
+    printf("::: TEST: 0x%08x / %d\n", value, value);
+  }
+#endif
+
+#endif
+
   LevelLoaded = True;
 
   return;
index fa1ef2c64cf312c0dc2d4ccc2687b8247f6dc441..d88c8e36061e3d3d67685232923c4c8df4f15e2b 100644 (file)
@@ -179,7 +179,7 @@ int FileLen(char *a)
 
 long GetTickCount()
 {
-  return 0;
+  return random_linux_libc(RANDOM_SIMPLE);
 }
 
 int GetAttr(char *a)
index 60bba4561f390f7af8f3bc768ca9bcf12b8d9ef8..884854e53c03679e30d66c8c9896c108365168e0 100644 (file)
@@ -2637,8 +2637,15 @@ static void DrawInfoScreen_CreditsScreen(int screen_nr)
                      "Thanks to");
     DrawTextSCentered(ystart2 + 1 * ystep, FONT_TEXT_3,
                      "David Tritscher");
+#if 1
+    DrawTextSCentered(ystart2 + 2 * ystep, FONT_TEXT_2,
+                     "for the code base used for the");
+    DrawTextSCentered(ystart2 + 3 * ystep, FONT_TEXT_2,
+                     "native Emerald Mine engine");
+#else
     DrawTextSCentered(ystart2 + 2 * ystep, FONT_TEXT_2,
                      "for the new Emerald Mine engine");
+#endif
   }
   else if (screen_nr == 7)
   {