projects
/
rocksndiamonds.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
added flags for "level solved" and "game over" to EM engine
[rocksndiamonds.git]
/
src
/
game.c
diff --git
a/src/game.c
b/src/game.c
index 2fb1b686c7ae07a5482a68cc21e459993164d4b1..12397d5c4f262cf5367957a8c78e32c06f37f081 100644
(file)
--- a/
src/game.c
+++ b/
src/game.c
@@
-11117,34
+11117,32
@@
static void CheckLevelSolved(void)
{
if (level.game_engine_type == GAME_ENGINE_TYPE_EM)
{
{
if (level.game_engine_type == GAME_ENGINE_TYPE_EM)
{
- if (level.native_em_level->lev->home == 0) // all players at home
+ if (game_em.level_solved &&
+ !game_em.game_over) // game won
{
PlayerWins(local_player);
{
PlayerWins(local_player);
-
AllPlayersGone
= TRUE;
+
game_em.game_over
= TRUE;
-
level.native_em_level->lev->home = -1
;
+
AllPlayersGone = TRUE
;
}
}
- 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
+ if (game_em.game_over) // game lost
AllPlayersGone = TRUE;
}
else if (level.game_engine_type == GAME_ENGINE_TYPE_SP)
{
AllPlayersGone = TRUE;
}
else if (level.game_engine_type == GAME_ENGINE_TYPE_SP)
{
- if (game_sp.
LevelS
olved &&
- !game_sp.
GameOver)
// game won
+ if (game_sp.
level_s
olved &&
+ !game_sp.
game_over)
// game won
{
PlayerWins(local_player);
{
PlayerWins(local_player);
- game_sp.
GameO
ver = TRUE;
+ game_sp.
game_o
ver = TRUE;
AllPlayersGone = TRUE;
}
AllPlayersGone = TRUE;
}
- if (game_sp.
GameOver)
// game lost
+ if (game_sp.
game_over)
// game lost
AllPlayersGone = TRUE;
}
else if (level.game_engine_type == GAME_ENGINE_TYPE_MM)
AllPlayersGone = TRUE;
}
else if (level.game_engine_type == GAME_ENGINE_TYPE_MM)
@@
-15041,9
+15039,9
@@
boolean checkGameFailed(void)
return FALSE;
if (level.game_engine_type == GAME_ENGINE_TYPE_EM)
return FALSE;
if (level.game_engine_type == GAME_ENGINE_TYPE_EM)
- return (
level.native_em_level->lev->home > 0
);
+ return (
game_em.game_over && !game_em.level_solved
);
else if (level.game_engine_type == GAME_ENGINE_TYPE_SP)
else if (level.game_engine_type == GAME_ENGINE_TYPE_SP)
- return (game_sp.
GameOver && !game_sp.LevelS
olved);
+ return (game_sp.
game_over && !game_sp.level_s
olved);
else if (level.game_engine_type == GAME_ENGINE_TYPE_MM)
return (game_mm.game_over && !game_mm.level_solved);
else // GAME_ENGINE_TYPE_RND
else if (level.game_engine_type == GAME_ENGINE_TYPE_MM)
return (game_mm.game_over && !game_mm.level_solved);
else // GAME_ENGINE_TYPE_RND