sharecode

package
v1.0.2 Latest Latest
Warning

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

Go to latest
Published: Nov 15, 2020 License: MIT Imports: 8 Imported by: 0

Documentation

Index

Constants

View Source
const (
	ShareCodeVersion            = 8
	BoardCellNum                = 8
	SharecodeMaxTalents         = 16
	SharecodeMaxUnequippedItems = 10
)

Share Code Constants

Variables

This section is empty.

Functions

This section is empty.

Types

type V8

type V8 struct {
	UnitItems            [BoardCellNum][BoardCellNum]V8EquippedItem3Bytes     // 24 bits per unit item    (192 bytes)
	BoardUnitIDs         [BoardCellNum][BoardCellNum]uint8                    // 8 bits per unit          (64 bytes)
	SelectedTalents      [SharecodeMaxTalents][2]uint8                        // 128 bits per player      (32 bytes)
	PackedUnitRanks      [BoardCellNum]V8PackedUnitRank                       // 4 bits per unit rank     (32 bytes)
	BenchUnitItems       [BoardCellNum]V8EquippedItem3Bytes                   // 24 bits per unit item    (24 bytes)
	BenchedUnitIDs       [BoardCellNum]uint8                                  // 8 bits per unit          (8 bytes)
	PackedBenchUnitRanks V8PackedUnitRank                                     // 4 bits per unit rank     (4 bytes)
	UnderlordIDs         [2]uint8                                             // 8 bits per player        (2 bytes)
	UnderlordRanks       [2]uint8                                             // 8 bits per player        (2 bytes)
	UnequippedItems      [SharecodeMaxUnequippedItems][2]V8EquippedItem3Bytes // 24 bits per unused item  (60 bytes)
	// contains filtered or unexported fields
}

V8 - The actual share code structure

func NewV8FromCode

func NewV8FromCode(sharecode string) V8

NewV8FromCode - Create a new v8 share code from a byte64 string

func (*V8) DebugPrintSizes

func (sc *V8) DebugPrintSizes()

DebugPrintSizes - Debug tool printing byte sizes of each field

func (*V8) PrintBytesString

func (sc *V8) PrintBytesString()

PrintBytesString - Print bytes of share code

func (*V8) ReflectAlignments

func (sc *V8) ReflectAlignments()

ReflectAlignments - Debug function to view memory usage and layout

func (*V8) ToBase64String

func (sc *V8) ToBase64String() string

ToBase64String - Returns base64 encoding of the share code

func (*V8) ToString

func (sc *V8) ToString() string

ToString - Alias for ToBase64String

type V8EquippedItem

type V8EquippedItem struct {
	ItemID uint16
}

V8EquippedItem - Equipped item struct

type V8EquippedItem3Bytes

type V8EquippedItem3Bytes [3]byte

V8EquippedItem3Bytes - Equipped items use up 24 bits, yet one byte is unused

func NewV8EquippedItem3Bytes

func NewV8EquippedItem3Bytes(item V8EquippedItem) V8EquippedItem3Bytes

NewV8EquippedItem3Bytes - Creates a 3 bytes big struct from a ShareCodeEquippedItem

func (*V8EquippedItem3Bytes) ToEquippedItem

func (item *V8EquippedItem3Bytes) ToEquippedItem() V8EquippedItem

ToEquippedItem - Convert back 3 bytes array to EquippedItem struct

type V8PackedUnitRank

type V8PackedUnitRank uint32

V8PackedUnitRank - Alias for uint32

func NewV8PackedUnitRanks

func NewV8PackedUnitRanks(ranks []uint8) V8PackedUnitRank

NewV8PackedUnitRanks - Function to pack uint8 array into a uint32, removing the first 4 bits of each uint8

func (*V8PackedUnitRank) UnpackUnitRanks

func (packedRanks *V8PackedUnitRank) UnpackUnitRanks() []uint8

UnpackUnitRanks - Unpack packed unit ranks

Jump to

Keyboard shortcuts

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