2021-11-18 00:32:24 +01:00
|
|
|
-- songwheel `songwheel` table
|
|
|
|
|
2023-11-10 02:42:08 +01:00
|
|
|
---@class SongWheelScore
|
|
|
|
---@field auto_flags integer # Autoplay flag
|
|
|
|
---@field badge integer # `0` = Manual Exit, `1` = Played, `2` = Cleared, `3` = Hard Cleared, `4` = Full Chain, `5` = Perfect Chain
|
|
|
|
---@field combo integer # Max combo
|
|
|
|
---@field earlies integer # Total early hits
|
|
|
|
---@field gauge number # Ending gauge percentage, `0.0` to `1.0`
|
|
|
|
---@field gauge_option integer # Gauge option e.g. ARS
|
|
|
|
---@field gauge_type integer # `0` = Normal, `1` = Hard, `2` = Permissive, `3` = Blastive
|
|
|
|
---@field goods integer # Total near hits
|
|
|
|
---@field isLocal integer # `0` = false, `1` = true
|
|
|
|
---@field lates integer # Total late hits
|
|
|
|
---@field mirror integer # Mirror mode flag
|
|
|
|
---@field misses integer # Total errors
|
|
|
|
---@field playerName string # Name of the player
|
|
|
|
---@field perfects integer # Total critical hits
|
|
|
|
---@field random integer # Random mode flag
|
|
|
|
---@field score integer # Result score
|
|
|
|
---@field timestamp integer # Unix timestamp of the score
|
|
|
|
SongWheelScore = {}
|
|
|
|
|
|
|
|
---@class SongWheelDifficulty
|
2021-11-18 00:32:24 +01:00
|
|
|
---@field difficulty integer # Difficulty index
|
2023-11-10 02:42:08 +01:00
|
|
|
---@field effector string # Name of charter
|
2021-11-18 00:32:24 +01:00
|
|
|
---@field hash string # Difficulty hash
|
|
|
|
---@field id integer # Difficulty id, unique static identifier
|
|
|
|
---@field illustrator string # Difficulty jacket illustrator
|
|
|
|
---@field jacketPath string # Full filepath to the jacket image on the disk
|
|
|
|
---@field level integer # Difficulty level
|
2023-11-10 02:42:08 +01:00
|
|
|
---@field scores SongWheelScore[] # Scores for the current difficulty
|
2021-11-18 00:32:24 +01:00
|
|
|
---@field topBadge integer # `0 = Never Played`, `1 = Played`, `2 = Cleared`, `3 = Hard Cleared`, `4 = Full Chain`, `5 = Perfect Chain`
|
2023-11-10 02:42:08 +01:00
|
|
|
SongWheelDifficulty = {}
|
2021-11-18 00:32:24 +01:00
|
|
|
|
2023-11-10 02:42:08 +01:00
|
|
|
---@class SongWheelSong
|
2021-11-18 00:32:24 +01:00
|
|
|
---@field artist string # Chart artist
|
2023-11-10 02:42:08 +01:00
|
|
|
---@field difficulties SongWheelDifficulty[] # Array of difficulties for the current song
|
2021-11-18 00:32:24 +01:00
|
|
|
---@field bpm number # Chart BPM
|
|
|
|
---@field id integer # Song id, unique static identifier
|
|
|
|
---@field path string # Full filepath to the chart folder on the disk
|
|
|
|
---@field title string # Chart title
|
2023-11-10 02:42:08 +01:00
|
|
|
SongWheelSong = {}
|
2021-11-18 00:32:24 +01:00
|
|
|
|
|
|
|
---@class songwheel
|
2023-11-10 02:42:08 +01:00
|
|
|
---@field allSongs SongWheelSong[] # Array of all available songs
|
2021-11-18 00:32:24 +01:00
|
|
|
---@field searchInputActive boolean # Search status
|
|
|
|
---@field searchStatus string # Current song database status
|
|
|
|
---@field searchText string # Search input text
|
2023-11-10 02:42:08 +01:00
|
|
|
---@field songs SongWheelSong[] # Array of songs with the current filters/sorting applied
|
|
|
|
songwheel = {}
|
|
|
|
|
|
|
|
---Render, called every frame
|
|
|
|
---@param deltaTime number # time in seconds between frames
|
|
|
|
render = function (deltaTime) end
|
|
|
|
|
|
|
|
---Called when selected difficulty changes
|
|
|
|
---@param diff integer # Difficulty level
|
|
|
|
set_diff = function (diff) end
|
|
|
|
|
|
|
|
---Called when song database changes
|
|
|
|
---@param withAll boolean # Reload all songs
|
|
|
|
songs_changed = function (withAll) end
|