Skip to content

The websocket is missing leaderboard data on the lazer client. #666

Description

@GabuTheDev

WS returns "leaderboard": [] on lazer. Works on stable.

Lazer has the leaderboard as a skin component and might not be always visible / added on the screen.

* Doesn't work for ReplayPlayer
* @see https://github.com/ppy/osu/issues/27609
*/
leaderboard(): ILeaderboard {
const player = this.player();
const personalScore = this.readLeaderboardScore(
this.scoreInfo(player),
-1
);
// TODO: update once I bother todo it :)
// const leaderboardScores = this.process.readIntPtr(
// player + (this.replayMode ? 0x4e8 : 0x520)
// );
// const items = this.readListItems(
// this.process.readIntPtr(leaderboardScores + 0x18)
// );
// const scores: LeaderboardPlayer[] = [];
// for (let i = 0; i < items.length; i++) {
// scores.push(this.readLeaderboardScore(items[i], i));
// }
return [this.isLeaderboardVisible, personalScore, []];
}

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

area:memoryRegarding readouts from the osu client.client:lazerosu!lazer client.

Type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions