/* this switch controls how rocks move horizontally */
#define OLD_GAME_BEHAVIOUR FALSE
+/* EXPERIMENTAL STUFF */
+#define USE_NEW_AMOEBA_CODE FALSE
+
/* for DigField() */
#define DF_NO_PUSH 0
#define DF_DIG 1
StorePlayer[x][y] = Feld[x][y];
- if (options.verbose)
+ if (options.debug)
{
printf("Player %d activated.\n", player->element_nr);
printf("[Local player is %d and currently %s.]\n",
boolean emulate_sb = TRUE; /* unless non-SOKOBAN elements found */
boolean emulate_sp = TRUE; /* unless non-SUPAPLEX elements found */
+#if DEBUG
+#if USE_NEW_AMOEBA_CODE
+ printf("Using new amoeba code.\n");
+#else
+ printf("Using old amoeba code.\n");
+#endif
+#endif
+
/* don't play tapes over network */
network_playing = (options.network && !tape.playing);
tape.player_participates[i] = TRUE;
}
- if (options.verbose)
+ if (options.debug)
{
for (i=0; i<MAX_PLAYERS; i++)
{
KeyboardAutoRepeatOff();
- if (options.verbose)
+ if (options.debug)
{
for (i=0; i<4; i++)
printf("Player %d %sactive.\n",
if (TimeLeft)
{
- if (setup.sound_loops)
+ if (!tape.playing && setup.sound_loops)
PlaySoundExt(SND_SIRR, PSND_MAX_VOLUME, PSND_MAX_RIGHT, PSND_LOOP);
while(TimeLeft > 0)
{
- if (!setup.sound_loops)
+ if (!tape.playing && !setup.sound_loops)
PlaySoundStereo(SND_SIRR, PSND_MAX_RIGHT);
if (TimeLeft > 0 && !(TimeLeft % 10))
RaiseScore(level.score[SC_ZEITBONUS]);
TimeLeft--;
DrawText(DX_TIME, DY_TIME, int2str(TimeLeft, 3), FS_SMALL, FC_YELLOW);
BackToFront();
- Delay(10);
+
+ if (!tape.playing)
+ Delay(10);
}
- if (setup.sound_loops)
+ if (!tape.playing && setup.sound_loops)
StopSound(SND_SIRR);
}
else if (level.time == 0) /* level without time limit */
{
- if (setup.sound_loops)
+ if (!tape.playing && setup.sound_loops)
PlaySoundExt(SND_SIRR, PSND_MAX_VOLUME, PSND_MAX_RIGHT, PSND_LOOP);
while(TimePlayed < 999)
{
- if (!setup.sound_loops)
+ if (!tape.playing && !setup.sound_loops)
PlaySoundStereo(SND_SIRR, PSND_MAX_RIGHT);
if (TimePlayed < 999 && !(TimePlayed % 10))
RaiseScore(level.score[SC_ZEITBONUS]);
TimePlayed++;
DrawText(DX_TIME, DY_TIME, int2str(TimePlayed, 3), FS_SMALL, FC_YELLOW);
BackToFront();
- Delay(10);
+
+ if (!tape.playing)
+ Delay(10);
}
- if (setup.sound_loops)
+ if (!tape.playing && setup.sound_loops)
StopSound(SND_SIRR);
}
{
static byte stored_player_action[MAX_PLAYERS];
static int num_stored_actions = 0;
+#if 0
static boolean save_tape_entry = FALSE;
+#endif
boolean moved = FALSE, snapped = FALSE, bombed = FALSE;
int left = player_action & JOY_LEFT;
int right = player_action & JOY_RIGHT;
player_action &= JOY_BUTTON;
stored_player_action[player->index_nr] = player_action;
-#if 1
save_tape_entry = TRUE;
-#endif
}
else if (tape.playing && snapped)
SnapField(player, 0, 0); /* stop snapping */
AmoebeWaechst(x, y);
else if (element == EL_DEAMOEBING)
AmoebeSchrumpft(x, y);
-#if 0
+
+#if !USE_NEW_AMOEBA_CODE
else if (IS_AMOEBALIVE(element))
AmoebeAbleger(x, y);
#endif
+
else if (element == EL_LIFE || element == EL_LIFE_ASYNC)
Life(x, y);
else if (element == EL_ABLENK_EIN)
}
}
-#if 1
- /* new experimental amoeba growth stuff*/
+#if USE_NEW_AMOEBA_CODE
+ /* new experimental amoeba growth stuff */
#if 1
if (!(FrameCounter % 8))
#endif