X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fgame_sp%2FMurphy.c;h=a2063fda6cea7ef3c506018950f57f8fee9e843b;hb=98edd2c02783d6cf8ffe4d7aec340fe80cc8bcff;hp=a646978b61b1fb617845c383ae5c8700c698acfd;hpb=2d62255a9cc1edc3692c2597cf338ce50744da96;p=rocksndiamonds.git diff --git a/src/game_sp/Murphy.c b/src/game_sp/Murphy.c index a646978b..a2063fda 100644 --- a/src/game_sp/Murphy.c +++ b/src/game_sp/Murphy.c @@ -932,7 +932,12 @@ loc_g_6756: 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(); @@ -2328,6 +2333,34 @@ int subSpPortTest(int si) 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++) { @@ -2342,9 +2375,9 @@ int subSpPortTest(int si) // RandomTime = RandomTime Xor RandomSeed 'is RandomTime used at all? no! i = cx + 1; } - } } +#endif return subSpPortTest; } // subSpPortTest