internal

package
v0.2.79 Latest Latest
Warning

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

Go to latest
Published: Oct 23, 2020 License: MIT Imports: 21 Imported by: 0

Documentation

Overview

Package internal contains utility functions and constants for Spy Cards Online.

Index

Constants

View Source
const (
	MMServerError     websocket.StatusCode = 3000
	MMClientError     websocket.StatusCode = 3001
	MMConnectionError websocket.StatusCode = 3002
	MMTimeout         websocket.StatusCode = 3003
	MMNotFound        websocket.StatusCode = 3004
)

Variables

View Source
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.

View Source
var OnSettingsChanged []func(*Settings)

OnSettingsChanged is a slice of callbacks for when a setting is saved.

View Source
var ScrollAmount float32

ScrollAmount is the amount the scroll wheel has been turned.

View Source
var Version = [3]uint64{0, 3, 1}

Version is the current version of Spy Cards Online.

Functions

func DecodeJPEG added in v0.2.73

func DecodeJPEG(b []byte) (image.Image, error)

DecodeJPEG allows JPEG decoding to be implemented differently per platform.

func DecodePNG added in v0.2.73

func DecodePNG(b []byte, grayscale bool) (image.Image, error)

DecodePNG allows PNG decoding to be implemented differently per platform.

func LoadData added in v0.2.75

func LoadData(key string) ([]byte, error)

func ModifyRequest added in v0.2.67

func ModifyRequest(r *http.Request) *http.Request

ModifyRequest modifies an HTTP request before it is sent.

func OpenAsset added in v0.2.73

func OpenAsset(ctx context.Context, name string) (io.ReadCloser, error)

OpenAsset opens a local asset or performs an HTTP request.

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 StoreData added in v0.2.75

func StoreData(key string, val []byte) error

func VersionNumber added in v0.2.75

func VersionNumber() []byte

VersionNumber returns a string representation of Version.

func WithConfig

func WithConfig(ctx context.Context, config *Config) context.Context

WithConfig attaches a Config to a context.

Types

type AudioSettings added in v0.2.67

type AudioSettings struct {
	Music  float64 `json:"music"`
	Sounds float64 `json:"sounds"`
}

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
}

func (*Cache) Do added in v0.2.75

func (c *Cache) Do(key string, f func() (interface{}, error)) (interface{}, error)

func (*Cache) Get added in v0.2.75

func (c *Cache) Get(key string) (interface{}, error, bool)

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.

func GetConfig

func GetConfig(ctx context.Context) *Config

GetConfig returns the Config associated with a context, or DefaultConfig.

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

type GamepadButton struct {
	Button     int
	IsAxis     bool
	IsPositive bool
}

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

type KeyboardLayout struct {
	Name string     `json:"name"`
	Code [10]string `json:"code"`
}

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

Jump to

Keyboard shortcuts

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