projects
/
rocksndiamonds.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
rnd-20040822-3-src
[rocksndiamonds.git]
/
src
/
game_em
/
input.c
diff --git
a/src/game_em/input.c
b/src/game_em/input.c
index 9c1681ffded48cf3e199ddab69ab451bc28c1dda..81fa95ea4af8f4524e37312f746839ce6b859f41 100644
(file)
--- a/
src/game_em/input.c
+++ b/
src/game_em/input.c
@@
-150,18
+150,28
@@
void game_init_vars(void)
input_pause = 1 * 0;
}
input_pause = 1 * 0;
}
-int game_play_init(int
player_level
)
+int game_play_init(int
level_nr, char *filename
)
{
{
- char name[MAXNAME+2];
+ if (filename != NULL)
+ {
+ player_level = level_nr;
+
+ if (cave_convert(filename) != 0)
+ return 1;
+ }
+ else /* !!! SOON OBSOLETE !!! */
+ {
+ char name[MAXNAME+2];
- name[MAXNAME] = 0;
- snprintf(name, MAXNAME+2, "%s/lev%02d", EM_LVL_DIR, player_level);
+
name[MAXNAME] = 0;
+
snprintf(name, MAXNAME+2, "%s/lev%02d", EM_LVL_DIR, player_level);
- if (name[MAXNAME])
- snprintf_overflow("read a level in cave/");
+
if (name[MAXNAME])
+
snprintf_overflow("read a level in cave/");
- if (cave_convert(name) != 0)
- return 1;
+ if (cave_convert(name) != 0)
+ return 1;
+ }
game_initscreen();
game_blitscore();
game_initscreen();
game_blitscore();
@@
-321,7
+331,7
@@
int game_loop(byte action)
/* start playing */
em_game_status = EM_GAME_STATUS_PLAY;
/* start playing */
em_game_status = EM_GAME_STATUS_PLAY;
- if (game_play_init(player_level) != 0)
+ if (game_play_init(player_level
, NULL
) != 0)
em_game_status = EM_GAME_STATUS_MENU;
}
}
em_game_status = EM_GAME_STATUS_MENU;
}
}