Git Product home page Git Product logo

sparen-dnh-apm's Issues

Implement Bomb/Death bullet size configuration

Currently there is no way to configure the size of the bullets and text in the bomb/death graph. This issue covers the creation and implementation of configuration for these. There will likely be three fields - one for the main bullet, one for the aggregate bullet, and one for the text. Former two are higher priority.

Implement csv lookup by user defined ID string

Currently, all csv files with apm<string>- are assumed to be for the given script regardless of whether or not that was the actual case. It is therefore preferable to check the user-defined script name as well (but not the player) so that multiple scripts can output csv files to the same directory.

This may be more complex than initially anticipated due to the mechanics behind Danmakufu's string indexing and comparison.

Determine post-report generation safety frame count

This issue covers the determining of how many frames of padding are needed between the event to generate a report and closing the stage script to ensure that the report is actually generated.

In the event that this is non-zero, the value MUST be documented within the README and preferably in the script header as well.

Implement User-Defined Monitoring

This issue covers the implementation of User-Defined Monitoring.

User-Defined Monitoring enables scripters to provide custom hook-ins for their own metrics. For example, tracking Piezo Shards in SeitenTouji AMB, or the Discord meter in EUB. Since these are game specific, it is not possible to implement them locally. Instead, it is necessary to provide an extendable interface for monitoring.

This will most likely involve a required #include file that provides empty methods for the scripter to fill in.

Implement Config Option for loading notes

This issue covers the two following features:

  • Logging notes to file the same way as spells and bombs
  • Viewing old notes at lower opacity (config to enable/disable, with disable rendering current behavior and being the default)

This addresses the issue of variable length runs but adds clutter and complicates an otherwise simple note implementation.

This feature request is very low priority and may not be implemented at all depending on user feedback.

Bomb & Death monitoring doesn't know max time

Currently, bomb and death monitoring does not have access to the max time - only the time of the last death. This results in the graph being noticeably shorter than the others, especially due to text being cut off.

To fix, the output file should have a timestamp of the max time.

Implement Death and Bomb Monitoring

This issue covers the implementation of death and bomb monitoring (including writing to file and reading past data).

Similarly to notes and different to existing forms of monitoring, Death and Bomb monitoring is logged via Events rather than constantly calling a function [EV_PLAYER_SPELL and EV_PLAYER_SHOOTDOWN]. Preferably, both death and bomb statistics would be tracked in the same file as well.

This feature also requires a new type of graph that paints dots onto a time graph rather than lines, as death and bomb events are discrete rather than continuous.

Implement Graph Overlays via Step Monitoring

This issue covers the utilization of EV_START_BOSS_STEP and EV_END_BOSS_STEP listeners to determine the boss steps in the current run for the purposes of providing an overlay.

As this may be a complement rather than a replacement for annotated notes, there may be no need to distinguish spells and non spells by color, as there may be a note that will divide the block visually. Otherwise, if no notes are used, the entire boss plural may blur together.

The graph overlay should be done via opacity rather than a hard color.

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.