Enum
- Refactored the Enum structure, expanding the capability of emulated functions that rely on it (e.g., C_Item).
- Updated values and indexes to strictly match valid 3.3.5 client data (e.g., Enum.ItemClass).
- Imported and created Enum metadata tables for existing data (e.g., {MinValue = X, NumValues = X, MaxValue = X}).
- Removed the Enum.ItemClassInfo, Enum.InventoryTypeInfo, and Enum.__InventoryTypeIndex tables.
- Created Private.EnumInventoryType, a streamlined, merged version of Enum.InventoryTypeInfo and Enum.InventoryTypeIndex for internal use.
C_Item
- C_Item.GetItemClassInfo and C_Item.GetItemSubClassInfo now return valid, localized data matching the 3.3.5 client.
- C_Item.GetItemInfoInstant and C_Item.GetItemInfo now return ClassID and SubClassID.
C_AuctionHouse
- Added C_AuctionHouse.GetAuctionItemSubClasses.
C_CVar
- Added:
- C_CVar.GetCVar
- C_CVar.SetCVar
- C_CVar.GetCVarBool
- C_CVar.GetCVarInfo
- C_CVar.GetCVarDefault
- C_CVar.GetCVar
C_Map
- Refactored cached zone information to expand functionality while reducing resource overhead.
- Updated C_Map.IsWorldMap to strictly accept numeric Zone IDs instead of strings.
- Added C_Map.GetBestMapForUnit and C_Map.GetPlayerMapPosition (restricted to the "player" unit).
- Added C_Map.GetMapInfo.
C_AddOns
- Fixed GetAddOnEnableState() issues when ambiguous arguments were passed.
- Added:
- C_AddOns.IsAddOnLoaded
- C_AddOns.GetAddOnInfo
- C_AddOns.GetAddOnEnableState
- C_AddOns.IsAddonVersionCheckEnabled
- C_AddOns.LoadAddOn
- C_AddOns.EnableAddOn
- C_AddOns.DisableAddOn
- C_AddOns.GetAddOnMetadata
- C_AddOns.GetAddOnDependencies
- C_AddOns.IsAddOnLoadOnDemand
- C_AddOns.GetNumAddOns
- C_AddOns.IsAddOnLoaded
[!important] AddOn Developer Note: Enum Changes
AddOns depending on the legacy ClassicAPI:Enum structure must now retrieve this data using modern Classic/Retail API patterns. For example:
for classID = Enum.ItemClassMeta.MinValue, Enum.ItemClassMeta.MaxValue do
local className = C_Item.GetItemClassInfo(classID)
print("Class:", classID, className)
local subClasses = C_AuctionHouse.GetAuctionItemSubClasses(classID)
for Index = 1, #subClasses do
local subClassID = subClasses[Index]
local subClassName = C_Item.GetItemSubClassInfo(classID, subClassID)
print(" ", subClassID, subClassName)
end
end