Documentation
¶
Overview ¶
Package internal contains utility functions and constants for Spy Cards Online.
Index ¶
- Constants
- Variables
- func DecodeJPEG(b []byte) (image.Image, error)
- func DecodePNG(b []byte, grayscale bool) (image.Image, error)
- func LoadData(key string) ([]byte, error)
- func ModifyRequest(r *http.Request) *http.Request
- func OpenAsset(ctx context.Context, name string) (io.ReadCloser, error)
- func SaveSettings(s *Settings)
- func SetActive(b bool)
- func StoreData(key string, val []byte) error
- func VersionNumber() []byte
- func WithConfig(ctx context.Context, config *Config) context.Context
- type AudioSettings
- type ButtonStyle
- type Cache
- type Config
- type ControlsSettings
- type GamepadButton
- type GamepadLayout
- type KeyboardLayout
- type Settings
Constants ¶
const ( MMServerError websocket.StatusCode = 3000 MMClientError websocket.StatusCode = 3001 MMConnectionError websocket.StatusCode = 3002 MMTimeout websocket.StatusCode = 3003 MMNotFound websocket.StatusCode = 3004 )
Variables ¶
var DefaultConfig = &Config{
MatchmakingServer: "wss://spy-cards.lubar.me/spy-cards/ws",
UserImageBaseURL: "https://spy-cards.lubar.me/spy-cards/user-img/",
CustomCardAPIBaseURL: "https://spy-cards.lubar.me/spy-cards/custom/api/",
MatchRecordingBaseURL: "https://spy-cards.lubar.me/spy-cards/recording/",
ArcadeAPIBaseURL: "https://spy-cards.lubar.me/spy-cards/arcade/api/",
IPFSBaseURL: "https://ipfs.lubar.me/ipfs/",
}
DefaultConfig is the Config used by the official Spy Cards Online site.
var OnSettingsChanged []func(*Settings)
OnSettingsChanged is a slice of callbacks for when a setting is saved.
var ScrollAmount float32
ScrollAmount is the amount the scroll wheel has been turned.
var Version = [3]uint64{0, 3, 1}
Version is the current version of Spy Cards Online.
Functions ¶
func DecodeJPEG ¶ added in v0.2.73
DecodeJPEG allows JPEG decoding to be implemented differently per platform.
func DecodePNG ¶ added in v0.2.73
DecodePNG allows PNG decoding to be implemented differently per platform.
func ModifyRequest ¶ added in v0.2.67
ModifyRequest modifies an HTTP request before it is sent.
func SaveSettings ¶
func SaveSettings(s *Settings)
func SetActive ¶
func SetActive(b bool)
SetActive sets the active flag for the UI, which hides some UI elements.
func VersionNumber ¶ added in v0.2.75
func VersionNumber() []byte
VersionNumber returns a string representation of Version.
Types ¶
type AudioSettings ¶ added in v0.2.67
AudioSettings are the audio volume settings.
type ButtonStyle ¶ added in v0.2.67
type ButtonStyle int
ButtonStyle is a graphical style for button prompts.
const ( StyleKeyboard ButtonStyle = 0 StyleGenericGamepad ButtonStyle = 1 )
Constants for ButtonStyle.
func (ButtonStyle) String ¶ added in v0.2.72
func (i ButtonStyle) String() string
type Cache ¶ added in v0.2.75
type Cache struct { MaxEntries int // contains filtered or unexported fields }
type Config ¶
type Config struct { MatchmakingServer string `json:"matchmaking_server"` UserImageBaseURL string `json:"user_image_base_url"` CustomCardAPIBaseURL string `json:"custom_card_api_base_url"` MatchRecordingBaseURL string `json:"match_recording_base_url"` ArcadeAPIBaseURL string `json:"arcade_api_base_url"` IPFSBaseURL string `json:"ipfs_base_url"` }
Config holds data about external services used by Spy Cards Online.
type ControlsSettings ¶ added in v0.2.67
type ControlsSettings struct { Keyboard int `json:"keyboard,omitempty"` Gamepad map[string]int `json:"gamepad,omitempty"` CustomKB []KeyboardLayout `json:"customKB"` CustomGP []GamepadLayout `json:"customGP"` }
ControlsSettings are the input settings.
type GamepadButton ¶ added in v0.2.67
GamepadButton is a button on a gamepad.
func (GamepadButton) MarshalJSON ¶ added in v0.2.67
func (gpb GamepadButton) MarshalJSON() ([]byte, error)
MarshalJSON implements json.Marshaler.
func (GamepadButton) String ¶ added in v0.2.67
func (gpb GamepadButton) String() string
String implements fmt.Stringer.
func (*GamepadButton) UnmarshalJSON ¶ added in v0.2.67
func (gpb *GamepadButton) UnmarshalJSON(b []byte) error
UnmarshalJSON implements json.Unmarshaler.
type GamepadLayout ¶ added in v0.2.67
type GamepadLayout struct { Name string `json:"name"` Button [10]GamepadButton `json:"button"` Style ButtonStyle `json:"style,omitempty"` }
GamepadLayout is a custom gamepad layout.
type KeyboardLayout ¶ added in v0.2.67
KeyboardLayout is a custom keyboard layout.
type Settings ¶
type Settings struct { Audio AudioSettings `json:"audio"` Character string `json:"character,omitempty"` Disable3D bool `json:"disable3D,omitempty"` ForceRelay bool `json:"forceRelay,omitempty"` DisableCRT bool `json:"disableCRT,omitempty"` AutoUploadRecording bool `json:"autoUploadRecording,omitempty"` DisplayTermacadeButtons bool `json:"displayTermacadeButtons,omitempty"` LastTermacadeOption int `json:"lastTermacadeOption"` LastTermacadeName string `json:"lastTermacadeName,omitempty"` Controls ControlsSettings `json:"controls"` }
Settings are the user-configurable options for Spy Cards Online.
func LoadSettings ¶
func LoadSettings() *Settings