Skip to content

Commit 1979bdb

Browse files
committed
Split patch into per-section pages (collapsible nav) + widen sidebars
1 parent 6377d3a commit 1979bdb

12 files changed

Lines changed: 630 additions & 618 deletions

File tree

docs/index.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ Built for addon developers. Each patch has its own page (see the navigation on t
66

77
## Patches
88

9-
- [**12.1.0 (PTR)** — vs 12.0.7](patches/12.1.0.md)
9+
- [**12.1.0 (PTR)** — vs 12.0.7](patches/12.1.0/index.md)
1010

1111
## How this is compiled
1212

docs/patches/12.1.0.md

Lines changed: 0 additions & 615 deletions
This file was deleted.

docs/patches/12.1.0/auras.md

Lines changed: 112 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,112 @@
1+
# Auras & Cooldown Viewer
2+
3+
## C_UnitAuras (UnitAuraDocumentation)
4+
5+
**New:**
6+
7+
- **`GetHiddenGroupBuffs() → spellIDs: table<number>`** — the list of group-buff spell IDs the player has hidden.
8+
- **`SetHiddenGroupBuffs(spellIDs: table<number>)`** — sets the list of group-buff spell IDs to hide.
9+
- **`GetGroupBuffVisualAlerts() → visualAlerts: table<GroupBuffVisualAlertInfo>`** — the configured group-buff visual alerts.
10+
- **`SetGroupBuffVisualAlerts(visualAlerts: table<GroupBuffVisualAlertInfo>)`** — sets the group-buff visual alerts.
11+
- **`HIDDEN_GROUP_BUFFS_CHANGED`** (event) — the hidden group-buff list changed. Payload: `spellIDs: table<number>`.
12+
- **`GROUP_BUFF_VISUAL_ALERTS_CHANGED`** (event) — group-buff visual alerts changed. Payload: `visualAlerts: table<GroupBuffVisualAlertInfo>`.
13+
14+
**Removed:**
15+
16+
- **`TriggerPrivateAuraShowDispelType`** — gone in 12.1.0.
17+
18+
## UnitConstantsDocumentation
19+
20+
**New:**
21+
22+
- **`GroupBuffVisualAlertInfo`** (struct) — pairs a group-buff spell with its alert style. Fields: `spellID: number, visualValue: VisualAlertType`.
23+
24+
**Changed:**
25+
26+
`AddPrivateAuraAnchorArgs` (struct) — args for `C_UnitAuras.AddPrivateAuraAnchor`. `showCountdownFrame` was **renamed** to `showCooldownFrame`; `showCooldownEdge` and `showDispelIcon` were added; all bool fields now default `false`:
27+
28+
```diff
29+
unitToken: cstring
30+
auraIndex: number
31+
parent: SimpleFrame
32+
- showCountdownFrame: bool
33+
+ showCooldownFrame: bool
34+
+ showCooldownEdge: bool
35+
showCountdownNumbers: bool
36+
+ showDispelIcon: bool
37+
isContainer: bool
38+
iconInfo: PrivateAuraIconInfo?
39+
durationAnchor: AnchorBinding?
40+
```
41+
42+
## UnitAuraConstantsDocumentation *(new namespace)*
43+
44+
**New:**
45+
46+
- **`UnitAuraUIConstants`** (constants) — list-size caps. Values: `HIDDEN_GROUP_BUFF_LIST_SIZE = 32, GROUP_BUFF_VISUAL_ALERT_LIST_SIZE = 32`.
47+
48+
## C_CooldownViewer (CooldownViewerDocumentation)
49+
50+
**New:**
51+
52+
- **`GetGroupBuffItems() → groupBuffItems: table<GroupBuffItem>`** — the available group-buff items.
53+
- **`GroupBuffItem`** (struct) — a group-buff entry. Fields: `spellID: number, name: cstring, iconID: fileID, flags: GroupBuffItemFlags, isKnown: bool`.
54+
55+
**Changed:**
56+
57+
`CooldownViewerCooldown` (struct, returned by `GetCooldownViewerCooldownInfo`) — `spellID` became nilable; `spellCategoryID`, `equipSlot`, and `isInvisible` were added:
58+
59+
```diff
60+
cooldownID: number
61+
- spellID: number
62+
+ spellID: number?
63+
+ spellCategoryID: number?
64+
overrideSpellID: number?
65+
overrideTooltipSpellID: number?
66+
+ equipSlot: luaIndex?
67+
linkedSpellIDs: table<number>
68+
selfAura: bool
69+
hasAura: bool
70+
charges: bool
71+
isKnown: bool
72+
+ isInvisible: bool
73+
flags: CooldownSetSpellFlags
74+
category: CooldownViewerCategory
75+
```
76+
77+
## CooldownViewerConstantsDocumentation
78+
79+
**New:**
80+
81+
- **`CooldownViewerSound`** (enum) — selectable "ready" alert sound; 94 values (0–93), e.g. `TextToSpeech (0)`, `AnimalsCat (1)`, `War3Bell (56)`.
82+
- **`GroupBuffItemFlags`** (enum) — flags for group-buff items. Values: `HideByDefault`.
83+
- **`GroupBuffUIConstants`** (constants) — Values: `GROUP_BUFF_ITEM_LIST_SIZE = 16`.
84+
85+
**Changed:**
86+
87+
- **`CooldownViewerCategory`** (enum) — grew from 4 to 9 values; added `GroupBuff (4), SpecAgnosticEssential (5), SpecAgnosticTracked (6), EquipSlotEssential (7), EquipSlotTracked (8)`.
88+
- **`CooldownViewerUIConstants`** (constants) — added `COOLDOWN_VIEWER_SPEC_AGNOSTIC_PARENT_ID = 0`.
89+
90+
## SecretAspectConstantsDocumentation
91+
92+
**Changed:**
93+
94+
- **`SecretAspect`** (enum, bitfield) — added `RadialProgress (8388608)`; now 30 values.
95+
96+
## ForbiddenAspectConstantsDocumentation *(new namespace)*
97+
98+
**New:**
99+
100+
- **`ForbiddenAspect`** (enum) — aspects forbidden from being set on protected frames. Values: `SetToDefaults, ScriptBindings`.
101+
102+
## VisualAlertConstantsDocumentation *(new namespace)*
103+
104+
**New:**
105+
106+
- **`VisualAlertType`** (enum) — visual alert styles for group buffs. Values: `MarchingAnts (+ Cyan/Red/Green/Blue), Flash (+ Cyan/Red/Green/Blue)`.
107+
108+
## TooltipInfoSharedDocumentation
109+
110+
**Changed:**
111+
112+
- **`TooltipDataLineType`** (enum) — added `ItemSpellTriggerOnUse (44), ItemSpellTriggerOnEquip (45), ItemSpellTriggerOnProc (46)` — tag tooltip lines for an item's Use/Equip/on-proc spell effects.

docs/patches/12.1.0/edit-mode.md

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
# Edit Mode, Nameplates & Misc
2+
3+
## EditModeManagerConstantsDocumentation
4+
5+
**New:**
6+
7+
- **`EditModeRaidWarningSetting`** (enum) — settings for the new Raid Warning system. Values: `None`.
8+
9+
**Changed:**
10+
11+
- **`EditModeSystem`** (enum) — added `RaidWarning (24)` (`TotemActionBar` shifts to 25).
12+
- **`EditModeAccountSetting`** (enum) — added `ShowRaidWarning (33)` (`ShowTotemActionBar` shifts to 34).
13+
- **`EditModeMinimapSetting`** (enum) — added `IconScale (3)`.
14+
- **`EditModeUnitFrameSetting`** (enum) — the single `IconSize (19)` aura setting was **split**: slot 19 repurposed to `DebuffIconSize`, new `BuffIconSize (22)` appended. Buff and debuff icon sizes are now controlled independently; code reading the old `IconSize` must update.
15+
16+
## NamePlateConstantsDocumentation
17+
18+
**Changed:**
19+
20+
- **`NamePlateStyle`** (enum) — added `Classic (6)`. Values: `Modern, Thin, Block, HealthFocus, CastFocus, Legacy, Classic`.
21+
22+
## C_CVar (CVarDocumentation)
23+
24+
**New:**
25+
26+
- **`GetCVar(name: cstring) → value: string?`** — the current string value of a CVar by name (now part of the documented `C_CVar` surface).
27+
28+
## C_Sound (SoundDocumentation)
29+
30+
**New:**
31+
32+
- **`PlaySoundWithOptions(params: PlaySoundParams) → success: bool, soundHandle: SoundHandle`** — plays a sound from an options struct (may return nothing).
33+
- **`PlaySoundParams`** (struct) — options for the above. Fields: `soundKitID: number, uiSoundSubType: UISoundSubType, forceNoDuplicates: bool, runFinishCallback: bool, overridePriority: number?, volumeOverride: number?, …`.
34+
35+
## MacroConstantsDocumentation *(new namespace)*
36+
37+
**New:**
38+
39+
- **`MacroConsts`** (constants) — macro count limits. Values: `MAX_ACCOUNT_MACROS = 120, MAX_CHARACTER_MACROS = 30`.
40+
41+
## DelvesConstantsDocumentation
42+
43+
**Changed:**
44+
45+
- **`TieredEntranceType`** (enum) — added `Lairs (4)`.
46+
- **`CompanionConfigSlotTypes`** (enum) — added `Flavor (3)`.
47+
48+
## C_DelvesUI (DelvesUIDocumentation)
49+
50+
**New:**
51+
52+
- **`GetFlavorNodeForCompanion(companionID: number?) → nodeID: number`** — the flavor trait node ID for a delve companion.
53+
- **`GetFlavorNodeNameForCompanion(companionID: number?) → name: cstring`** — the display name of that flavor node.

docs/patches/12.1.0/frames.md

Lines changed: 101 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,101 @@
1+
# Frames, UI & Secure Internals
2+
3+
## FrameScript
4+
5+
**New:**
6+
7+
- **`GetForbiddenObjectTable(object: FrameScriptObject) → forbiddenTable: FrameScriptObject`** — secure-only; retrieves the forbidden-side object table for a script object.
8+
- **`securecopy(value: LuaValueReference, options: SecureCopyOptions?) → copy: LuaValueReference`** — securely copies a Lua value; tables deep-copied with recursive/shared refs preserved, script objects kept by reference, copy receives the current execution taint.
9+
- **`SecureCopyOptions`** (struct) — options for `securecopy`. Fields: `maxTraversalDepth: number (default 100), wrapUntrustedFunctions: bool (default true)`.
10+
- **`SecureDelegateOptions`** (struct) — options for `CreateSecureDelegate`. Fields: `wrapUntrustedFunctions: bool (default true)`.
11+
12+
## SimpleFrameAPI
13+
14+
**New:**
15+
16+
- **`AddRoleset(roleset: string)`** — adds a roleset tag without removing existing ones.
17+
- **`RemoveRoleset(roleset: string)`** — removes a roleset tag.
18+
- **`SetRolesets(rolesetsString: cstring?)`** — sets the frame's roleset tags (comma-separated for multiple; nil clears) — used by the UI-mode system to gate visibility.
19+
- **`GetRolesetNames() → rolesets: table`** — the frame's roleset tags (`{"roleless"}` if none).
20+
- **`GetOnUpdateMode() → onUpdateMode: OnUpdateMode`** — the configured OnUpdate execution mode.
21+
- **`SetOnUpdateMode(onUpdateMode: OnUpdateMode)`** — changes when OnUpdate scripts run for this object.
22+
- **`CreateVectorGraphics(name: cstring?, drawLayer: DrawLayer?, templateName: cstring?, subLevel: number?) → vectorGraphics: SimpleVectorGraphics`** — creates a vector-graphics child region.
23+
24+
## SimpleFrameScriptObjectAPI
25+
26+
**New:**
27+
28+
- **`GetName() → name: cstring`** — the object's name (secret-gated by the ObjectName aspect).
29+
- **`GetObjectTable() → objectTable: FrameScriptObject`** — the script object's backing object table.
30+
- **`HasAnyForbiddenAspect(aspect: ForbiddenAspect) → hasAnyForbiddenAspect: bool`** — whether the object has the supplied forbidden aspect.
31+
- **`HasAnyForbiddenAspects() → hasAnyForbiddenAspects: bool`** — whether the object has any forbidden aspects.
32+
33+
## SimpleFrameScriptObjectConstants *(new namespace)*
34+
35+
**New:**
36+
37+
- **`OnUpdateMode`** (enum) — when OnUpdate scripts run. Values: `Disabled, RunWhenVisible, RunWhenVisibleOnce, RunOnce, RunAlways`.
38+
- **`ScriptBindingType`** (enum) — script binding phase. Values: `Precall, Extrinsic, Postcall`.
39+
- **`ScriptObjectMetatable`** (enum) — Values: `Public, Forbidden`.
40+
- **`ScriptObjectPartition`** (enum) — Values: `Public, Forbidden`.
41+
42+
## SimpleStatusBarAPI
43+
44+
**New:**
45+
46+
- **`GetRenderMode() → renderMode: StatusBarRenderMode`** — the status bar's render mode.
47+
- **`SetRenderMode(renderMode: StatusBarRenderMode)`** — sets the render mode (linear fill vs radial progress).
48+
49+
## SimpleStatusBarConstants
50+
51+
**New:**
52+
53+
- **`StatusBarRenderMode`** (enum) — how the bar renders its fill. Values: `Linear` (existing fill behaviour), `Radial` (drives the managed texture's radial fill percent instead of resizing anchors).
54+
55+
## SimpleTextureBaseAPI
56+
57+
**New (radial progress bar):**
58+
59+
- **`ClearRadialProgressBar()`** — disables radial rendering, restores standard texture display.
60+
- **`Get/SetRadialProgressBarStartOffset(offset: normalizedValue)`** — start angle offset (0–1; 0 = bottom).
61+
- **`Get/SetRadialProgressBarEndOffset(offset: normalizedValue)`** — end angle offset (0–1).
62+
- **`Get/SetRadialProgressBarPercent(percent: normalizedValue)`** — fill percentage (0–1).
63+
- **`Get/SetRadialProgressBarFeather(feather: normalizedValue)`** — edge feather/blur amount.
64+
- **`Get/SetRadialProgressBarReverse(reverse: bool)`** — whether the bar fills counterclockwise.
65+
66+
## SimpleAnimRadialProgressAPI *(new namespace)*
67+
68+
**New:**
69+
70+
- **`Get/SetFromPercent(percent: number)`** — animation's starting radial fill percent.
71+
- **`Get/SetToPercent(percent: number)`** — animation's ending radial fill percent.
72+
73+
## SimpleVectorGraphicsAPI *(new namespace)*
74+
75+
**New:**
76+
77+
- **`SetSVG(svgAsset: FileAsset) → success: bool`** — assigns an SVG asset.
78+
- **`GetSVGFileID() → svgFile: fileID`** — file ID of the assigned SVG.
79+
- **`HasSVG() → hasSVG: bool`** — whether an SVG is assigned.
80+
- **`ClearSVG()`** — clears the assigned SVG.
81+
82+
## C_Roleset (RolesetSystemDocumentation) *(new namespace)*
83+
84+
**New:**
85+
86+
- **`C_Roleset.ApplyRolesetFilters(blockedRolesets: table, allowedRolesets: table)`** — sets/clears both blocklist and allowlist filters atomically with one visibility re-evaluation; empty table clears the corresponding filter.
87+
88+
## DurationTextBindingObjectAPI
89+
90+
**New:**
91+
92+
- **`SetTextColorCurve(curve: LuaColorCurveObject, property: DurationTextBindingProperty)`** — drive a font string's colour from a duration property via a curve.
93+
- **`GetTextColorCurve() → curve: LuaColorCurveObject, property: DurationTextBindingProperty`** — the curve and property in use (may return nothing).
94+
- **`ClearTextColorCurve()`** — clears the colour curve.
95+
- **`GetFormattedTextColor() → color: colorRGBA`** — the colour currently assigned to the configured font string (may return nothing).
96+
97+
## MinimapFrameAPI
98+
99+
**New:**
100+
101+
- **`SetIconScale(scale: number)`** — sets the scale applied to minimap icons.

docs/patches/12.1.0/gameplay.md

Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
# Gameplay: PvP, Items, Spells, Specs
2+
3+
## C_PvP (PvpInfoDocumentation)
4+
5+
**New:**
6+
7+
- **`CanSurrenderArena() → canSurrender: bool`** — whether the player can currently surrender the arena match.
8+
9+
## ItemConstantsDocumentation
10+
11+
**New:**
12+
13+
- **`ItemConversionFlags`** (enum) — flags controlling item conversion. Values: `UseInputItemStats`.
14+
15+
## C_Item (ItemDocumentation)
16+
17+
**New:**
18+
19+
- **`DoesItemMatchSpellItemCondition(itemLoc: ItemLocation) → matches: bool`** — whether the item at a location satisfies the current spell's item condition.
20+
21+
## C_Spell (SpellDocumentation)
22+
23+
**New:**
24+
25+
- **`TargetSpellChecksItemCondition() → result: bool`** — whether the pending/target spell evaluates an item condition.
26+
27+
## SpecializationSharedDocumentation
28+
29+
**New:**
30+
31+
- **`GetSpecializationSystem() → system: SpecializationSystem`** — which specialization system is active.
32+
33+
## PaperDollInfoDocumentation
34+
35+
**New:**
36+
37+
- **`GetInventorySlotInfo(slotName: cstring) → invSlot: number, slotTexture: fileID, checkRelic: bool`** — resolves a slot by name (may return nothing) — the C_API equivalent of the old global.
38+
- **`GetInventorySlotInfoForInvSlot(invSlotValue: number) → invSlot: number, slotTexture: fileID, checkRelic: bool, slotName: cstring`** — resolves slot info from a Lua INVSLOT value (may return nothing).
39+
40+
## C_PetJournal (PetJournalInfoDocumentation)
41+
42+
**New:**
43+
44+
- **`GetPetInfoTableBySpeciesID(speciesID: number) → petInfo: PetJournalPetInfo`** — a consolidated pet-info table for a species (may return nothing).
45+
46+
## QuestHubInfoDocumentation
47+
48+
**New:**
49+
50+
- **`IsQuestCurrentlyRelatedToHub(questID: number, hubAreaPoiID: number) → isRelated: bool`** — whether a quest is currently associated with a given hub-area POI.
51+
52+
## CharacterCreationConstantsDocumentation
53+
54+
**New:**
55+
56+
- **`RestrictionType`** (enum) — why a creation option is restricted. Values: `Invalid, ServerExpansion, AccountExpansion, Achievement, Entitlement`.
57+
58+
## C_DyeColor (DyeColorInfoDocumentation)
59+
60+
**New:**
61+
62+
- **`GetDyeColorsForItem(itemLinkOrID: ItemInfo) → dyeColorIDs: table`** — all applicable dye-colour IDs for an item.
63+
- **`GetDyeColorsForItemLocation(itemLocation: ItemLocation) → dyeColorIDs: table`** — all applicable dye-colour IDs for an item at a location.
64+
65+
**Removed:**
66+
67+
- **`GetDyeColorForItem(itemLinkOrID: ItemInfo) → dyeColorID: number?`** and `GetDyeColorForItemLocation(itemLocation: ItemLocation) → dyeColorID: number?` — replaced by the plural versions that return a table of IDs.

docs/patches/12.1.0/housing.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
# Housing
2+
3+
Housing saw broad changes across many namespaces; most are internal UI plumbing plus struct/enum additions. The breaking change is the `IsInsideOwnHouse``IsInsideOwnedHouse` rename. Highlights by namespace:
4+
5+
- **C_HousingBlueprint (new namespace)** — full blueprint-sharing system. `ImportBlueprint(shareCode: cstring)`, `ExportBlueprint(type: HousingBlueprintType, name: cstring)`, plus `ExportRoomBlueprint`, `DeleteBlueprint`, `RenameBlueprint`, `IsImportAvailable`/`IsExportAvailable`, `CanImportTypeFromCurrentLocation`, `IsShareCodeValid`, `GetBlueprintHyperlink`, `GetBlueprintTypeForCode`.
6+
- **HousingBlueprintConstants (new namespace)** — supporting types: enums `HousingBlueprintContentType` (None, HouseType, Room, Decor, Dye, Fixture, Other) and `HousingBlueprintUnmetRequirementFlags` (bitfield: InsufficientBudget, MissingRoom, MissingFixture, MissingDecor, MissingDye, MismatchedExteriorFaction, HouseTypeLocked, HouseSizeLocked); structs for blueprint collections/groups/entries.
7+
- **C_HousingUI**`IsInsideOwnHouse` **renamed** to `IsInsideOwnedHouse() → bool`; new `IsInsideOwnedHouseOrPlot`, `IsInsideOwnedPlot`; new `ResetHouse(resetScope: HousingHouseScope)` (restricted; clears house contents) with `HOUSE_RESET_COMPLETED`/`HOUSE_RESET_FAILED` events; new `HouseFinderIgnoreNeighborhood`.
8+
- **C_HousingLayout**`GetRoomPlayerIsIn() → roomGUID: WOWGUID` (may return nothing), `GetBaseRoomFloor`.
9+
- **C_HousingDecor** — decor pet-placement: `GetDecorCanAttachPet`, `GetDecorAssignedPetName`, `GetMax/SpentPetPlacementBudget`, `GetBothMaxPlacementBudgets`, `AnyDecorPlacedInRoom`.
10+
- **C_HousingCustomizeMode**`ApplyPetToSelectedDecor`, `GetSelectedDecorPetInfo`.
11+
- **PlayerHousingConstants** — added `HousingBlueprintFlag`, `HousingHouseScope` enums + a `HousingConsts` table.

0 commit comments

Comments
 (0)