Code Monkey home page Code Monkey logo

performancemeter's Introduction

PerformanceMeter

A Beat Saber mod to show a graph of your energy bar, percentage level, or cut value throughout a map on the end screen.

Image

Requirements

  • Beat Saber 1.20.0 or compatible
  • BSIPA 4.2.2
  • Beat Saber Utils 1.12.1
  • BeatSaberMarkupLanguage 1.6.3

Installation

Simply drop the latest PerformanceMeter.dll plugin file into your Plugins folder, inside the main Beat Saber installation directory.

Usage

Out of the box, PerformanceMeter displays a graph of the energy bar's status from the beginning of the level to the end, whether that's the end of the level or whenever you failed. This is shown on the level complete screen underneath the buttons. The lines are colored depending on the value of the endpoint and the color scheme of the selected mode.

You can change the type of data PerformanceMeter records in the Mod Settings. See below for more information on how to do this.

Note: PerformanceMeter only appears in Solo, Party, and Campaign game modes. It does not appear in online matches.

Configuration

UI

PerformanceMeter can be configured in the Mod Settings section of the options. Here you can enable/disable PerformanceMeter, change the mode and side for primary and secondary graphs, and toggle showing missed notes.

As of PerformanceMeter 1.2.0, two graphs can be displayed at the same time. These graphs will be displayed together on the Performance chart. To be able to discern the two graphs, it is recommended that you set the sides of each graph to different values to show them in different colors. Note that changing the sides of Cut Value modes will also change which hand is counted.

These are the modes available as of 1.3.0:

Energy

This mode records the level of the energy bar on every note hit or miss.

Max % Min % Color
100% 50% Green
49% 25% Yellow
24% 0% Red

Percentage (Modified)

This mode records the percentage with all modifiers applied on every note hit or miss.

Max % Min % Color
100%+ 90% Cyan
89% 80% White
79% 65% Green
64% 50% Yellow
49% 35% Orange
34% 0% Red

Percentage (Raw)

This mode records the percentage with no modifiers applied on every note hit or miss.

Max % Min % Color
100% 90% Cyan
89% 80% White
79% 65% Green
64% 50% Yellow
49% 35% Orange
34% 0% Red

Note Cut Value

This mode records the score given for each note cut.

Max Score Min Score Color
115 115 White
114 101 Green
100 90 Yellow
89 80 Orange
79 60 Red
59 0 Dark Red

Average Cut Value

This mode records the average score of all cuts up to the current one on every note hit.

Max Score Min Score Color
115 115 White
114 101 Green
100 90 Yellow
89 80 Orange
79 60 Red
59 0 Dark Red

More modes may be added in the future.

JSON

PerformanceMeter's configuration file is stored at UserData\PerformanceMeter.json. Here you can change some options regarding how PerformanceMeter looks and acts.

enabled

This toggles PerformanceMeter on and off. When set to false, recording is disabled and the graph will not be shown.

mode

This changes what data PerformanceMeter records in-game. These are the mappings between ID and mode statistic:

ID Statistic
0 Energy
1 Percentage (Modified)
2 Percentage (Raw)
3 Note Cut Value
4 Average Cut Value
5 None

side

This changes the side which PerformanceMeter records data for. This only changes collection for Cut Value-type modes, but it changes the colors for all modes.

ID Side Color
0 Left Red
1 Right Blue
2 Both No change

secondaryMode, secondarySide

These function the same as mode and side, respectively, but display another line to be used with a different mode.

showMisses

This enables displaying vertical bars on the graph at each point a note is missed. When set to false, no bars will be displayed; when true, bars will be shown.

animationDuration

This sets how long the graph reveal animation takes to complete. If set to 0, no animation will be played.

[secondary]Color

These set the color for each graph. Colors are 24-bit hexadecimal colors (e.g. 0xFF8000 is orange). This setting has no effect unless the corresponding overrideColor setting (below) is enabled.

override[Secondary]Color

These toggle whether the override color is enabled for each graph. If set to true, the color in [secondary]Color will be used; otherwise the default color will be used.

Special Thanks

Thanks to @SHv2 for rewriting a significant chunk of the code to improve style and performance.

License

PerformanceMeter is licensed under the MIT license. See LICENSE for more info.

performancemeter's People

Contributors

mcjack123 avatar shv2 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

romandamen shv2

performancemeter's Issues

LP environment problem

There is a problem with a mod on the LinkinPark environment. The bars are covering the statistics, I attach a screenshot.

OculusScreenshot1612092868

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.