Documentation ¶
Index ¶
- Variables
- func ExtractAssets() error
- func InitFlags() error
- func InitGlobal() error
- func Localize(msgid string) string
- func LocalizeTmpl(msgid string, tmplData map[string]interface{}) string
- func PlaySoundFromFS(fsys fs.FS, path string, vol float64) error
- func Resample(old beep.SampleRate, s beep.Streamer) beep.Streamer
- type BPMChangeEvent
- type Conductor
- type Flasher
- type Global
- type IntroText
- type MusicBeat
- type Section
- type Song
- type Sprite
Constants ¶
This section is empty.
Variables ¶
View Source
var FlagSet *pflag.FlagSet
Functions ¶
func ExtractAssets ¶
func ExtractAssets() error
func InitGlobal ¶
func InitGlobal() error
func LocalizeTmpl ¶
Localize simply calls G.Localizer.MustLocalize with TemplateData.
Types ¶
type BPMChangeEvent ¶
type Conductor ¶
type Conductor struct { Bpm int Crochet float64 StepCrochet float64 SongPosition float64 LastSongPos float64 Offset float64 SafeFrames int SafeZoneOffset float64 BPMChangeMap []BPMChangeEvent }
func NewConductor ¶
func (*Conductor) MapBPMChanges ¶
type Global ¶
type Global struct { Rand *rand.Rand Version string FNFVersion string ScreenWidth int ScreenHeight int Width int Height int OptionsConfig *config.Config ProgressConfig *config.Config Conductor *Conductor Localizer *i18n.Localizer SampleRate beep.SampleRate Mixer *beep.Mixer /* This specifies the quality of the resampling process. Higher quality implies worse performance. Values below 1 or above 64 are invalid and Resample will panic. Here's a table for deciding which quality to pick. quality | use case --------|--------- 1 | very high performance, on-the-fly resampling, low quality 3-4 | good performance, on-the-fly resampling, good quality 6 | higher CPU usage, usually not suitable for on-the-fly resampling, very good quality >6 | even higher CPU usage, for offline resampling, very good quality Sane quality values are usually below 16. Higher values will consume too much CPU, giving negligible quality improvements. */ ResampleQuality int }
var G *Global
type IntroText ¶
type IntroText struct {
// contains filtered or unexported fields
}
func NewIntroText ¶
func NewIntroText() *IntroText
func (*IntroText) CreateText ¶
func (*IntroText) DeleteText ¶
func (it *IntroText) DeleteText()
type MusicBeat ¶
type MusicBeat struct { LastBeat float64 LastStep float64 CurBeat int CurStep int StepHitFunc func(int) BeatHitFunc func(int) }
MusicBeat is basically MusicBeatState in vanilla FNF.
func NewMusicBeat ¶
func NewMusicBeat() *MusicBeat
func (*MusicBeat) UpdateBeat ¶
func (mb *MusicBeat) UpdateBeat()
func (*MusicBeat) UpdateCurStep ¶
func (mb *MusicBeat) UpdateCurStep()
type Song ¶
type Song struct { Song string `json:"song"` Notes []Section `json:"notes"` Bpm int `json:"bpm"` NeedsVoices bool `json:"needsVoices"` Speed float64 `json:"speed"` Player1 string `json:"player1"` Player2 string `json:"player2"` ValidScore bool `json:"validScore"` }
func LoadSongFromJSON ¶
type Sprite ¶
type Sprite struct {
X, Y float64
Img *ebiten.Image
Visible bool
AnimController *anim.AnimController
}
func (*Sprite) DrawImageOptions ¶
func (s *Sprite) DrawImageOptions() *ebiten.DrawImageOptions
Click to show internal directories.
Click to hide internal directories.