forum

biku: program for viewing the pp of all your recent replays

posted
Total Posts
42
Topic Starter
sval001
Biku 1.2
What it does
It gets the recent replays from the folder Data/r or scores.db located in the osu! folder. From each replay it calculates the pp for each one from its accuracy and combo. This is the final result:


Before using! :!:
  1. The first time you start the program, make sure you have osu! closed.
  2. If you have installed in another location than Program Files/x86, you will prompted to select your osu! folder location.
  3. You don't have to insert a osu! API key when first asked, but for the best user experience it is recommended in doing so. (You can do it later)
    More info here.
  4. Biku will store in the same path is located a file called biku-cache (it is a hidden file, so you won't see it unless have activated that on Win folder options). This file is for storing a minified osu!db with osu filehashes and filenames, also the location of the osu! folder and your osu! API key if you set it.
  5. Because biku-cache stores your osu! API key, DO NOT SHARE the file biku-cache.gob with ANYONE. (I know you probably won't anyways, but it's worth mentioning)
Download
32bit version: biku-x86.exe
64bit version: biku.exe


Changelog
  1. v1.2: Fixed bug from v1.1.1
  2. v.1.1.1: Added Appdata/Local/osu! to default locations
  3. v1.1: allow to select "All time" in time filter, and few optimisations
  4. v1.0.2: Take in account BeatmapDirectory from osu! settings, thanks to lubieerror for pointing it out and also solving it.
    Save to file the stacktrace in case of panic/crash
  5. v1.0.1: Now it shows more accurate pp values (before it was off by ~5%) and fixed the grading system.
How it works
For calculating the pp it is needed the .osu file, and since the osu! replay file only saves the hash of the .osu file, it is needed to access to osu!db file and create a dictionary of .osu hashes. Because we don't want to interfere with osu!db while osu! is open, the biku-cache stores a minimal version of the osu!db

The source can be found in github

Virustotal scans 1 | 2. Some AV says it is malicious code, don't know if your antivirus will detect it as a malware. In any case, these are false positives.
FINGERLOCK
neat
Mitt Aim Suger
a bug i found is that it calculates scores with 1 SB only as an FC, giving incorrect pp values.
[L]0LLo
how do i reach C:\Users\qwert\AppData\Local\osu! with this? https://i.imgur.com/cswb0IE.png
Shiro
This is amazing. Makes me want to get back into the game.
Bakuenjin
Great tool!
Maybe you could also implement something like a "Topranks Mode" where he calculates your global pp based on the 100 best plays from the selected timespan.
Topic Starter
sval001

[L]0LLo wrote:

how do i reach C:\Users\qwert\AppData\Local\osu! with this? https://i.imgur.com/cswb0IE.png
Ahhh, since AppData is a hidden folder, it will be not accessible. I will change that dialog for the standard file chooser in windows.

Mitt Aim Suger wrote:

a bug i found is that it calculates scores with 1 SB only as an FC, giving incorrect pp values.
SB? Storyboard? :o I don't know what are you referring with SB.

Bakuenjin wrote:

Great tool!
Maybe you could also implement something like a "Topranks Mode" where he calculates your global pp based on the 100 best plays from the selected timespan.
That's a good idea! I will try working on it soon.
Mitt Aim Suger
SB as in sliderbreak
Spytes
Thanks for making this. I've been looking for something like this for years
Topic Starter
sval001

Mitt Aim Suger wrote:

SB as in sliderbreak
I will look into it, but it is strange because I don't manage info about sliderbreaks nor analyze the replay, I only get the combo and accuracy from the replay directly and then pass that to oppai.

Spytes wrote:

Thanks for making this. I've been looking for something like this for years
You're welcome. :D I appreciate Franc[e]sco for making oppai since without it, this would've been very difficult to make.
Jonirulah
The speed/performance of this is so good, it's actually very fast getting information from the API and parsing it. And it really shows interesting things of the Gameplay

I like it, thanks for your hard work and you should add a Donate button in the program, just if some people wanna thank your job. But i don't know if that's allowed.

Thank you, great tool and useful.
Kingkevin30
would be cool if this would also support the other game-modes :3
Xirmith

Joniruler wrote:

you should add a Donate button in the program, just if some people wanna thank your job.
I'd most likely be willing to donate, great job on this.
Topic Starter
sval001

Xirmith wrote:

Joniruler wrote:

you should add a Donate button in the program, just if some people wanna thank your job.
I'd most likely be willing to donate, great job on this.
I will add a donation link in the first post, if anyone wants to donate.

[L]0LLo wrote:

how do i reach C:\Users\qwert\AppData\Local\osu! with this? https://i.imgur.com/cswb0IE.png
Actually, you can put biku.exe inside your osu! folder and will not ask about the osu! folder. Then you can create a shortcut or keep it in the taskbar after you open it for easier access. Still, in the next version I will let set the osu! folder path from a txt file containing the path.

Kingkevin30 wrote:

would be cool if this would also support the other game-modes :3
It will, but first I need the implementations of pp calculation of other game-modes. I know oppai now includes pp for taiko, so I try including it too.
DeletedUser_10414170
Cool program, but maps like Ming's aspire break the program into thinking you got infinite pp, since it calculates it as a map with infinite stars.
ynot01
Is there a way to export the loaded scores in a .txt file or something?
Kayla

sval001 wrote:

[L]0LLo wrote:

how do i reach C:\Users\qwert\AppData\Local\osu! with this? https://i.imgur.com/cswb0IE.png
Ahhh, since AppData is a hidden folder, it will be not accessible. I will change that dialog for the standard file chooser in windows.

Mitt Aim Suger wrote:

a bug i found is that it calculates scores with 1 SB only as an FC, giving incorrect pp values.
SB? Storyboard? :o I don't know what are you referring with SB.

Bakuenjin wrote:

Great tool!
Maybe you could also implement something like a "Topranks Mode" where he calculates your global pp based on the 100 best plays from the selected timespan.
That's a good idea! I will try working on it soon.
you can just put it in your osu folder and launch it, since its a local folder.
Goodie
a bug i found:
If you get an A rank because you got too many 50s but you still got no misses it counts as an s rank. This might be the same for getting an fc with extremely low accuracy
Topic Starter
sval001

Goodie36 wrote:

a bug i found:
If you get an A rank because you got too many 50s but you still got no misses it counts as an s rank. This might be the same for getting an fc with extremely low accuracy
My bad, there are some mistakes I made when copying the scoring system for the grades. I will fix this.

Thanks for the feedback!

ynot01 wrote:

Is there a way to export the loaded scores in a .txt file or something?
I can put a button for exporting the scores. But I don't know if the fields in the .txt file should be customisable or not.
Skrubba
Very nifty, except it's always like 5% percent off, which makes it a bit useless. Fix it, and this program would be a no-brainer for every osu player.
Topic Starter
sval001

SF CookieBoi wrote:

Very nifty, except it's always like 5% percent off, which makes it a bit useless. Fix it, and this program would be a no-brainer for every osu player.
Solved in the patch that I will release tonight :)
TONK
Awesome idea!
How far back can it go?
Niraio
Very good program! its the best one ive seen so far.
Topic Starter
sval001

