Crate etterna[][src]

Modules

prelude

Structs

BpmChange
Chartkey

Represents an Etterna chartkey

DifficultyParseError
FastestComboInfo

Information about a combo found by find_fastest_note_subset

FullJudgements

Judgement data, including mines and holds

Judge

Specification of a judgement level

MatchingScorer

Scoring system that assigns hits to notes by trying to find the optimal mapping between the two, instead of naively mapping notes to hits as they come (crate::NaiveScorer).

NaiveScorer

Replica of the naive straightforward scoring system as it’s usually implemented in mania rhythm games. It maps hits to notes linearly.

NoteAndHitSeconds

No guaranteess of any sorts about ordering or contents in general

NoteRow
Rate

Represents an Etterna chart rate (music speed).

RateParseError
Scorekey

Represents an Etterna scorekey

ScoringResult

Result of evaluating a ScoringSystem on a list of notes and hits (ScoringSystem::evaluate)

SkillTimeline

Representation of a player’s ratings over time. See skill_timeline

Skillsets7

Skillset information, excluding overall

Skillsets8

Skillset information, excluding overall

TapJudgements

Judgement data, only the basic tap judgements

TimingInfo
UserRank

Global ranks in each skillset category

Wife2

2nd revision of Etterna’s Wife scoring system

Wife3

3rd revision of Etterna’s Wife scoring system

Wifescore

Wifescore struct. Guaranteed to be a valid value, i.e. <= 100% and not NaN (may be negative infinity though)

Enums

Difficulty

Chart difficulty enum

Hit

Represents a player hit of a single note

NoteType

Type of a note

ScrollDirection
Skillset7

Skillsets enum, excluding overall

Skillset8

Skillsets enum, including overall

SmBpmStringParseError
Snap
TapJudgement

Constants

J1

Removed from Etterna in 0.69.0

J2

Removed from Etterna in 0.69.0

J3

Removed from Etterna in 0.69.0

J4

Default judge for official scoring

J5

Used by some as their go-to judge

J6

Sometimes used for accuracy training

J7

Half the timing window of J4. Common for accuracy training

J8

Half the timing window of J6

J9

Also called “Justice”. Originally added to the game as a joke

Traits

ScoringSystem

Trait for a scorer that operates on a single column and evaluates all hits on that column. It needs the entire list of hits available to it at the same time

SimpleReplay
Wife

Trait that abstracts over wifescore algorithm - the algorithm that turns a hit deviation into a score percent

Functions

calculate_player_overall

Calculate a player’s overall rating from the player’s seven individual skillset ratings.

calculate_player_skillset_rating

Calculate a player’s skillset rating from the individual scores’ skillset ratings

calculate_player_skillset_rating_pre_070

This is the pre-0.70 variant of calculate_player_skillset_rating.

calculate_score_overall

Calculate a score’s overall difficulty from the score’s seven individual skillsets.

find_fastest_combo_in_score

Find the fastest combo within the score. It searched only for combos whose lengths lie inside min_num_notes..=max_num_notes.

find_fastest_note_subset

This function finds the fastest note subset (where the number of notes in the subset is in min_num_notes..=max_num_notes). The function operates on a single lane only!

find_fastest_note_subset_wife_pts

This function finds the “best” note subset (where the number of notes in the subset is in min_num_notes..=max_num_notes). The function operates on a single lane only!

rescore

Calculates a wifescore from a list of notes per column and hits per column, plus the mine hits and hold drops. The wifescore algorithm and scoring algorithm used can be chosen via the generic parameters.

rescore_from_note_hits

Calculate a wifescore from a replay’s note hits, mine hits and hold drops.

skill_timelineDeprecated
wife2

Utility function to calculate a Wife2 score for a single hit deviation

wife3

Utility function to calculate a Wife3 score for a single hit deviation