sonolus

package
v0.0.0-...-51bdd00 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 29, 2023 License: MIT Imports: 2 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func JoinUrl

func JoinUrl(base string, path string) (string, error)

Types

type BackgroundItem

type BackgroundItem struct {
	Name          string `json:"name"`
	Version       int    `json:"version"`
	Title         string `json:"title"`
	Subtitle      string `json:"subtitle"`
	Author        string `json:"author"`
	Thumbnail     SRL    `json:"thumbnail"`
	Data          SRL    `json:"data"`
	Image         SRL    `json:"image"`
	Configuration SRL    `json:"configuration"`
}

type EffectItem

type EffectItem struct {
	Name      string `json:"name"`
	Version   int    `json:"version"`
	Title     string `json:"title"`
	Subtitle  string `json:"subtitle"`
	Author    string `json:"author"`
	Thumbnail SRL    `json:"thumbnail"`
	Data      SRL    `json:"data"`
	Audio     SRL    `json:"audio"`
}

type EngineConfiguration

type EngineConfiguration struct {
	Options []EngineConfigurationOption `json:"options"`
	UI      EngineConfigurationUI       `json:"ui"`
}

type EngineConfigurationAnimation

type EngineConfigurationAnimation struct {
	Scale EngineConfigurationAnimationTween `json:"scale"`
	Alpha EngineConfigurationAnimationTween `json:"alpha"`
}

type EngineConfigurationAnimationTween

type EngineConfigurationAnimationTween struct {
	From     float64 `json:"from"`
	To       float64 `json:"to"`
	Duration int     `json:"duration"`
	Ease     string  `json:"ease"`
}

type EngineConfigurationJudgmentErrorPlacement

type EngineConfigurationJudgmentErrorPlacement string
const (
	EngineConfigurationJudgmentErrorPlacementBoth  EngineConfigurationJudgmentErrorPlacement = "both"
	EngineConfigurationJudgmentErrorPlacementLeft  EngineConfigurationJudgmentErrorPlacement = "left"
	EngineConfigurationJudgmentErrorPlacementRight EngineConfigurationJudgmentErrorPlacement = "right"
)

type EngineConfigurationJudgmentErrorStyle

type EngineConfigurationJudgmentErrorStyle string
const (
	EngineConfigurationJudgmentErrorStyleNone          EngineConfigurationJudgmentErrorStyle = "none"
	EngineConfigurationJudgmentErrorStylePlus          EngineConfigurationJudgmentErrorStyle = "plus"
	EngineConfigurationJudgmentErrorStyleMinus         EngineConfigurationJudgmentErrorStyle = "minus"
	EngineConfigurationJudgmentErrorStyleArrowUp       EngineConfigurationJudgmentErrorStyle = "arrowUp"
	EngineConfigurationJudgmentErrorStyleArrowDown     EngineConfigurationJudgmentErrorStyle = "arrowDown"
	EngineConfigurationJudgmentErrorStyleArrowLeft     EngineConfigurationJudgmentErrorStyle = "arrowLeft"
	EngineConfigurationJudgmentErrorStyleArrowRight    EngineConfigurationJudgmentErrorStyle = "arrowRight"
	EngineConfigurationJudgmentErrorStyleTriangleUp    EngineConfigurationJudgmentErrorStyle = "triangleUp"
	EngineConfigurationJudgmentErrorStyleTriangleDown  EngineConfigurationJudgmentErrorStyle = "triangleDown"
	EngineConfigurationJudgmentErrorStyleTriangleLeft  EngineConfigurationJudgmentErrorStyle = "triangleLeft"
	EngineConfigurationJudgmentErrorStyleTriangleRight EngineConfigurationJudgmentErrorStyle = "triangleRight"
)

type EngineConfigurationMetric

type EngineConfigurationMetric string
const (
	EngineConfigurationMetricArcade       EngineConfigurationMetric = "arcade"
	EngineConfigurationMetricAccuracy     EngineConfigurationMetric = "accuracy"
	EngineConfigurationMetricLife         EngineConfigurationMetric = "life"
	EngineConfigurationMetricPerfectRate  EngineConfigurationMetric = "perfectRate"
	EngineConfigurationMetricErrorHeatmap EngineConfigurationMetric = "errorHeatmap"
)

