{
if (dx && choice == 1)
x = (dx < 0 ? 10 : 14);
+ else if (dx > 0)
+ {
+ if (choice == 4 || choice == 6)
+ button = MB_MENU_CHOICE;
+ }
else if (dy)
y = choice + dy;
}
action = helpanim_info[j].action;
direction = helpanim_info[j].direction;
+ if (element < 0)
+ element = EL_UNKNOWN;
+
if (action != -1 && direction != -1)
graphic = el_act_dir2img(element, action, direction);
else if (action != -1)
graphic = el_act2img(element, action);
else if (direction != -1)
- graphic = el_act2img(element, direction);
+ graphic = el_dir2img(element, direction);
else
graphic = el2img(element);
}
else
{
- if (DelayReached(&info_delay, GAME_FRAME_DELAY))
+ if (DelayReached(&info_delay, GameFrameDelay))
if (page < num_pages)
DrawInfoScreen_HelpAnim(page * anims_per_page, num_anims, FALSE);
byte tape_action[MAX_PLAYERS];
int i;
+#if 1
if (level.native_em_level->lev->home == 0) /* all players at home */
{
+ local_player->LevelSolved = TRUE;
+ AllPlayersGone = TRUE;
+
+ level.native_em_level->lev->home = -1;
+ }
+
+ if (local_player->LevelSolved)
GameWon();
- if (!TAPE_IS_STOPPED(tape))
+ if (AllPlayersGone && !TAPE_IS_STOPPED(tape))
+ TapeStop();
+
+ if (game_status != GAME_MODE_PLAYING)
+ return;
+#else
+ if (level.native_em_level->lev->home == 0) /* all players at home */
+ {
+ if (local_player->LevelSolved)
+ GameWon();
+
+ if (AllPlayersGone && !TAPE_IS_STOPPED(tape))
TapeStop();
if (game_status != GAME_MODE_PLAYING)
return;
}
+#endif
- if (level.native_em_level->ply1->alive == 0 &&
- level.native_em_level->ply2->alive == 0) /* all dead */
+ if (level.native_em_level->ply[0]->alive == 0 &&
+ level.native_em_level->ply[1]->alive == 0 &&
+ level.native_em_level->ply[2]->alive == 0 &&
+ level.native_em_level->ply[3]->alive == 0) /* all dead */
AllPlayersGone = TRUE;
if (AllPlayersGone && !TAPE_IS_STOPPED(tape))
if (tape.recording)
TapeRecordAction(tape_action);
+#if 1
+ {
+ byte effective_action[MAX_PLAYERS];
+
+ for (i = 0; i < MAX_PLAYERS; i++)
+ effective_action[i] = stored_player[i].effective_action;
+
+ GameActions_EM(effective_action);
+ }
+#else
GameActions_EM(local_player->effective_action);
+#endif
if (TimeFrames >= FRAMES_PER_SECOND)
{