mirror of
https://github.com/zenorogue/hyperrogue.git
synced 2024-12-29 19:40:35 +00:00
racing:: failure now uses gamegen_failure flag -- no more game starting multiple times
This commit is contained in:
parent
cd01e6bbf1
commit
04f26cdf1d
@ -206,9 +206,8 @@ void generate_track() {
|
||||
traversed++;
|
||||
if(cellbydist.empty()) {
|
||||
printf("reset after traversing %d\n", traversed);
|
||||
stop_game();
|
||||
race_try++;
|
||||
start_game();
|
||||
gamegen_failure = true;
|
||||
return;
|
||||
}
|
||||
auto it = cellbydist.end();
|
||||
@ -435,9 +434,8 @@ void generate_track() {
|
||||
}
|
||||
if(!goal) {
|
||||
printf("error: goal unreachable\n");
|
||||
stop_game();
|
||||
gamegen_failure = true;
|
||||
race_try++;
|
||||
start_game();
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
10
system.cpp
10
system.cpp
@ -22,6 +22,8 @@ bool timerstopped;
|
||||
int savecount;
|
||||
bool showoff = false, doCross = false;
|
||||
|
||||
bool gamegen_failure;
|
||||
|
||||
eLand top_land;
|
||||
|
||||
bool verless(string v, string cmp) {
|
||||
@ -98,6 +100,7 @@ hookset<void()> *hooks_initgame;
|
||||
|
||||
// initialize the game
|
||||
void initgame() {
|
||||
restart:
|
||||
DEBB(DF_INIT, (debugfile,"initGame\n"));
|
||||
callhooks(hooks_initgame);
|
||||
|
||||
@ -106,6 +109,8 @@ void initgame() {
|
||||
multi::whereto[0].d = MD_UNDECIDED;
|
||||
multi::cpid = 0;
|
||||
|
||||
gamegen_failure = false;
|
||||
|
||||
yendor::init(1);
|
||||
|
||||
if(safety && safetyseed) {
|
||||
@ -183,6 +188,11 @@ void initgame() {
|
||||
if(racing::on) racing::generate_track();
|
||||
#endif
|
||||
|
||||
if(gamegen_failure) {
|
||||
stop_game();
|
||||
goto restart;
|
||||
}
|
||||
|
||||
clear_euland(specialland);
|
||||
|
||||
if(euclid && specialland == laPrincessQuest) {
|
||||
|
Loading…
Reference in New Issue
Block a user