Versions in this module Expand all Collapse all v0 v0.5.1 Jan 15, 2023 Changes in this version + const DescriptorOptionAlpha + const DescriptorOptionClassicGUIDs + const DescriptorOptionHasHasTransport + var BlockTypeDescriptors = map[vsn.BuildRange]BlockTypeDescriptor + var Descriptors = map[vsn.BuildRange]*Descriptor + var ErrNotAStruct = errors.New("update: not a struct") + var ItemFlagLookup = map[string]ItemFlag + var ItemFlagNames = map[ItemFlag]string + var MaxBlockCount uint32 = 2048 + var MoveFlagDescriptors = map[vsn.BuildRange]MoveFlagDescriptor + var SpeedCodes = map[SpeedType]SpeedOpcodePair + var SpeedLists = map[vsn.BuildRange][]SpeedType + var SplineFlagDescriptors = map[vsn.BuildRange]SplineFlagDescriptor + var UpdateFlagDescriptors = map[vsn.BuildRange]UpdateFlagDescriptor + func EncodeMoveSpline(version vsn.Build, out io.Writer, ms *MoveSpline) error + func EncodeMovementInfo(version vsn.Build, out io.Writer, mi *MovementInfo) error + func SetAuraFlag(flagarray *Value, index int, value AuraFlags) error + func WriteBitmask(mask *Bitmask, descriptor *Descriptor, writer io.Writer) error + type AlignPad struct + type AuraFlags uint8 + const AuraCancelable + const AuraMaskAll + const AuraUnk2 + const AuraUnk3 + const AuraUnk4 + type BitPad struct + type Bitmask []uint32 + func NewBitmask() *Bitmask + func ReadBitmask(descriptor *Descriptor, reader io.Reader) (*Bitmask, error) + func (b *Bitmask) Enabled(offset uint32) bool + func (b *Bitmask) Set(offset uint32, value bool) + func (b Bitmask) Clear() + func (b Bitmask) Copy() Bitmask + func (b Bitmask) String() string + func (mask Bitmask) Len() int + type BlockData interface + Type func() BlockType + WriteData func(*Encoder, VisibilityFlags, bool) error + type BlockType int + const CreateObject + const DeleteFarObjects + const DeleteNearObjects + const Movement + const SpawnObject + const Values + func (i BlockType) String() string + type BlockTypeDescriptor map[BlockType]uint8 + type BytePad struct + type ChunkPad struct + type CreateBlock struct + BlockType BlockType + MovementBlock *MovementBlock + ObjectType guid.TypeID + ValuesBlock *ValuesBlock + func (cb *CreateBlock) Type() BlockType + func (cb *CreateBlock) WriteData(e *Encoder, mask VisibilityFlags, create bool) error + type Decoder struct + BlockCount uint32 + Build vsn.Build + CurrentBlockIndex uint32 + CurrentBlockType BlockType + HasTransport bool + Map uint16 + Reader io.Reader + SmoothDeleteStartIndex uint16 + func NewDecoder(version vsn.Build, reader io.Reader) (*Decoder, error) + func (dec *Decoder) DecodeDeleteObjectsBlock() (*DeleteObjectsBlock, error) + func (decoder *Decoder) DecodeBlockType() (BlockType, error) + func (decoder *Decoder) DecodeCreateBlock() (*CreateBlock, error) + func (decoder *Decoder) DecodeGUID() (guid.GUID, error) + func (decoder *Decoder) DecodeMovementBlock() (*MovementBlock, error) + func (decoder *Decoder) DecodeValuesBlockData(valuesBlock *ValuesBlock) error + func (decoder *Decoder) IsCreateBlock() bool + func (decoder *Decoder) MoreBlocks() bool + func (decoder *Decoder) NextBlock() (BlockType, error) + type DeleteObjectsBlock struct + BlockType BlockType + GUIDs []guid.GUID + func (f *DeleteObjectsBlock) Type() BlockType + func (f *DeleteObjectsBlock) WriteAll(e *Encoder) error + type Descriptor struct + ObjectDescriptors map[guid.TypeMask]reflect.Type + func GetDescriptor(build vsn.Build) *Descriptor + type DescriptorOptions uint32 + type Destroy struct + Object guid.GUID + func (d *Destroy) Decode(build vsn.Build, in *packet.WorldPacket) (err error) + func (d *Destroy) Encode(build vsn.Build, out *packet.WorldPacket) error + type Encoder struct + Build vsn.Build + Descriptor *Descriptor + func NewEncoder(version vsn.Build, writer io.Writer, numBlocks int) (*Encoder, error) + func (enc *Encoder) AddBlock(id guid.GUID, data BlockData, viewMask VisibilityFlags) error + func (enc *Encoder) EncodeBlockType(bt BlockType) error + func (enc *Encoder) EncodeGUID(id guid.GUID) error + type FieldRef struct + ChunkOffset uint32 + type FieldTag string + func (ft FieldTag) IsParty() bool + func (ft FieldTag) IsPrivate() bool + type FlyState struct + GUID guid.GUID + On bool + func (f *FlyState) Decode(build vsn.Build, in *packet.WorldPacket) error + func (f *FlyState) Encode(build vsn.Build, out *packet.WorldPacket) error + type ForceSpeedChange struct + Counter uint32 + ID guid.GUID + NewSpeed float32 + Type SpeedType + func (fs *ForceSpeedChange) Encode(build vsn.Build, out *packet.WorldPacket) (err error) + type ItemFlag uint32 + const ItemFlagActivateOnEquipEffectsWhenTransmogrified + const ItemFlagActsAsTransmogHiddenVisualOption + const ItemFlagAlwaysAllowDualWield + const ItemFlagAlwaysFfaInLoot + const ItemFlagAlwaysShowItemLevelInTooltip + const ItemFlagBindsToAccount + const ItemFlagBnetAccountTradeOk + const ItemFlagBypassRepRequirementsForTransmog + const ItemFlagCanDropInChallengeMode + const ItemFlagCanOnlyRollGreed + const ItemFlagCanStoreEnchants + const ItemFlagCanTradeBindOnAcquire + const ItemFlagCasterWeapon + const ItemFlagClassifyAsCaster + const ItemFlagClassifyAsPhysical + const ItemFlagConfirmBeforeUse + const ItemFlagConjured + const ItemFlagContainerSavesPlayerData + const ItemFlagCreateLootImmediately + const ItemFlagDeleteOnLogin + const ItemFlagDeprecated + const ItemFlagDisenchantToLootTable + const ItemFlagDisplayAsHeirloom + const ItemFlagDisplayOnlyOnDefinedRaces + const ItemFlagDoNotToast + const ItemFlagDoesntShowUpInTransmogUntilCollected + const ItemFlagDontDestroyOnQuestAccept + const ItemFlagDontDisplayInGuildNews + const ItemFlagDontIgnoreBuyPrice + const ItemFlagDontReportLootLogToParty + const ItemFlagEnd + const ItemFlagEnforceTransmogWithChildItem + const ItemFlagEveryoneCanRollNeed + const ItemFlagExpireOnWeeklyReset + const ItemFlagFactionAlliance + const ItemFlagFactionHorde + const ItemFlagForceAllSpecsForItemHistory + const ItemFlagGenerateLootSpecItem + const ItemFlagHandleOnUseEffectImmediately + const ItemFlagHasLoot + const ItemFlagHasQuestGlow + const ItemFlagHasText + const ItemFlagHeroicTooltip + const ItemFlagHideNameSuffix + const ItemFlagHideQuestItemFromObjectTooltip + const ItemFlagHideUnusableRecipe + const ItemFlagHideUpgradeLevelsIfNotUpgraded + const ItemFlagIgnoreCreationContextForProgressiveWinHistory + const ItemFlagIgnoreDefaultArenaRestrictions + const ItemFlagIgnoreDefaultRatedBgRestrictions + const ItemFlagIgnoreForAuras + const ItemFlagIgnoreItemHistoryTracker + const ItemFlagIgnoreItemLevelCapInPvp + const ItemFlagIgnoreQualityForItemVisualSource + const ItemFlagInternalItem + const ItemFlagIsMillable + const ItemFlagIsProspectable + const ItemFlagIsWrapper + const ItemFlagItemCanBeUpgraded + const ItemFlagItemPurchaseRecord + const ItemFlagMultiDrop + const ItemFlagMultiLootQuest + const ItemFlagNeverStackInLootUi + const ItemFlagNoAlterItemVisual + const ItemFlagNoCreator + const ItemFlagNoDisenchant + const ItemFlagNoDurability + const ItemFlagNoDurabilityLoss + const ItemFlagNoEquipCooldown + const ItemFlagNoPickup + const ItemFlagNoProgressiveLoot + const ItemFlagNoReagentCost + const ItemFlagNoSourceForItemVisual + const ItemFlagNoTradeBindOnAcquire + const ItemFlagNoTransformOnChargeDepletion + const ItemFlagNoUserDestroy + const ItemFlagNoVendorValue + const ItemFlagNoVoidStorage + const ItemFlagNotUsableInRatedBg + const ItemFlagNotUseableInArena + const ItemFlagObliteratable + const ItemFlagObsolete + const ItemFlagOverrideGoldCost + const ItemFlagPetition + const ItemFlagPlayerCast + const ItemFlagPushLoot + const ItemFlagPvpTournamentGear + const ItemFlagRealDuration + const ItemFlagReevaluateBondingOnTransform + const ItemFlagRegulatedCommodity + const ItemFlagReportToGuildChat + const ItemFlagRequiresStackChangeLog + const ItemFlagRoleDamage + const ItemFlagRoleHealer + const ItemFlagRoleTank + const ItemFlagSaveOnConsume + const ItemFlagScrapable + const ItemFlagShowBeforeDiscovered + const ItemFlagShowsGenerationWithRandomStats + const ItemFlagSkipUseCheckOnPickup + const ItemFlagUniqueEquippable + const ItemFlagUnusedFlag + const ItemFlagUpdateDoesntLeaveProgressiveWinHistory + const ItemFlagUpdateInteractions + const ItemFlagUpgradeFromItemOverridesDropUpgrade + const ItemFlagUseWhenShapeshifted + const ItemFlagUsedInATradeskill + const ItemFlagUsesResources + func (x ItemFlag) String() string + type ItemFlags struct + Bitmask Bitmask + func DecodeItemFlags(build vsn.Build, in io.Reader) (ItemFlags, error) + func (iflg *ItemFlags) Encode(build vsn.Build, out io.Writer) error + func (it *ItemFlags) DecodeWord(str string) error + func (it *ItemFlags) EncodeWord() (string, error) + func (it ItemFlags) HasFlag(flag ItemFlag) bool + type MoveFlagDescriptor map[MoveFlags]uint64 + type MoveFlags uint64 + const MoveFlagAllowPitching + const MoveFlagAscending + const MoveFlagBackward + const MoveFlagCanFly + const MoveFlagDontCollide + const MoveFlagFalling + const MoveFlagFallingFar + const MoveFlagFlying + const MoveFlagFlyingOld + const MoveFlagForward + const MoveFlagFullSpeedPitching + const MoveFlagFullSpeedTurning + const MoveFlagHover + const MoveFlagImmobilized + const MoveFlagInterpolateMovement + const MoveFlagInterpolatePitching + const MoveFlagInterpolateTurning + const MoveFlagLevitating + const MoveFlagMoved + const MoveFlagNoStrafe + const MoveFlagOnTransport + const MoveFlagPendingBackward + const MoveFlagPendingFall + const MoveFlagPendingForward + const MoveFlagPendingStop + const MoveFlagPendingStrLeft + const MoveFlagPendingStrRight + const MoveFlagPendingUnstrafe + const MoveFlagPitchDown + const MoveFlagPitchUp + const MoveFlagRedirected + const MoveFlagRoot + const MoveFlagSafeFall + const MoveFlagSliding + const MoveFlagSplineElevation + const MoveFlagSplineEnabled + const MoveFlagStrafeLeft + const MoveFlagStrafeRight + const MoveFlagSwimming + const MoveFlagTimeValid + const MoveFlagTurnLeft + const MoveFlagTurnRight + const MoveFlagWalkMode + const MoveFlagWaterwalking + func (mf MoveFlags) String() string + type MoveSpline struct + Duration int32 + DurationMod float32 + DurationModNext float32 + EffectStartTime int32 + Endpoint tempest.C3Vector + Facing tempest.C3Vector + FacingAngle float32 + FacingTarget guid.GUID + Flags SplineFlags + ID uint32 + Spline []tempest.C3Vector + SplineMode uint8 + TimePassed int32 + VerticalAcceleration float32 + func DecodeMoveSpline(version vsn.Build, in io.Reader) (*MoveSpline, error) + type MovementBlock struct + All uint32 + HighGUID uint32 + ID guid.GUID + Info *MovementInfo + LowGUID uint32 + Player bool + Position tempest.C4Vector + Rotation tempest.C4Quaternion + Speeds Speeds + Spline *MoveSpline + UpdateFlags UpdateFlags + VehicleID uint32 + VehicleRotation float32 + Victim guid.GUID + WorldTime uint32 + func (mBlock *MovementBlock) Type() BlockType + func (mb *MovementBlock) WriteData(e *Encoder, mask VisibilityFlags, create bool) error + type MovementInfo struct + FallCos float32 + FallSin float32 + FallTime uint32 + FallVelocity float32 + FallXYSpeed float32 + Flags MoveFlags + Pitch float32 + Position tempest.C4Vector + SplineElevation float32 + Time uint32 + TransportGUID guid.GUID + TransportInterpolateTime uint32 + TransportPosition tempest.C4Vector + TransportSeat int8 + TransportTime uint32 + func DecodeMovementInfo(version vsn.Build, in io.Reader) (*MovementInfo, error) + type MovementPacket struct + GUID guid.GUID + Info *MovementInfo + Server bool + Type packet.WorldType + func (mp *MovementPacket) Decode(build vsn.Build, in *packet.WorldPacket) error + func (mp *MovementPacket) Encode(build vsn.Build, out *packet.WorldPacket) error + type SetActiveMover struct + ID guid.GUID + func (sam *SetActiveMover) Decode(build vsn.Build, in *packet.WorldPacket) (err error) + func (sam *SetActiveMover) Encode(build vsn.Build, out *packet.WorldPacket) (err error) + type SetSheathe struct + Mode uint32 + func (swm *SetSheathe) Decode(build vsn.Build, in *packet.WorldPacket) error + func (swm *SetSheathe) Encode(build vsn.Build, out *packet.WorldPacket) error + type SetStandState struct + State StandState + func (sss *SetStandState) Decode(build vsn.Build, in *packet.WorldPacket) (err error) + func (sss *SetStandState) Encode(build vsn.Build, out *packet.WorldPacket) (err error) + type SetWeaponMode struct + Mode uint32 + func (swm *SetWeaponMode) Decode(build vsn.Build, in *packet.WorldPacket) error + func (swm *SetWeaponMode) Encode(build vsn.Build, out *packet.WorldPacket) error + type SpeedList []SpeedType + func GetSpeedList(v vsn.Build) SpeedList + type SpeedOpcodePair struct + Force packet.WorldType + Spline packet.WorldType + type SpeedType uint8 + const Flight + const FlightBackward + const Pitch + const Run + const RunBackward + const Swim + const SwimBackward + const Turn + const Walk + func (i SpeedType) String() string + type Speeds map[SpeedType]float32 + type SplineFlagDescriptor map[SplineFlags]uint32 + type SplineFlags uint32 + const SplineAnimation + const SplineBackward + const SplineBoardVehicle + const SplineCanSwim + const SplineCatmullrom + const SplineCyclic + const SplineDone + const SplineEnterCycle + const SplineExitVehicle + const SplineFalling + const SplineFinalAngle + const SplineFinalPoint + const SplineFinalTarget + const SplineFlying + const SplineFrozen + const SplineNoSpline + const SplineNone + const SplineOrientationFixed + const SplineOrientationInverted + const SplineParabolic + const SplineTransportEnter + const SplineTransportExit + const SplineWalkmode + type SplineSpeedChange struct + ID guid.GUID + NewSpeed float32 + Type SpeedType + func (ss *SplineSpeedChange) Encode(build vsn.Build, out *packet.WorldPacket) (err error) + type StandState uint8 + const StateCustom + const StateDead + const StateKneel + const StateSit + const StateSitChair + const StateSitHighChair + const StateSitLowChair + const StateSitMediumChair + const StateSleep + const StateStand + type Target struct + ID guid.GUID + func (t *Target) Decode(build vsn.Build, in *packet.WorldPacket) (err error) + func (t *Target) Encode(build vsn.Build, out *packet.WorldPacket) (err error) + type UpdateFlagDescriptor map[UpdateFlags]uint32 + type UpdateFlags uint32 + const UpdateFlagAll + const UpdateFlagHasAttackingTarget + const UpdateFlagHasPosition + const UpdateFlagHighGUID + const UpdateFlagLiving + const UpdateFlagLowGUID + const UpdateFlagNone + const UpdateFlagPosition + const UpdateFlagRotation + const UpdateFlagSelf + const UpdateFlagTransport + const UpdateFlagVehicle + func (uf UpdateFlags) String() string + type Value struct + Bitmask *Bitmask + Block *ValuesBlock + ChangeMaskOffset uint32 + Value reflect.Value + func (v *Value) Byte() uint8 + func (v *Value) Field(name string) *Value + func (v *Value) FieldIndex(n int) *Value + func (v *Value) FieldNames() []string + func (v *Value) Find(field string) *Value + func (v *Value) GUID() guid.GUID + func (v *Value) Index(index int) *Value + func (v *Value) Int32() int32 + func (v *Value) Len() int + func (v *Value) SetBit(value bool) + func (v *Value) SetByte(value uint8) + func (v *Value) SetFloat32(value float32) + func (v *Value) SetGUID(value guid.GUID) + func (v *Value) SetInt16(value int16) + func (v *Value) SetInt32(value int32) + func (v *Value) SetUint16(value uint16) + func (v *Value) SetUint32(value uint32) + func (v *Value) Uint32() uint32 + type ValuesBlock struct + ChangeMask *Bitmask + Descriptor *Descriptor + StorageDescriptor reflect.Value + TypeMask guid.TypeMask + func NewValuesBlock(build vsn.Build, mask guid.TypeMask) (*ValuesBlock, error) + func (v *ValuesBlock) Copy() *ValuesBlock + func (valuesBlock *ValuesBlock) WriteData(e *Encoder, viewMask VisibilityFlags, create bool) error + func (vb *ValuesBlock) ClearChanges() + func (vb *ValuesBlock) ClearChangesAndUnlock() + func (vb *ValuesBlock) Get(name string) *Value + func (vb *ValuesBlock) SetBit(glob string, value bool) + func (vb *ValuesBlock) SetByte(glob string, value uint8) + func (vb *ValuesBlock) SetFloat32(glob string, value float32) + func (vb *ValuesBlock) SetGUID(glob string, value guid.GUID) + func (vb *ValuesBlock) SetInt32(glob string, value int32) + func (vb *ValuesBlock) SetUint32(glob string, nvalue uint32) + func (vb *ValuesBlock) Type() BlockType + func (vb *ValuesBlock) Value() *Value + type ValuesDecoder struct + BitPos uint32 + ChunkPos uint32 + CurrentBitmask *Bitmask + CurrentChunk [4]byte + Decoder *Decoder + func (valdec *ValuesDecoder) BytePos() int + func (valdec *ValuesDecoder) Decode(field reflect.Value, name string) error + func (valdec *ValuesDecoder) FillCurrentChunk() + func (valdec *ValuesDecoder) Fwd(n uint32) + func (valdec *ValuesDecoder) FwdBits(n uint32) + func (valdec *ValuesDecoder) FwdBytes(n uint32) + func (valdec *ValuesDecoder) ReadBit(to reflect.Value) error + func (valdec *ValuesDecoder) ReadByte(to reflect.Value) error + func (valdec *ValuesDecoder) ReadFloat32(to reflect.Value) error + func (valdec *ValuesDecoder) ReadGUID(to reflect.Value) error + func (valdec *ValuesDecoder) ReadInt32(to reflect.Value) error + func (valdec *ValuesDecoder) ReadUint16(to reflect.Value) error + func (valdec *ValuesDecoder) ReadUint32(to reflect.Value) error + func (valdec *ValuesDecoder) ReadUint64(to reflect.Value) error + type ValuesEncoder struct + BitPos uint32 + ChunkPos uint32 + Create bool + CurrentBitmask *Bitmask + Encoder *Encoder + NextChunk [4]byte + ValuesBlock *ValuesBlock + ViewMask VisibilityFlags + WritePos uint32 + func (v *ValuesEncoder) Write(b []byte) (int, error) + func (valenc *ValuesEncoder) EncodeValue(value reflect.Value, name string, tag FieldTag) error + func (valenc *ValuesEncoder) SetCreateBits() error + func (ve *ValuesEncoder) ChunkCount(mask *Bitmask) int + type VisibilityFlags uint32 + const Empath + const None + const Owner + const PartyMember + const UnitAll