486c / rosu-memory Goto Github PK
View Code? Open in Web Editor NEWLightweight, cross-platform memory reader for osu! but in rust
Lightweight, cross-platform memory reader for osu! but in rust
Loop of finding osu folder -> reading static signatures -> actual reading loop seems to break on Windows machines. Requires platform-specific investigation, as I was unable to replicate the issue even once
Seems to be related to #44 in some form, as I've not seen anyone replicate only one of the two so far
rosu-pp's GradualDifficultyAttributes and GradualPerformanceAttributes allow for higher efficiency in calculations. However, to use it you need to track object deltas. Issue is: reading loop is called every 300ms. In some cases there might be no new objects. process_next_n_objects()
doesn't allow for delta = 0, so we need to adjust for that slightly
Should show the pp for the score when clicking on a score on the leaderboards or after coming from gameplay.
For song select it should probably just show the SS pp for the selected beatmap and mods.
rosu-memory/src/reading_loop.rs
Line 326 in 250ad37
As of the latest commits, it now takes slightly longer for the key overlays to begin working.
afaik, gosu-pp supports converted beatmaps, however when i put on a converted beatmap, i notice that the calculated star rating is incorrect. i'm assuming the pp value is also wrong, but i haven't checked.
Simple
if new_map {
println!("new map!");
}
never fired even ONCE across minutes of changing maps, game states etc
requires investigating
Steps to reproduce:
Result:
Shows an error of bad address read
Expected outcome:
No errors
Currently rosu-memory lacks data compared to SC
Useful data points:
Noticed in the process of investigating #52, it seems that catch sr and probably pp isn't calculated correctly at all, and it only gives the osu!standard sr.
This bug is kinda hard to talk about since I can't really replicate it with replays. This has happened most notably when I've full combo'd maps, and noticed that the pp counter is off by like 50-150pp. Just today when I got 500~, it said 630~ which was very odd.
I don't think it will be trivial for me to get more information regarding this issue ๐.
Steps to replicate:
Expectation:
rosu-memory runs just fine
Result:
rosu-memory panics with an error on L596
Seems to be a regression from my initial fix of potential extra triggers of gradual.nth()
. Requires investigating
I wasn't able to replicate this behaviour on linux so far, might be related to a different issue
Playing on Arch Linux.
Replicate:
console.log
for an overlayI'm assuming that the purpose of data.fc_pp
is to display the pp value for an fc if you didn't sliderbreak/miss. However this doesn't seem to be the case. It seems like it (almost) displays the value if you got an fc INCLUDING the misses, which is obviously not possible. I'll upload pictures showcasing the problem and the replay.
The value displayed on the key overlay:
I can't get it to work on Arch Linux running the program as sudo ./linux_rosu-memory --osu-path /home/flyslime/.local/share/osu-wine/osu\!
, auto detection doesn't change anything. Sometimes it doesn't print the message Skipped gameplay reading, probably it's not ready yet
, but most of the time when I go into gameplay it does. None of the overlays work, neither in song select or in-game.
I notice nothing happens if I start the program while osu! is running, however when I open osu! afterwards we get the following log:
To replicate:
Logs:
Spawned server!
Process not found!
Location:
src/main.rs:97:34
sUsing provided osu! folder path
Reading static signatures...
Cannot found signature F8 01 74 04 83 65
Location:
src/structs.rs:197:19
Using provided osu! folder path
Reading static signatures...
Cannot found signature F8 01 74 04 83 65
Location:
src/structs.rs:197:19
Using provided osu! folder path
Reading static signatures...
Cannot found signature F8 01 74 04 83 65
Location:
src/structs.rs:197:19
Using provided osu! folder path
Reading static signatures...
Starting reading loop
[src/main.rs:185] values.gameplay.passed_objects = 0
[src/main.rs:186] values.playtime = 3958
[src/main.rs:187] values.prev_state = PreSongSelect
[src/main.rs:188] values.state = SongSelect
Trying to read bad address
Address: 4, Length: 4
Location:
src/reading_loop.rs:242:30
Trying to read bad address
Address: 10, Length: 4
Location:
src/reading_loop.rs:107:10
Skipped gameplay reading, probably it's not ready yet
Gameplay data (300/100/50/0, combo, etc) doesn't get reset upon entering song select screen, only when starting a new beatmap
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.