return subAnimateMurphy;
#if 1
- printf("::: Murphy.c: !!!!!!!!!! GAME SOLVED !!!!!!!!!!\n");
+ if (!game_sp_info.LevelSolved)
+ printf("::: Murphy.c: !!!!!!!!!! LEVEL %d SOLVED !!!!!!!!!!\n",LevelNumber);
+#endif
+
+#if 1
+ game_sp_info.LevelSolved = TRUE;
#endif
subSoundFXExit();
loc_g_6F77:
ExitToMenuFlag = 1;
+
+#if 1
+ PlayField16[*si] = fiSpace; // remove Murphy from playfield after exiting
+#endif
+
return subAnimateMurphy;
// ==========================================================================
int i, cx, bx;
+#if 1
+ cx = LInfo.SpecialPortCount; // number of special ports
+
+ 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)
+ {
+ GravityFlag = LInfo.SpecialPort[i].Gravity;
+ FreezeZonks = LInfo.SpecialPort[i].FreezeZonks;
+ SnikSnaksElectronsFrozen = LInfo.SpecialPort[i].FreezeEnemies;
+
+ // RandomTime = RandomTime Xor RandomSeed 'is RandomTime used at all? no!
+
+ break;
+ }
+ }
+
+#else
+
cx = LInfo.SpecialPortCount; // number of special ports
for (i = 1; i <= cx; i++)
{
// RandomTime = RandomTime Xor RandomSeed 'is RandomTime used at all? no!
i = cx + 1;
}
-
}
}
+#endif
return subSpPortTest;
} // subSpPortTest