57 lines
2.5 KiB
Lua
57 lines
2.5 KiB
Lua
|
-- gameplay `gameplay` table
|
||
|
|
||
|
---@class CritLine
|
||
|
---@field cursors LaserCursor[] #
|
||
|
---@field line Line # Line from the left corner of the track to the right corner
|
||
|
---@field rotation number # The rotation of the crit line, in radians
|
||
|
---@field x integer # Screen x-coordinate of the center of the crit line
|
||
|
---@field y integer # Screen y-coordinate of the center of the crit line
|
||
|
CritLine = {};
|
||
|
|
||
|
---@class LaserCursor
|
||
|
---@field alpha number # Alpha channel value, `0.0` to `1.0`
|
||
|
---@field pos number # The x-position relative to the center of the crit line
|
||
|
---@field skew number # The x-skew of the cursor
|
||
|
LaserCursor = {};
|
||
|
|
||
|
---@class Gauge
|
||
|
---@field type integer # `0` = Effective, `1` = Excessive, `2` = Permissive, `3` = Blastive
|
||
|
---@field value number # Current gauge percentage, `0.0` to `1.0`
|
||
|
Gauge = {};
|
||
|
|
||
|
---@class Line
|
||
|
---@field x1 number # Starting x-coordinate
|
||
|
---@field y1 number # Starting y-coordinate
|
||
|
---@field x2 number # Ending x-coordinate
|
||
|
---@field y2 number # Ending y-coordinate
|
||
|
Line = {};
|
||
|
|
||
|
---@class ScoreReplay
|
||
|
---@field currentScore integer # Current score of the replay
|
||
|
---@field maxScore integer # Ending score of the replay
|
||
|
ScoreReplay = {};
|
||
|
|
||
|
---@class gameplay
|
||
|
---@field artist string # Chart artist
|
||
|
---@field bpm number # Chart BPM
|
||
|
---@field comboState integer # `0` = Normal, `1` = UC, `2` = PUC
|
||
|
---@field critLine CritLine # Table of crit line information
|
||
|
---@field demoMode boolean # Whether the game is in demo mode
|
||
|
---@field difficulty integer # Difficulty index
|
||
|
---@field gauge Gauge # Table of gauge information
|
||
|
---@field hiddenCutoff number # Hidden cutoff value, `0.0` to `1.0`
|
||
|
---@field hiddenFade number # Hidden fade value, `0.0` to `1.0`
|
||
|
---@field hispeed number # Current hispeed
|
||
|
---@field hitWindow HitWindow # Table of hit window information
|
||
|
---@field jacketPath string # Full filepath to the jacket image on the disk
|
||
|
---@field laserActive boolean[] # Array of laser active states, `1` = left, `2` = right
|
||
|
---@field level integer # Chart level
|
||
|
---@field noteHeld boolean[] # Array of button hold states, in order from 1 to 6: `BTA`, `BTB`, `BTC`, `BTD`, `FXL`, `FXR`
|
||
|
---@field practice_setup boolean|nil # `true` = practice setup, `false` = practicing, `nil` = not in practice mode
|
||
|
---@field progress number # Chart progress, `0.0` to `1.0`
|
||
|
---@field scoreReplays ScoreReplay[] # Array of previous scores for the chart
|
||
|
---@field suddenCutoff number # Sudden cutoff value, `0.0` to `1.0`
|
||
|
---@field suddenFade number # Sudden fade value, `0.0` to `1.0`
|
||
|
---@field title string # Chart title
|
||
|
---@field user_id nil|string # Only for multiplayer
|
||
|
gameplay = {};
|