rnd-20091112-1-src
[rocksndiamonds.git] / src / game_sp / Murphy.c
index bfe6854a6264ffac33e667d0b9f2da128b2b6e5a..c50ecb87f68273d4a3b38d95e1f1bbf3c5ec4cf6 100644 (file)
@@ -932,7 +932,12 @@ loc_g_6756:
     return subAnimateMurphy;
 
 #if 1
-  printf("::: Murphy.c: !!!!!!!!!! LEVEL %d SOLVED !!!!!!!!!!\n", LevelNumber);
+  if (!game_sp_info.LevelSolved)
+    printf("::: Murphy.c: !!!!!!!!!! LEVEL %d SOLVED !!!!!!!!!!\n",LevelNumber);
+#endif
+
+#if 1
+  game_sp_info.LevelSolved = TRUE;
 #endif
 
   subSoundFXExit();
@@ -1815,6 +1820,11 @@ loc_g_6F3B:
 
 loc_g_6F77:
   ExitToMenuFlag = 1;
+
+#if 1
+  PlayField16[*si] = fiSpace;  // remove Murphy from playfield after exiting
+#endif
+
   return subAnimateMurphy;
 
   // ==========================================================================
@@ -2333,8 +2343,14 @@ int subSpPortTest(int si)
 
   for (i = 0; i < cx; i++)
   {
+#if 1
+    /* this assumes that PortLocation is stored as big endian */
+    bx = LInfo.SpecialPort[i].PortLocation;
+#else
+    /* this assumes that PortLocation is stored as little endian */
     bx = HighByte(LInfo.SpecialPort[i].PortLocation);
     MovHighByte(&bx, LowByte(LInfo.SpecialPort[i].PortLocation));
+#endif
 
     if (bx / 2 == si)
     {