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)
Kate (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. |
|