Viewing Issue Simple Details Jump to Notes ] Wiki ] View Advanced ] Issue History ] Print ]
ID Category Severity Reproducibility Date Submitted Last Update
0006567 [DCSS] Implementables text N/A 2013-01-25 19:32 2013-05-25 05:28
Reporter UnknownKirbyMan View Status public  
Assigned To neil
Priority normal Resolution done  
Status resolved   Product Branch 0.12 ancient branch
Summary 0006567: Separate high score tables for each Sprint map
Description No matter which sprint level you play, the scores for all seven share the same highscore list, showing the level of death as (Dungeon).

Ideally each sprint map should have its own list.
Additional Information
Tags sprint
Attached Files ? file icon 0001-seperate-sprint-save-files.patch [^] (3,306 bytes) 2013-05-24 19:38 [Show Content]

- Relationships

-  Notes
(0021048)
Bloax (reporter)
2013-02-17 00:51

I would much prefer that they have individual lists, because while it's hilarious to have the four topscores with the maximum score on the CSZO sprint highscore list - it doesn't really make sense because this score is only achievable in a certain sprint. And not all of them as the current implementation lists.
(0021051)
neil (administrator)
2013-02-17 05:51

Especially now that sprints can have their own scoring functions, and one (Thunderdome) already does.
(0022269)
MarvinPA (developer)
2013-04-12 17:06

Turned this into an implementable, it'd definitely be nice to have separate high score lists per map. No clue on how easy that is to get working but maybe someone feels like patching it!
(0022674)
LexAckson (reporter)
2013-05-15 21:24

I'm forget how to make a good patch in git, but this should do it.

diff --git a/crawl-ref/source/hiscores.cc b/crawl-ref/source/hiscores.cc
index 4864ee2..3b1d79b 100644
--- a/crawl-ref/source/hiscores.cc
+++ b/crawl-ref/source/hiscores.cc
@@ -87,6 +87,10 @@ static string _score_file_name()
         ret = Options.shared_dir + "scores";

     ret += crawl_state.game_type_qualifier();
+ if(crawl_state.game_is_sprint())
+ {
+ ret += "-" + dgn_vault_at(you.pos())->map.name;
+ }

     return ret;
 }
(0022680)
LexAckson (reporter)
2013-05-17 00:15

I got some advice from |amethyst and mumra.

Uploaded a new patch.
(0022682)
mumra (developer)
2013-05-17 02:22

SamB pointed out in ##crawl-dev that ZotDef could use this as well, the map name is also in crawl_state.map so it should be easy. Also see |amethyst's message about parenthesis.

I have a multi-level sprint patch ready to go once this save persistence is in!
(0022683)
LexAckson (reporter)
2013-05-17 03:07

Got it. Thanks guys. New patch uploaded.
(0022795)
neil (administrator)
2013-05-24 00:23

As SamB pointed out in IRC, for old saves we need to somehow recover the map name from <root_branch>:1's primary vault, or we'll get things like "scores-sprint-tutorial_lesson1" for upgraded games.
(0022806)
neil (administrator)
2013-05-25 02:50

Applied in trunk (0.13-a0-904-g561cc53), with changes to account for the fact that the change affects TAG_CHR and therefore has to go to the end to keep old versions from misdisplaying newer saves in the save list.

Also, I removed the score file separation for zotdef (but kept the marshalling of the map name): there's no real difference in scoring among the zotdef scenarios, since they only change the map, not the timing of waves and runes.

Finally, I made a number of whitespace and other formatting fixes.
(0022807)
neil (administrator)
2013-05-25 03:13
edited on: 2013-05-25 03:16

There are still some problems with the high-score list:

1. sprint -sprint -tscores only looks at the default file, even if you give a -sprint-map option on the command line, because crawl_state.map hasn't been set (only crawl_state.sprint_map).

2. The in-game high scores menu looks at whichever file corresponds to the map from the last save (because the char section was read when building the list of saves). If the last save in the list is zotdef or tutorial, that means it will be a completely wrong name and there won't be a scores file; if it was plain crawl, we'll get the old sprint scores file; and if it was sprint we'll get the scores file for that game's map. We should use -sprint-map here as well.

One fix might be to change the location where we set crawl_state.map from crawl_state.sprint_map—or it might be necessary to do that in more than one place in the code.

(0022808)
neil (administrator)
2013-05-25 05:27

Fixed the High Scores menu and -scores options (0.13-a0-905-gfe9f4d5) by setting crawl_state.map from crawl_state.sprint_map (the -sprint-map command line argument) in those situations.

It would still be nice to have a way to select different game types and maps in the High Scores menu, instead of requiring command-line options. That's an implementable for another day.

- Issue History
Date Modified Username Field Change
2013-01-25 19:32 UnknownKirbyMan New Issue
2013-01-25 19:33 UnknownKirbyMan Tag Attached: sprint
2013-02-17 00:51 Bloax Note Added: 0021048
2013-02-17 05:51 neil Note Added: 0021051
2013-04-12 17:06 MarvinPA Note Added: 0022269
2013-04-12 17:06 MarvinPA Category Documentation => Implementables
2013-04-12 17:06 MarvinPA Summary Sprint Highscore list => Separate high score tables for each Sprint map
2013-04-12 17:06 MarvinPA Description Updated
2013-05-15 21:24 LexAckson Note Added: 0022674
2013-05-17 00:15 LexAckson File Added: separate_sprint_scores.patch
2013-05-17 00:15 LexAckson Note Added: 0022680
2013-05-17 02:22 mumra Note Added: 0022682
2013-05-17 03:06 Wensleydale File Deleted: separate_sprint_scores.patch
2013-05-17 03:07 LexAckson File Added: separate_sprint_scores.patch
2013-05-17 03:07 LexAckson Note Added: 0022683
2013-05-24 00:23 neil Note Added: 0022795
2013-05-24 19:37 neil File Deleted: separate_sprint_scores.patch
2013-05-24 19:38 LexAckson File Added: 0001-seperate-sprint-save-files.patch
2013-05-25 02:50 neil Note Added: 0022806
2013-05-25 02:50 neil Status new => resolved
2013-05-25 02:50 neil Fixed in Branch => 0.13 development branch
2013-05-25 02:50 neil Resolution open => done
2013-05-25 02:50 neil Assigned To => neil
2013-05-25 03:13 neil Note Added: 0022807
2013-05-25 03:13 neil Status resolved => new
2013-05-25 03:13 neil Resolution done => reopened
2013-05-25 03:14 neil Status new => assigned
2013-05-25 03:16 neil Note Edited: 0022807
2013-05-25 05:27 neil Note Added: 0022808
2013-05-25 05:27 neil Status assigned => resolved
2013-05-25 05:27 neil Resolution reopened => done


Mantis 1.1.8[^]
Copyright © 2000 - 2009 Mantis Group
Powered by Mantis Bugtracker