I’ve been wanting to be able to sort by the accuracy of my highest scoring play for a map, but the general consensus in the old feature requests is no. Since it’s not going to happen, I thought, why not do it myself?
I mean how hard can it be? (right?)
Well I can tell you it isn’t easy for somebody with no programming experience, however, I found a way to do just what I wanted. Regretfully it is a very cumbersome and roundabout way of doing it.
Special thanks:
marcin for his tip to use a hexadecimal capable program to read the files.
Piotrekol for a more accurate breakdown of the score structure in scores.db
Also cheers for peppy and his very efficient way of coding the scores.db file.
Here's the play by play:
Version 2: Added translation for the string in excel, removing 1 step. Also added ability to check for full combo (FC).
1 Locate the scores.db file in your osu directory and make a copy of it.
2 Open the copy in notepad++ and use the hexadecimal plugin (link below) to view the file in its original code. Copy all the columns with numbers except for the address and dump column (first and last one)
3 Paste in word or similar text editor and replace the following: d0 08 ff ff ff ff by ^p d0 08 ff ff ff ff and 0b 20 by 0b 20 ^t (I did this in word, this may differ in other applications, the idea is to create a new paragraph with ^p and insert a tab with ^t)
4 Select all the text in the word file and paste it in cel A3 of the excel file (link below) [This file was made in an excel with the dutch language]
5 Don't freak out, only your highest scoring plays are processed, the rest all show N/A. (You may need to make sure that the table expands properly)
6 You can now use the low->high sort of the accuracy column, or the FC colum (1 stands for FC)
6.5 In some rare instances, scores may give odd numbers here, this is due to an unknown extra string in the db file. Because of this all the data processing is wrong and you can't find this score for that song.
7 Once you found the score of interest, you need to find the song related to it, to do this, go to the Map name column of that score and copy the number/letter sequence present in that cell.
8 Go to the osu directory and use search to find the letter/number sequence. You will get a series of results depending on the number of times you played the song.
9 Open any one of the files while osu is running in the background and presto you have the song you want. Now you only need to look for the correct difficulty and you can start improving it.
Notes:
As mentioned earlier, some song scores will give odd numbers or won't work, I don't know how to fix it, common sense applies.
This method also includes unranked plays & offline plays; I have no way of separating them at the moment.
You can only find songs of which you have replays of and the scores present on your current pc/computer. If you did not copy all these files when you changed to a new device, old score info will be lost and cannot be recovered.
Links:
Excel file: https://www.dropbox.com/s/xwk3o06prwy0f ... 0sort.xlsx
Notepad plugin: http://en.sourceforge.jp/projects/sfnet ... I_dll.zip/
I mean how hard can it be? (right?)
Well I can tell you it isn’t easy for somebody with no programming experience, however, I found a way to do just what I wanted. Regretfully it is a very cumbersome and roundabout way of doing it.
Special thanks:
marcin for his tip to use a hexadecimal capable program to read the files.
Piotrekol for a more accurate breakdown of the score structure in scores.db
Also cheers for peppy and his very efficient way of coding the scores.db file.
Here's the play by play:
Version 2: Added translation for the string in excel, removing 1 step. Also added ability to check for full combo (FC).
1 Locate the scores.db file in your osu directory and make a copy of it.
2 Open the copy in notepad++ and use the hexadecimal plugin (link below) to view the file in its original code. Copy all the columns with numbers except for the address and dump column (first and last one)
3 Paste in word or similar text editor and replace the following: d0 08 ff ff ff ff by ^p d0 08 ff ff ff ff and 0b 20 by 0b 20 ^t (I did this in word, this may differ in other applications, the idea is to create a new paragraph with ^p and insert a tab with ^t)
4 Select all the text in the word file and paste it in cel A3 of the excel file (link below) [This file was made in an excel with the dutch language]
5 Don't freak out, only your highest scoring plays are processed, the rest all show N/A. (You may need to make sure that the table expands properly)
6 You can now use the low->high sort of the accuracy column, or the FC colum (1 stands for FC)
6.5 In some rare instances, scores may give odd numbers here, this is due to an unknown extra string in the db file. Because of this all the data processing is wrong and you can't find this score for that song.
7 Once you found the score of interest, you need to find the song related to it, to do this, go to the Map name column of that score and copy the number/letter sequence present in that cell.
8 Go to the osu directory and use search to find the letter/number sequence. You will get a series of results depending on the number of times you played the song.
9 Open any one of the files while osu is running in the background and presto you have the song you want. Now you only need to look for the correct difficulty and you can start improving it.
Notes:
As mentioned earlier, some song scores will give odd numbers or won't work, I don't know how to fix it, common sense applies.
This method also includes unranked plays & offline plays; I have no way of separating them at the moment.
You can only find songs of which you have replays of and the scores present on your current pc/computer. If you did not copy all these files when you changed to a new device, old score info will be lost and cannot be recovered.
Links:
Excel file: https://www.dropbox.com/s/xwk3o06prwy0f ... 0sort.xlsx
Notepad plugin: http://en.sourceforge.jp/projects/sfnet ... I_dll.zip/