forum

Reading old osu!.db files

posted
Total Posts
2
Topic Starter
lollllloro
Hi! I've been working on some tools to merge multiple scores.db/*.osr and collection.db files and to programmatically create "accuracy brackets" (as in https://osu.ppy.sh/forum/t/342548/start=0) for osu! to display in your collections, possibly omitting scores for conditions, e.g. beatmaps that do not appear in your osu!.db, have too low star rating, mods, last played date etc.
It reads all provided osu!.db, collection.db, scores.db and *.osr files, however, there are a few issues with this:
Assume that all the files could be successfully read in osu!, AKA are not corrupted.
It seems like the wiki: https://osu.ppy.sh/help/wiki/osu!_File_Formats/Db_(file_format) does not cover everything there is to reading these db files (why can't the article be edited?) the wiki has no mention of the things below:
score format (scores.db / *.osr): this version specific behaviour: (lines 86-91) https://github.com/ppy/osu/blob/384b8c060004ff1205dc192bdbc9a0d09eb6eb5e/osu.Game/Rulesets/Scoring/ScoreStore.cs#L86
osu!.db: There seems to be some kind of "stub beatmaps", placeholder beatmaps with most of the values fixed. I experienced them after their *.osu files were deleted, but their directory remained in Songs.
osu!.db: It seems like some version (20160403 < version <= 20161101) introduced the beatmap entry length variable.
osu!.db: It seems like if this same variable is 0x0b000002 (s32le, bytes in file 0x02, 0x00, 0x00, 0x0b) means "no length, seek 1 byte backwards", I thought this was a corrupted osu!.db but osu! reads it fine.
I could not find the code responsible for osu!.db in the git sources, these osu!.db things I just wrote could be completely wrong.
Any thoughts? Where can I find the code responsible for osu!.db files?
Sandy Hoey
If you are creating a program, then the correct place to post is in the development forums (or Help to answer your question and the Development for sharing your work). This forum is for non-osu! related topics only
Please sign in to reply.

New reply