X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fscreens.c;h=58a9afae8ab2a8e3b0235f253b5690a2cf169263;hb=cc76b9b12e99bc807966f4e59a4842d3d1ec8b3a;hp=1bc0dcd66283c6d5e76b817d3a29800ad2141da1;hpb=6dd9fc6c52279ac26e40ca3f196e22cd1eb4c686;p=rocksndiamonds.git diff --git a/src/screens.c b/src/screens.c index 1bc0dcd6..58a9afae 100644 --- a/src/screens.c +++ b/src/screens.c @@ -4341,6 +4341,9 @@ static int getAlignYOffsetFromTreeInfo(TreeInfo *ti) static void StartPlayingFromHallOfFame(void) { + level_nr = scores.next_level_nr; + LoadLevel(level_nr); + StartGameActions(network.enabled, setup.autorecord, level.random_seed); } @@ -4359,7 +4362,11 @@ static void DrawChooseTree(TreeInfo **ti_ptr) { execSetupArtwork(); } - else // GAME_MODE_LEVELS + else if (game_status == GAME_MODE_SCORES && scores.continue_playing) + { + StartPlayingFromHallOfFame(); + } + else { SetGameStatus(GAME_MODE_MAIN); @@ -4898,6 +4905,7 @@ static void HandleChooseTree(int mx, int my, int dx, int dy, int button, node_cursor->cl_first = ti->cl_first; node_cursor->cl_cursor = ti->cl_cursor; + *ti_ptr = node_cursor->node_group; DrawChooseTree(ti_ptr); @@ -4911,6 +4919,7 @@ static void HandleChooseTree(int mx, int my, int dx, int dy, int button, PlaySound(SND_MENU_ITEM_SELECTING); *ti_ptr = ti->node_parent; + DrawChooseTree(ti_ptr); return; @@ -4989,6 +4998,7 @@ static void HandleChooseTree(int mx, int my, int dx, int dy, int button, node_cursor->cl_first = ti->cl_first; node_cursor->cl_cursor = ti->cl_cursor; + *ti_ptr = node_cursor->node_group; DrawChooseTree(ti_ptr); } @@ -5007,6 +5017,7 @@ static void HandleChooseTree(int mx, int my, int dx, int dy, int button, node_cursor->cl_first = ti->cl_first; node_cursor->cl_cursor = ti->cl_cursor; + *ti_ptr = node_cursor; if (ti->type == TREE_TYPE_LEVEL_DIR) @@ -5300,6 +5311,9 @@ static void DrawHallOfFame_setScoreEntries(void) if (score_entry_current == NULL) score_entry_current = getFirstValidTreeInfoEntry(score_entries); + if (score_entries != NULL && scores.last_added >= 0) + setString(&score_entries->node_group->name, BACKLINK_TEXT_NEXT); + // ("score_entries" and "score_entry_current" may be NULL here) }