47 |
// LevelPack interface |
// LevelPack interface |
48 |
void reinit(); |
void reinit(); |
49 |
|
|
50 |
string name() const { return m_name; } |
string get_name() const { return m_name; } |
51 |
size_t size() const { return m_levels.size(); } |
size_t size() const { return m_levels.size(); } |
52 |
|
|
53 |
bool load_level (size_t index) |
bool load_level (size_t index) |
296 |
player::LevelFinished(); // remove player-controlled actors |
player::LevelFinished(); // remove player-controlled actors |
297 |
|
|
298 |
options::SetLevelFinished |
options::SetLevelFinished |
299 |
(level_pack->name(), |
(level_pack->get_name(), |
300 |
level_pack->get_info(icurrent_level)->filename, |
level_pack->get_info(icurrent_level)->filename, |
301 |
DIFFICULTY_HARD); |
DIFFICULTY_HARD); |
302 |
|
|
335 |
} |
} |
336 |
else { |
else { |
337 |
LevelInfo *info = level_pack->get_info(next_level); |
LevelInfo *info = level_pack->get_info(next_level); |
338 |
options::LevelStatus *ls = options::GetLevelStatus(level_pack->name(), info->filename); |
options::LevelStatus *ls = options::GetLevelStatus(level_pack->get_name(), |
339 |
|
info->filename); |
340 |
|
|
341 |
if (info->filename == "todo") |
if (info->filename == "todo") |
342 |
goto try_next; // Skip todo levels |
goto try_next; // Skip todo levels |
406 |
case LEVELINFO: { |
case LEVELINFO: { |
407 |
// show level information (name, author, etc.) |
// show level information (name, author, etc.) |
408 |
string disp = displayedLevelInfo(level_pack->get_info(icurrent_level)); |
string disp = displayedLevelInfo(level_pack->get_info(icurrent_level)); |
409 |
display::GetStatusBar()->show_text(disp.c_str(), display::TEXT_5SECONDS); |
display::GetStatusBar()->show_text(disp.c_str(), |
410 |
|
display::TEXT_5SECONDS, |
411 |
|
true); // may interrupt |
412 |
change_state(LEVELINIT); |
change_state(LEVELINIT); |
413 |
break; |
break; |
414 |
} |
} |
762 |
} |
} |
763 |
|
|
764 |
bool enigma::ConserveLevel = false; |
bool enigma::ConserveLevel = false; |
765 |
int enigma::Difficulty = 1; |
int enigma::Difficulty = DIFFICULTY_HARD; |
766 |
bool enigma::ShowMoves = false; |
bool enigma::ShowMoves = false; |
767 |
|
|
768 |
px::Surface * |
px::Surface * |