TONK wrote:

Awesome idea!
How far back can it go?
There is no limit, but I set the maximum to 6 months ago because it takes a lot to load so many replays with their pp.

I have to separate the PP calculation from the GUI so it doesn't block. (I already tried but since I don't fully understand how the framework I used for making the GUI works, I couldn't get it working >:( )

Niraio wrote:

Very good program! its the best one ive seen so far.
Thank you, I hope I have time to add new features in the future like a mini scoreboard as suggested in the first page of the thread. :)
Frank-
finally i can see how much pp i got lol

thanks a lot
Niraio
How to get the API key?
Darkdevlin
Mine wont open once i close it :(
Topic Starter
sval001

Niraio wrote:

How to get the API key?
https://osu.ppy.sh/p/api in App Name you can put your username, app url: your profile link.

Darkdevlin wrote:

Mine wont open once i close it :(
mmm, it only worked the first time you opened it? if you move the .exe in another location it works again? that means that biku-cache file may be the culprit. :/
Lvz
When i choose my folder it automaticly resets so i have to choose it again and again
ynot01
When I try to load a month or more, biku loads for a bit and then crashes
Topic Starter
sval001
New patch release, taking in account BeatmapDirectory from your osu! cfg settings file. Also it should create a file "biku-log[date-time].txt" when crashing so I can see from where the error comes..

ynot01 wrote:

When I try to load a month or more, biku loads for a bit and then crashes
Try with the v1.0.2 and see if it creates a biku-log.txt file with the stacktrace of the crash and post it here.
ynot01

sval001 wrote:

New patch release, taking in account BeatmapDirectory from your osu! cfg settings file. Also it should create a file "biku-log[date-time].txt" when crashing so I can see from where the error comes..

ynot01 wrote:

When I try to load a month or more, biku loads for a bit and then crashes
Try with the v1.0.2 and see if it creates a biku-log.txt file with the stacktrace of the crash and post it here.
Weirdly, it doesn't create a log for this specific crash, but it has for other ones.

https://www.youtube.com/watch?v=xE1-W_nTvYM
Darkdevlin
My biku wont open once i have closed it, i have to redownload it every time i wonna use it
Amilea
is there a way to make this display mania scores?
peteryay
I have a play which Biku say it worths 151.72pp
But in osu page said it's 145pp
Bug?
mojobojo
I made a small patch to load plays past 6 months. The EXEs are almost identical aside from

0x3A999F - 4C
0x3A99A0 - FC

0x3AEA0B - 4C
0x3AEA0C - FC

0x4BB0D4 - "All Time "

https://drive.google.com/file/d/1T0FDj5 ... sp=sharing

EDIT: Now updated by this request right here. Thanks!

https://github.com/flesnuk/biku/issues/3
Topic Starter
sval001
1.1 update should be a bit better in performance, but still the UI is blocked while processing the replays. Added option for showing all replays.


Sorry for not being very active, I don't have time even to play osu! lol. If you encounter any bugs, I still can't debug because the error handling is very bad :x .
Razinoid
Bit of an issue, Osu! is located in AppData for me which i can't access from the Browse menu. A line for entering a path would be nice. :)
Topic Starter
sval001

Razinoid wrote:

Bit of an issue, Osu! is located in AppData for me which i can't access from the Browse menu. A line for entering a path would be nice. :)
Oh right, I forgot about that. I will add "AppData/Local/osu!" to the default paths. You can also put the biku.exe inside the osu! folder and create a shortcut.
ScixonYT
It doesnt seem to work for me, can you help me?
all it does is ask for the api key, then when i click OK, nothing happens...
Sashiro
After entering api key -> closing and getting this log:


runtime error: invalid memory address or nil pointer dereference

goroutine 1 [running, locked to thread]:
runtime/debug.Stack(0xc0420706d8, 0xc04219e1e0, 0x44)
C:/Go/src/runtime/debug/stack.go:24 +0xae
main.saveLogIfPanic()
C:/Users/Dinu/go/src/github.com/flesnuk/biku/savelog.go:19 +0x1f0
panic(0x839900, 0xb9aa20)
C:/Go/src/runtime/panic.go:491 +0x291
main.main()
C:/Users/Dinu/go/src/github.com/flesnuk/biku/main.go:70 +0x724
Topic Starter
sval001

- Sashiro - wrote:

After entering api key -> closing and getting this log:
It was caused because it couldn't open the osu!.db file. Maybe you have osu! open while trying to run biku.exe for the first time?

If not, try using the v1.1 version, maybe I messed up something while adding Appdata to default locations.
https://github.com/flesnuk/biku/releases/tag/v1.1
Please sign in to reply.

New reply