type EngineConfigurationOption

type EngineConfigurationOption struct{}

func (EngineConfigurationOption) Field

func (EngineConfigurationOption) Variants

func (u EngineConfigurationOption) Variants() []pjson.Variant

type EngineConfigurationSelectOption

type EngineConfigurationSelectOption struct {
	Name     string   `json:"name"`
	Standard *bool    `json:"standard,omitempty"`
	Scope    *string  `json:"scope,omitempty"`
	Type     string   `json:"type"`
	Def      int      `json:"def"`
	Values   []string `json:"values"`
}

func (EngineConfigurationSelectOption) Variant

type EngineConfigurationSliderOption

type EngineConfigurationSliderOption struct {
	Name     string  `json:"name"`
	Standard *bool   `json:"standard,omitempty"`
	Scope    *string `json:"scope,omitempty"`
	Type     string  `json:"type"`
	Def      float64 `json:"def"`
	Min      float64 `json:"min"`
	Max      float64 `json:"max"`
	Step     float64 `json:"step"`
	Unit     *string `json:"unit,omitempty"`
}

func (EngineConfigurationSliderOption) Variant

type EngineConfigurationToggleOption

type EngineConfigurationToggleOption struct {
	Name     string  `json:"name"`
	Standard *bool   `json:"standard,omitempty"`
	Scope    *string `json:"scope,omitempty"`
	Type     string  `json:"type"`
	Def      int     `json:"def"`
}

func (EngineConfigurationToggleOption) Variant

type EngineConfigurationUI

type EngineConfigurationUI struct {
	Scope                     *string                       `json:"scope,omitempty"`
	PrimaryMetric             string                        `json:"primaryMetric"`
	SecondaryMetric           string                        `json:"secondaryMetric"`
	MenuVisibility            EngineConfigurationVisibility `json:"menuVisibility"`
	JudgmentVisibility        EngineConfigurationVisibility `json:"judgmentVisibility"`
	ComboVisibility           EngineConfigurationVisibility `json:"comboVisibility"`
	PrimaryMetricVisibility   EngineConfigurationVisibility `json:"primaryMetricVisibility"`
	SecondaryMetricVisibility EngineConfigurationVisibility `json:"secondaryMetricVisibility"`
	JudgmentAnimation         EngineConfigurationAnimation  `json:"judgmentAnimation"`
	ComboAnimation            EngineConfigurationAnimation  `json:"comboAnimation"`
	JudgmentErrorStyle        string                        `json:"judgmentErrorStyle"`
	JudgmentErrorPlacement    string                        `json:"judgmentErrorPlacement"`
	JudgmentErrorMin          int                           `json:"judgmentErrorMin"`
}

type EngineConfigurationVisibility

type EngineConfigurationVisibility struct {
	Scale float64 `json:"scale"`
	Alpha float64 `json:"alpha"`
}

type EngineData

type EngineData struct {
	Buckets    []EngineDataBucket    `json:"buckets"`
	Archetypes []EngineDataArchetype `json:"archetypes"`
	Scripts    []EngineDataScript    `json:"scripts"`
	Nodes      []EngineDataNode      `json:"nodes"`
}

type EngineDataArchetype

type EngineDataArchetype struct {
	Script int `json:"script"`
	Data   *struct {
		Index  int       `json:"index"`
		Values []float64 `json:"values"`
	} `json:"data,omitempty"`
	Input bool `json:"input,omitempty"`
}

type EngineDataBucket

type EngineDataBucket struct {
	Sprites []EngineDataSprite `json:"sprites"`
}

type EngineDataNode

type EngineDataNode struct {
	Value float64 `json:"value,omitempty"`
	Func  string  `json:"func,omitempty"`
	Args  []int   `json:"args,omitempty"`
}

type EngineDataScript

