-
Notifications
You must be signed in to change notification settings - Fork 7
2.5.1 Consolidated UI Changes
- Contents
- Notable Changes
- API Changes by Category
- Event Changes
- FrameXML API Changes
- Deprecated APIs
- Resources
Known issues can be found on the issue tracker with the "BCC" label.
- The interface version is 20501.
- The client now supports loading TOC files specific to the BCC client. The client will first look for an "MyAddOn-BCC.toc" file in in an addon directory and load that if present, or will fall back to the standard "MyAddOn.toc". More details can be read here.
- The client has been rebased atop Retail patch 9.0.5.
- The 9.0.1 Consolidated UI changes may assist in porting addons from the existing Classic client. Key breaking changes include the removal of backdrop support.
- Note that despite the rebase, differences in the API between the two clients may remain.
- Currently, adding new files and TOC metadata changes still requires a full client restart to take effect.
- Various API functions for models, sounds, and textures now accept file IDs in addition to paths.
- The new event trace tool and scrollbox functionality from patch 9.1 has been included in patch 2.5.1.
The below listing isn't complete and may change over the course of the beta.
Achievements are a patch 3.0 feature. The APIs listed below are likely non-functional in BC classic and will do nothing interesting if used.
- Added: C_AchievementInfo.GetRewardItemID
- Added: C_AchievementInfo.GetSupercedingAchievements
- Added: C_AchievementInfo.IsValidAchievement
- Added: C_AchievementInfo.SetPortraitTexture
- Added: C_ActionBar.IsHarmfulAction
- Added: C_ActionBar.IsHelpfulAction
- Added: C_CVar.GetCVar
- Added: C_CVar.GetCVarBitfield
- Added: C_CVar.GetCVarBool
- Added: C_CVar.GetCVarDefault
- Added: C_CVar.RegisterCVar
- Added: C_CVar.ResetTestCVars
- Added: C_CVar.SetCVar
- Added: C_CVar.SetCVarBitfield
This API has been synchronized with the one provided in the patch 9.0.5 Retail client.
- Added: C_DateAndTime.AdjustTimeByDays
- Added: C_DateAndTime.AdjustTimeByMinutes
- Added: C_DateAndTime.CompareCalendarTime
- Added: C_DateAndTime.GetCalendarTimeFromEpoch
- Added: C_DateAndTime.GetCurrentCalendarTime
- Added: C_DateAndTime.GetSecondsUntilWeeklyReset
- Added: C_DateAndTime.GetServerTimeLocal
The in-game equipment manager was added in patch 3.1.2, however its APIs have been added to BC Classic and appear to be functional.
- Added: C_EquipmentSet.AssignSpecToEquipmentSet
- Added: C_EquipmentSet.CanUseEquipmentSets
- Added: C_EquipmentSet.ClearIgnoredSlotsForSave
- Added: C_EquipmentSet.CreateEquipmentSet
- Added: C_EquipmentSet.DeleteEquipmentSet
- Added: C_EquipmentSet.EquipmentSetContainsLockedItems
- Added: C_EquipmentSet.GetEquipmentSetAssignedSpec
- Added: C_EquipmentSet.GetEquipmentSetForSpec
- Added: C_EquipmentSet.GetEquipmentSetID
- Added: C_EquipmentSet.GetEquipmentSetIDs
- Added: C_EquipmentSet.GetEquipmentSetInfo
- Added: C_EquipmentSet.GetIgnoredSlots
- Added: C_EquipmentSet.GetItemIDs
- Added: C_EquipmentSet.GetItemLocations
- Added: C_EquipmentSet.GetNumEquipmentSets
- Added: C_EquipmentSet.IgnoreSlotForSave
- Added: C_EquipmentSet.IsSlotIgnoredForSave
- Added: C_EquipmentSet.ModifyEquipmentSet
- Added: C_EquipmentSet.PickupEquipmentSet
- Added: C_EquipmentSet.SaveEquipmentSet
- Added: C_EquipmentSet.UnassignEquipmentSetSpec
- Added: C_EquipmentSet.UnignoreSlotForSave
- Added: C_EquipmentSet.UseEquipmentSet
- Added: C_GamePad.ApplyConfigs
- Added: C_GamePad.AxisIndexToConfigName
- Added: C_GamePad.ButtonBindingToIndex
- Added: C_GamePad.ButtonIndexToBinding
- Added: C_GamePad.ButtonIndexToConfigName
- Added: C_GamePad.DeleteConfig
- Added: C_GamePad.GetActiveDeviceID
- Added: C_GamePad.GetAllConfigIDs
- Added: C_GamePad.GetAllDeviceIDs
- Added: C_GamePad.GetCombinedDeviceID
- Added: C_GamePad.GetConfig
- Added: C_GamePad.GetDeviceMappedState
- Added: C_GamePad.GetDeviceRawState
- Added: C_GamePad.IsEnabled
- Added: C_GamePad.SetConfig
- Added: C_GamePad.StickIndexToConfigName
- Added: C_GossipInfo.GetCustomGossipDescriptionString
- Added: C_GossipInfo.GetPoiForUiMapID
- Added: C_GossipInfo.GetPoiInfo
- Moved: GetGossipPoiForUiMapID → C_GossipInfo.GetPoiForUiMapID
- Moved: GetGossipPoiInfo → C_GossipInfo.GetPoiInfo
- Added: C_GuildInfo.CanEditOfficerNote - Replaces CanEditOfficerNote.
- Added: C_GuildInfo.CanViewOfficerNote - Replaces CanViewOfficerNote.
- Added: C_GuildInfo.GetGuildTabardInfo
- Added: C_GuildInfo.GuildRoster - Replaces GuildRoster.
- Added: C_GuildInfo.IsGuildOfficer
- Added: C_GuildInfo.QueryGuildMembersForRecipe
- Added: C_Item.GetStackCount
- Added: C_Item.LockItemByGUID
- Added: C_Item.UnlockItemByGUID
Item upgrades are only available in Retail-specific content. The APIs listed below are likely non-functional in BC classic and will do nothing interesting if used.
- Added: C_LFGInfo.CanPlayerUseGroupFinder
- Added: C_LFGInfo.CanPlayerUseLFD
- Added: C_LFGInfo.CanPlayerUseLFR
- Added: C_LFGInfo.CanPlayerUsePremadeGroup
- Added: C_LFGInfo.CanPlayerUsePVP
- Added: C_LFGInfo.ConfirmLfgExpandSearch
- Added: C_LFGInfo.GetAllEntriesForCategory
- Added: C_LFGInfo.GetLFDLockStates
- Added: C_LFGInfo.GetRoleCheckDifficultyDetails
- Added: C_LFGInfo.HideNameFromUI
Legacy loot mode is a patch 7.3.5 feature. The APIs listed below are likely non-functional in BC classic and will probably always return false.
- Added: C_LossOfControl.GetActiveLossOfControlData
- Added: C_LossOfControl.GetActiveLossOfControlDataByUnit
- Added: C_LossOfControl.GetActiveLossOfControlDataCount
- Added: C_LossOfControl.GetActiveLossOfControlDataCountByUnit
- Added: C_PlayerInfo.GUIDIsPlayer
- Added: C_PlayerInfo.UnitIsSameServer
- Added: C_PvP.GetArenaCrowdControlInfo
- Added: C_PvP.IsInBrawl
- Added: C_PvP.RequestCrowdControlSpell
- Added: C_QuestLog.IsQuestFlaggedCompleted - Replaces IsQuestFlaggedCompleted.
Party sync is a patch 8.2.5 feature. The APIs listed below are likely non-functional in BC classic and will do nothing interesting if used.
- Added: C_QuestSession.CanStart
- Added: C_QuestSession.CanStop
- Added: C_QuestSession.Exists
- Added: C_QuestSession.GetAvailableSessionCommand
- Added: C_QuestSession.GetPendingCommand
- Added: C_QuestSession.GetProposedMaxLevelForSession
- Added: C_QuestSession.GetSessionBeginDetails
- Added: C_QuestSession.GetSuperTrackedQuest
- Added: C_QuestSession.HasJoined
- Added: C_QuestSession.HasPendingCommand
- Added: C_QuestSession.RequestSessionStart
- Added: C_QuestSession.RequestSessionStop
- Added: C_QuestSession.SendSessionBeginResponse
- Added: C_QuestSession.SetQuestIsSuperTracked
Paragon reputations are a patch 7.2 feature. The APIs listed below are likely non-functional in BC classic and will do nothing interesting if used.
- Added: C_Reputation.GetFactionParagonInfo
- Added: C_Reputation.IsFactionParagon
- Added: C_Reputation.RequestFactionParagonPreloadRewardData
- Added: C_SocialRestrictions.IsMuted
- Added: C_SocialRestrictions.IsSilenced
- Added: C_SocialRestrictions.IsSquelched
- Added: C_StableInfo.GetNumActivePets
- Added: C_StableInfo.GetNumStablePets
The task quest system is used in Retail-only content for time-limited quests such as invasions. The APIs listed below are likely non-functional in BC classic and will do nothing interesting if used.
- Added: C_TaskQuest.DoesMapShowTaskQuestObjectives
- Added: C_TaskQuest.GetQuestInfoByQuestID
- Added: C_TaskQuest.GetQuestLocation
- Added: C_TaskQuest.GetQuestProgressBarInfo
- Added: C_TaskQuest.GetQuestsForPlayerByMapID
- Added: C_TaskQuest.GetQuestTimeLeftMinutes
- Added: C_TaskQuest.GetQuestTimeLeftSeconds
- Added: C_TaskQuest.GetQuestZoneID
- Added: C_TaskQuest.GetThreatQuests
- Added: C_TaskQuest.GetUIWidgetSetIDFromQuestID
- Added: C_TaskQuest.IsActive
- Added: C_TaskQuest.RequestPreloadRewardData
- Added: C_Texture.GetAtlasInfo
The toy box is a patch 6.0 feature. The APIs listed below are likely non-functional in BC classic and will do nothing interesting if used.
- Added: C_ToyBoxInfo.ClearFanfare
- Added: C_ToyBoxInfo.NeedsFanfare
- Added: AcceptSockets
- Added: CanAutoSetGamePadCursorControl
- Added: CanGamePadControlCursor
- Added: ClassicExpansionAtLeast - Returns
true
if the current expansion level is at least that of the givenLE_EXPANSION_*
value. - Added: ClearAllTracking
- Added: ClearFocus
- Added: ClickSocketButton
- Added: CloseSocketInfo
- Added: DestroyTotem
- Added: DoesItemContainSpec
- Added: FocusUnit
- Added: GetArmorPenetration
- Added: GetClassicExpansionLevel - Returns an
LE_EXPANSION_*
value for the current expansion level. - Added: GetClassInfo - Returns nil if queried for class IDs 6 and 10.
- Added: GetCritChanceFromAgility
- Added: GetCurrentTitle
- Added: GetDailyQuestsCompleted
- Added: GetDefaultScale
- Added: GetDifficultyInfo
- Added: GetDungeonDifficultyID
- Added: GetExistingSocketInfo
- Added: GetExistingSocketLink
- Added: GetExpertise
- Added: GetExpertisePercent
- Added: GetItemChildInfo
- Added: GetItemGem
- Added: GetItemSpecInfo
- Added: GetLegacyRaidDifficultyID
- Added: GetMaxDailyQuests
- Added: GetNewSocketInfo
- Added: GetNewSocketLink
- Added: GetNumClasses - Note that this returns 11 instead of 9; this is however probably correct in that it reflects the highest valid index passable to GetClassInfo.
- Added: GetNumSockets
- Added: GetNumTitles
- Added: GetNumTrackingTypes
- Added: GetRaidDifficultyID
- Added: GetRealmID
- Added: GetServerExpansionLevel
- Added: GetSocketItemBoundTradeable
- Added: GetSocketItemInfo
- Added: GetSocketItemRefundable
- Added: GetSocketTypes
- Added: GetSpellCritChanceFromIntellect
- Added: GetTitleName
- Added: GetTotemCannotDismiss
- Added: GetTrackingInfo
- Added: GetUnitHealthRegenRateFromSpirit
- Added: GetUnitManaRegenRateFromSpirit
- Added: HasBoundGemProposed
- Added: IsActiveBattlefieldArena
- Added: IsArenaSeasonActive
- Added: IsBattlefieldArena
- Added: IsBindingForGamePad
- Added: IsFlyableArea
- Added: IsFlying
- Added: IsGamePadCursorControlEnabled
- Added: IsGamePadFreelookEnabled
- Added: IsLeftMetaKeyDown
- Added: IsLegacyDifficulty
- Added: IsMetaKeyDown
- Added: IsRightMetaKeyDown
- Added: IsTitleKnown
- Added: JoinArena
- Added: JoinSkirmish
- Added: MuteSoundFile
- Added: SaveBindings
- Added: SetCurrentTitle
- Added: SetDungeonDifficultyID
- Added: SetGamePadCursorControl
- Added: SetGamePadFreeLook
- Added: SetLegacyRaidDifficultyID
- Added: SetMoveEnabled
- Added: SetRaidDifficultyID
- Added: SetTracking
- Added: SetTurnEnabled
- Added: ShouldKnowUnitHealth - Whether the player would have been able to know the unit's exact health value in the original game release.
- Added: SocketContainerItem
- Added: SocketInventoryItem
- Added: UnitArenaTeamName
- Added: UnitCastingInfo
- Added: UnitChannelInfo
- Added: UnitNameUnmodified
- Added: UnmuteSoundFile
- Added: UpdateWindow
- Moved: AttemptToSaveBindings → SaveBindings - This function now has more self-confidence.
- Moved: GetAtlasInfo → C_Texture.GetAtlasInfo - Now returns structured data.
- Removed: AcceptLevelGrant
- Removed: CheckEmailEnabled
- Removed: DeclineLevelGrant
- Removed: GetRecruitInfo
- Removed: GrantLevel
- Removed: IsQuestFlaggedCompleted - Replaced by C_QuestLog.IsQuestFlaggedCompleted.
- Removed: IsSendingEnabled
- Removed: SendRecruit
- Added: ARENA_COOLDOWNS_UPDATE
- Added: ARENA_CROWD_CONTROL_SPELL_UPDATE
- Added: ARENA_OPPONENT_UPDATE
- Added: ARENA_REGISTRAR_CLOSED
- Added: ARENA_REGISTRAR_SHOW
- Added: ARENA_REGISTRAR_UPDATE
- Added: ARENA_SEASON_WORLD_STATE
- Added: ARENA_TEAM_INVITE_REQUEST
- Added: ARENA_TEAM_ROSTER_UPDATE
- Added: ARENA_TEAM_UPDATE
- Added: CURRENCY_DISPLAY_UPDATE
- Added: PLAYER_FOCUS_CHANGED
- Added: PLAYER_MAX_LEVEL_UPDATE - Fired when the value returned by GetMaxPlayerLevel will have changed. Should occur when level 60+ content is unlocked.
- Added: PLAYER_STARTED_LOOKING
- Added: PLAYER_STARTED_TURNING
- Added: PLAYER_STOPPED_LOOKING
- Added: PLAYER_STOPPED_TURNING
Note that each build generally has a significant number of FrameXML utility changes, most of which will not be listed here.
- Added: CreateFramePoolCollection
- Added: EnumUtil.MakeEnum
- Added: GetClassAtlas
- Added: GetPowerBarColor
- Added: RegisterNewSlashCommand
- Changed: CreateAtlasMarkup - Swapped positions of "height" and "width" parameters.
- Added: AnchorUtil.CreateAnchor
- Added: AnchorUtil.CreateAnchorFromPoint
- Added: AnchorUtil.CreateGridLayout
- Added: AnchorUtil.GridLayout
- Added: AnchorUtil.GridLayoutFactory
- Added: AnchorUtil.GridLayoutFactoryByCount
- Added: AnchorUtil.MirrorRegionsAlongHorizontalAxis
- Added: AnchorUtil.MirrorRegionsAlongVerticalAxis
- Added: CreateAnchor
- Added: CreateDataProvider
- Added: CreateDataProviderByIndexCount
- Added: CreateDataProviderIndexRange
- Added: CreateDataProviderWithAssignedKey
- Added: DoesAncestryInclude
- Added: GetUnscaledFrameRect
- Added: UpdateScaleForFit
- Added: GenerateClosure
- Added: GetValueOrCallFunction
- Changed: CallMethodOnNearestAncestor - Now passes back return values from the invoked method.
- Added: AccumulateIf
- Added: ApproximatelyEqual
- Added: CalculateAngleBetween
- Added: CalculateDistance
- Added: CalculateDistanceSq
- Added: Square
- Added: WithinRange
- Added: WithinRangeExclusive
- Added: PixelUtil.GetNearestPixelSize
- Added: PixelUtil.GetPixelToUIUnitFactor
- Added: PixelUtil.SetHeight
- Added: PixelUtil.SetPoint
- Added: PixelUtil.SetSize
- Added: PixelUtil.SetStatusBarValue
- Added: PixelUtil.SetWidth
- Added: CreateScrollBoxGridPadding
- Added: CreateScrollBoxLinearPadding
- Added: CreateScrollBoxLinearView
- Added: CreateScrollBoxListGridView
- Added: CreateScrollBoxListLinearView
- Added: CreateScrollBoxPadding
- Added: ScrollBoxViewUtil.CalculateSpacingUntil
- Added: ScrollBoxViewUtil.CreateFrameLevelCounter
- Added: ScrollUtil.AddAcquiredFrameCallback
- Added: ScrollUtil.AddManagedScrollBarVisibilityBehavior
- Added: ScrollUtil.AddReleasedFrameCallback
- Added: ScrollUtil.AddResizableChildrenBehavior
- Added: ScrollUtil.AddSelectionBehavior
- Added: ScrollUtil.InitScrollBar
- Added: ScrollUtil.InitScrollBoxListWithScrollBar
- Added: ScrollUtil.InitScrollBoxWithScrollBar
- Added: ScrollUtil.RegisterScrollBoxWithScrollBar
- Added: ScrollUtil.RegisterTableBuilder
- Added: ContainsIf
- Added: CopyValuesAsKeys
- Added: ipairs_reverse
- Added: MergeTable
- Added: SafePack
- Added: SafeUnpack
- Added: tCompare
- Added: tUnorderedRemove
- Added: ConvertSecondsToUnits
- Added: HasTimePassed
- Added: MinutesToSeconds
- Added: MinutesToTime
- Added: SecondsToClock
- Added: SecondsToMinutes
- Added: BackdropTemplateMixin
- Added: CallbackRegistryMixin
- Added: ClickToDragMixin
- Added: DataProviderIndexRangeMixin
- Added: DataProviderMixin
- Added: DialogHeaderMixin
- Added: DropDownControlMixin
- Added: DropDownToggleButtonMixin
- Added: EnumDropDownControlMixin
- Added: EventButtonMixin
- Added: EventEditBoxMixin
- Added: EventFrameMixin
- Added: FramePoolCollectionMixin
- Added: FunctionThrottleMixin
- Added: InterpolatorMixin
- Added: ManagedScrollBarVisibilityBehaviorMixin
- Added: PanelDragBarMixin
- Added: PanelResizeButtonMixin
- Added: ScrollBarMixin
- Added: ScrollBoxBaseMixin
- Added: ScrollBoxGridPaddingMixin
- Added: ScrollBoxLinearBaseViewMixin
- Added: ScrollBoxLinearPaddingMixin
- Added: ScrollBoxLinearViewMixin
- Added: ScrollBoxListGridViewMixin
- Added: ScrollBoxListLinearViewMixin
- Added: ScrollBoxListMixin
- Added: ScrollBoxListViewMixin
- Added: ScrollBoxMixin
- Added: ScrollBoxPaddingMixin
- Added: ScrollBoxViewMixin
- Added: ScrollControllerMixin
- Added: ScrollDirectionMixin
- Added: ScrollingEditBoxMixin
- Added: ScrollingFontMixin
- Added: SelectionBehaviorMixin
- Added: SquareIconButtonMixin
- Added: UIMenuButtonStretchMixin
- Added: VisibleWhilePlayingAnimGroupMixin
- Added: WowScrollBarStepperButtonScriptsMixin
- Added: WowScrollBarThumbButtonScriptsMixin
- Added: WowTrimScrollBarMixin
- Moved: PoolCollection → FramePoolCollectionMixin
- Removed: CallbackRegistryBaseMixin - Replaced by CallbackRegistryMixin, not backwards compatible.
The following APIs have been deprecated and will be removed at a later date. Migration code can be found here for functions that do not have replacements listed below.
- C_DateAndTime.GetDateFromEpoch - Replaced by C_DateAndTime.GetCalendarTimeFromEpoch.
- C_DateAndTime.GetTodaysDate - Replaced by C_DateAndTime.GetCurrentCalendarTime.
- C_DateAndTime.GetYesterdaysDate
- GetNumStablePets - Replaced by C_StableInfo.GetNumStablePets.
- SwapChatChannelByLocalID - Replaced by C_ChatInfo.SwapChatChannelsByChannelIndex.
- CanEditOfficerNote - Replaced by C_GuildInfo.CanEditOfficerNote.
- CanViewOfficerNote - Replaced by C_GuildInfo.CanViewOfficerNote.
- GuildRoster - Replaced by C_GuildInfo.GuildRoster.
- CreatePoolCollection - Replaced by CreateFramePoolCollection.