type EngineDataScript struct {
	Preprocess       *EngineDataScriptCallback `json:"preprocess,omitempty"`
	SpawnOrder       *EngineDataScriptCallback `json:"spawnOrder,omitempty"`
	ShouldSpawn      *EngineDataScriptCallback `json:"shouldSpawn,omitempty"`
	Initialize       *EngineDataScriptCallback `json:"initialize,omitempty"`
	UpdateSequential *EngineDataScriptCallback `json:"updateSequential,omitempty"`
	Touch            *EngineDataScriptCallback `json:"touch,omitempty"`
	UpdateParallel   *EngineDataScriptCallback `json:"updateParallel,omitempty"`
	Terminate        *EngineDataScriptCallback `json:"terminate,omitempty"`
}

type EngineDataScriptCallback

type EngineDataScriptCallback struct {
	Index int  `json:"index"`
	Order *int `json:"order,omitempty"`
}

type EngineDataSprite

type EngineDataSprite struct {
	Id         int  `json:"id"`
	FallbackId *int `json:"fallbackId,omitempty"`
	X          int  `json:"x"`
	Y          int  `json:"y"`
	W          int  `json:"w"`
	H          int  `json:"h"`
	Rotation   int  `json:"rotation"`
}

type EngineItem

type EngineItem struct {
	Name          string         `json:"name"`
	Version       int            `json:"version"`
	Title         string         `json:"title"`
	Subtitle      string         `json:"subtitle"`
	Author        string         `json:"author"`
	Skin          SkinItem       `json:"skin"`
	Background    BackgroundItem `json:"background"`
	Effect        EffectItem     `json:"effect"`
	Particle      ParticleItem   `json:"particle"`
	Thumbnail     SRL            `json:"thumbnail"`
	Data          SRL            `json:"data"`
	Rom           *SRL           `json:"rom,omitempty"`
	Configuration SRL            `json:"configuration"`
}

type ItemDetails

type ItemDetails[T any] struct {
	Item        T      `json:"item"`
	Description string `json:"description"`
	Recommended []T    `json:"recommended"`
}

type LevelData

type LevelData struct {
	BgmOffset float64           `json:"bgmOffset"`
	Entities  []LevelDataEntity `json:"entities"`
}

type LevelDataEntity

type LevelDataEntity struct {
	Archetype int                  `json:"archetype"`
	Data      *LevelDataEntityData `json:"data,omitempty"`
}

type LevelDataEntityData

type LevelDataEntityData struct {
	Index  int       `json:"index"`
	Values []float64 `json:"values"`
}

type LevelItem

type LevelItem struct {
	Name          string                  `json:"name"`
	Version       int                     `json:"version"`
	Rating        int                     `json:"rating"`
	Title         string                  `json:"title"`
	Artists       string                  `json:"artists"`
	Author        string                  `json:"author"`
	Engine        EngineItem              `json:"engine"`
	UseSkin       UseItem[SkinItem]       `json:"useSkin"`
	UseBackground UseItem[BackgroundItem] `json:"useBackground"`
	UseEffect     UseItem[EffectItem]     `json:"useEffect"`
	UseParticle   UseItem[ParticleItem]   `json:"useParticle"`
	Cover         SRL                     `json:"cover"`
	Bgm           SRL                     `json:"bgm"`
	Preview       *SRL                    `json:"preview,omitempty"`
	Data          SRL                     `json:"data"`
}

type ParticleItem

type ParticleItem struct {
	Name      string `json:"name"`
	Version   int    `json:"version"`
	Title     string `json:"title"`
	Subtitle  string `json:"subtitle"`
	Author    string `json:"author"`
	Thumbnail SRL    `json:"thumbnail"`
	Data      SRL    `json:"data"`
	Texture   SRL    `json:"texture"`
}

type ResourceType

type ResourceType string

type SRL

type SRL struct {
	Type ResourceType `json:"type"`
	Hash string       `json:"hash"`
	Url  string       `json:"url"`
}

type SkinItem

type SkinItem struct {
	Name      string `json:"name"`
	Version   int    `json:"version"`
	Title     string `json:"title"`
	Subtitle  string `json:"subtitle"`
	Author    string `json:"author"`
	Thumbnail SRL    `json:"thumbnail"`
	Data      SRL    `json:"data"`
	Texture   SRL    `json:"texture"`
}

type UseItem

type UseItem[T any] struct {
	UseDefault bool `json:"useDefault"`
	Item       T    `json:"item,omitempty"`
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL