Kelsidavis-WoWee/include/pipeline
Kelsi 48dbf72f11 feat(editor): add WACT (Action Bar Layout) open catalog format
Open replacement for the hardcoded per-class default action bar
bindings. Defines which abilities auto-populate which action
button slots when a new character is created or a class is
reset. A Warrior's button 1 binds Heroic Strike, button 2
Charge, button 3 Rend, etc. — new characters of that class get
those buttons pre-populated so the action bar isn't empty on
first login.

Distinct from WKBD (Keybindings) which maps physical keys to
action button slots — WACT maps action button slots to
abilities. The two together complete the default-control
configuration: Key 1 -> Action Slot 1 (WKBD) -> Heroic Strike
(WACT).

Seven barMode values cover the major action bar contexts:
  - Main (slots 0-11, standard 12-button bar)
  - Pet (hunter/warlock pet action bar)
  - Vehicle (mounted/vehicle action bar)
  - Stance1/2/3 (warrior battle/defensive/berserker; druid
    bear/cat/tree)
  - Custom (server-custom bar overlay)

Cross-references back to WCHC (classMask layout), WSPL (spellId
for the bound ability), and WIT (itemId for item-macro bindings
like Hearthstone in slot 12). findByClass(classBit, barMode)
returns the bindings sorted by buttonSlot — used directly by
character creation to populate action bars.

Three preset emitters: --gen-act (10 Warrior starter bindings on
Main bar with canonical 3.3.5a abilities), --gen-act-mage (10
Mage starter bindings including Counterspell + Polymorph),
--gen-act-pet (10 Hunter pet-bar bindings using barMode=Pet for
Attack/Stance/Bite/Claw/Dismiss).

Validation enforces id+name+classMask presence, barMode 0..6,
no duplicate ids; warns on:
  - buttonSlot > 143 (max is 12 bars × 12 slots = 144)
  - both spellId and itemId set (engine prefers spellId, item
    is silently ignored)
  - both spellId=0 AND itemId=0 (button will render empty)
  - (classMask + barMode + buttonSlot) collisions for
    overlapping classes — multiple bindings fighting for the
    same physical slot

Wired through the cross-format table; WACT appears in all 18
cross-format utilities. Format count 94 -> 95; CLI flag count
1083 -> 1088.
2026-05-10 00:11:53 -07:00
..
adt_loader.hpp feat(adt): preserve MODF nameSet + scale fields across load/save round-trip 2026-05-06 03:37:13 -07:00
asset_manager.hpp feat(runtime): pick up WHM/WOT/WOC sidecars from asset tree 2026-05-06 10:48:40 -07:00
asset_manifest.hpp feat(editor): add standalone world editor (rough/WIP) 2026-05-05 03:47:03 -07:00
blp_loader.hpp Add attribution and source citations for open source release 2026-02-02 22:09:33 -08:00
custom_zone_discovery.hpp feat: custom zone discovery system for client auto-detection 2026-05-05 10:01:05 -07:00
dbc_layout.hpp fix: auto-detect CharSections.dbc layout and add Blood Elf/Draenei NPC voices 2026-03-23 11:00:49 -07:00
dbc_loader.hpp feat: complete client integration for all 6 open formats 2026-05-05 12:41:19 -07:00
loose_file_reader.hpp Replace MPQ runtime with loose file asset system 2026-02-12 20:32:14 -08:00
m2_loader.hpp feat: implement M2 ribbon emitter rendering for spell trail effects 2026-03-13 01:17:30 -07:00
terrain_mesh.hpp Initial commit: wowee native WoW 3.3.5a client 2026-02-02 13:03:22 -08:00
wdt_loader.hpp Add instance support: WDT parser, WMO-only map loading, area triggers, BG queue accept 2026-02-26 17:56:11 -08:00
wmo_loader.hpp wmo: apply MOHD ambient color to interior group lighting 2026-03-09 21:27:01 -07:00
wowee_achievement_criteria.hpp feat(editor): add WACR (Achievement Criteria) open catalog format 2026-05-09 22:43:44 -07:00
wowee_achievements.hpp feat(pipeline): add WACH (Wowee Achievement Catalog) format 2026-05-09 16:04:30 -07:00
wowee_action_bars.hpp feat(editor): add WACT (Action Bar Layout) open catalog format 2026-05-10 00:11:53 -07:00
wowee_animations.hpp feat(pipeline): add WANI (Wowee Animation) catalog 2026-05-09 19:19:13 -07:00
wowee_auction.hpp feat(pipeline): add WAUC (Wowee Auction House) catalog 2026-05-09 18:34:54 -07:00
wowee_bags.hpp feat(pipeline): add WBNK (Wowee Bag / Bank Slot) catalog 2026-05-09 20:46:06 -07:00
wowee_battlegrounds.hpp feat(pipeline): add WBGD (Wowee Battleground Definition) format 2026-05-09 17:30:59 -07:00
wowee_boss_encounters.hpp feat(editor): add WBOS (Boss Encounter Definition) open catalog format 2026-05-09 23:45:26 -07:00
wowee_building.hpp feat(wob): tryLoadByGamePath helper, used by editor + terrain_manager 2026-05-06 04:10:12 -07:00
wowee_channels.hpp feat(pipeline): add WCHN (Wowee Chat Channel) catalog 2026-05-09 18:43:26 -07:00
wowee_char_features.hpp feat(pipeline): add WCHF (Wowee Character Customization Feature) catalog 2026-05-09 20:35:21 -07:00
wowee_chars.hpp feat(pipeline): add WCHC (Wowee Character Classes/Races) format 2026-05-09 16:47:04 -07:00
wowee_cinematics.hpp feat(pipeline): add WCMS (Wowee Cinematic) catalog 2026-05-09 18:50:43 -07:00
wowee_collision.hpp feat(woc): add WMO collision meshes to exported zone collision 2026-05-06 02:33:22 -07:00
wowee_combat_ratings.hpp feat(pipeline): add WCRR (Wowee Combat Rating Conversion) catalog 2026-05-09 21:11:26 -07:00
wowee_companions.hpp feat(pipeline): add WCMP (Wowee Companion Pet) catalog 2026-05-09 20:05:06 -07:00
wowee_conditions.hpp feat(pipeline): add WPCD (Wowee Player Condition) format 2026-05-09 18:18:27 -07:00
wowee_creature_difficulties.hpp feat(editor): add WCDF (Creature Difficulty) open catalog format 2026-05-09 22:10:09 -07:00
wowee_creature_equipment.hpp feat(pipeline): add WCEQ (Wowee Creature Equipment) — 50th open format 2026-05-09 19:48:13 -07:00
wowee_creature_families.hpp feat(editor): add WCEF (Creature Family) open catalog format 2026-05-09 21:54:00 -07:00
wowee_creature_patrols.hpp feat(editor): add WCMR (Creature Patrol Path) — 90th open format milestone 2026-05-09 23:38:59 -07:00
wowee_creatures.hpp feat(pipeline): add WCRT (Wowee Creature Template) format 2026-05-09 15:18:44 -07:00
wowee_currency_types.hpp feat(editor): add WCTR (Currency Type) open catalog format 2026-05-09 22:31:42 -07:00
wowee_events.hpp feat(pipeline): add WSEA (Wowee Seasonal Event) format 2026-05-09 17:14:46 -07:00
wowee_factions.hpp feat(pipeline): add WFAC (Wowee Faction Catalog) format 2026-05-09 15:37:59 -07:00
wowee_game_tips.hpp feat(pipeline): add WGTP (Wowee Game Tips) catalog 2026-05-09 20:00:56 -07:00
wowee_gems.hpp feat(pipeline): add WGEM (Wowee Gem / Enchantment) format 2026-05-09 18:01:48 -07:00
wowee_glyph_slots.hpp feat(editor): add WGFS (Glyph Slot) open catalog format 2026-05-09 22:05:05 -07:00
wowee_glyphs.hpp feat(pipeline): add WGLY (Wowee Glyph) catalog 2026-05-09 18:55:22 -07:00
wowee_gossip.hpp feat(pipeline): add WGSP (Wowee Gossip Menu) format 2026-05-09 16:20:07 -07:00
wowee_guilds.hpp feat(pipeline): add WGLD (Wowee Guild) catalog format 2026-05-09 18:10:45 -07:00
wowee_holidays.hpp feat(pipeline): add WHOL (Wowee Holiday) catalog 2026-05-09 19:05:33 -07:00
wowee_instance_lockouts.hpp feat(editor): add WHLD (Instance Lockout Schedule) open catalog format 2026-05-09 23:51:49 -07:00
wowee_item_flags.hpp feat(editor): add WIFS (Item Flag Set) open catalog format 2026-05-09 23:10:35 -07:00
wowee_item_materials.hpp feat(editor): add WMAT (Item Material) open catalog format 2026-05-09 22:14:44 -07:00
wowee_item_qualities.hpp feat(editor): add WIQR (Item Quality) open catalog format 2026-05-09 22:59:27 -07:00
wowee_item_sets.hpp feat(pipeline): add WSET (Wowee Item Set / Tier Bonus) catalog 2026-05-09 19:54:36 -07:00
wowee_item_suffixes.hpp feat(pipeline): add WSUF (Wowee Item Random Suffix) catalog 2026-05-09 21:05:49 -07:00
wowee_items.hpp feat(pipeline): add WIT (Wowee Item Template) format 2026-05-09 15:04:48 -07:00
wowee_keybindings.hpp feat(pipeline): add WKBD (Wowee Keybinding) catalog 2026-05-09 20:13:37 -07:00
wowee_lfg.hpp feat(pipeline): add WLFG (Wowee Looking-for-Group) catalog 2026-05-09 20:24:21 -07:00
wowee_light.hpp feat(pipeline): add WOL preset variants for cave/dungeon/night 2026-05-09 14:01:26 -07:00
wowee_liquids.hpp feat(pipeline): add WLIQ (Wowee Liquid Type) catalog 2026-05-09 19:10:03 -07:00
wowee_loading_screens.hpp feat(pipeline): add WLDS (Wowee Loading Screen) catalog 2026-05-09 20:59:25 -07:00
wowee_locks.hpp feat(pipeline): add WLCK (Wowee Lock Template) format 2026-05-09 15:44:26 -07:00
wowee_loot.hpp feat(pipeline): add WLOT (Wowee Loot Table) format 2026-05-09 15:11:08 -07:00
wowee_macros.hpp feat(pipeline): add WMAC (Wowee Macro / Slash Command) catalog 2026-05-09 20:30:17 -07:00
wowee_mail.hpp feat(pipeline): add WMAL (Wowee Mail Template) format 2026-05-09 17:41:03 -07:00
wowee_maps.hpp feat(pipeline): add WMS (Wowee Map / Area) catalog format 2026-05-09 16:40:00 -07:00
wowee_model.hpp feat(extract): emit WOM and WOB side-files (M2/WMO → open formats) 2026-05-06 10:32:17 -07:00
wowee_mounts.hpp feat(pipeline): add WMOU (Wowee Mount catalog) format 2026-05-09 17:23:00 -07:00
wowee_npc_services.hpp feat(editor): add WBKD (NPC Service Definition) open catalog format 2026-05-09 23:15:20 -07:00
wowee_objects.hpp feat(pipeline): add WGOT (Wowee Game Object Template) format 2026-05-09 15:31:49 -07:00
wowee_pets.hpp feat(pipeline): add WPET (Wowee Pet System) catalog 2026-05-09 18:27:02 -07:00
wowee_player_conditions.hpp feat(pipeline): add WPCN (Wowee Player Condition) catalog 2026-05-09 19:36:56 -07:00
wowee_player_spawn_profiles.hpp feat(editor): add WPSP (Player Spawn Profile) open catalog format 2026-05-09 22:22:57 -07:00
wowee_pvp.hpp feat(pipeline): add WPVP (Wowee PvP Honor / Rank) — 60th open format 2026-05-09 20:41:09 -07:00
wowee_quest_sorts.hpp feat(pipeline): add WQSO (Wowee Quest Sort) catalog 2026-05-09 21:23:38 -07:00
wowee_quests.hpp feat(pipeline): add WQT (Wowee Quest Template) format 2026-05-09 15:25:02 -07:00
wowee_runes.hpp feat(pipeline): add WRUN (Wowee DK Rune Cost) catalog 2026-05-09 20:52:19 -07:00
wowee_skill_costs.hpp feat(editor): add WSCS (Skill Cost) open catalog format 2026-05-09 23:04:02 -07:00
wowee_skills.hpp feat(pipeline): add WSKL (Wowee Skill Catalog) format 2026-05-09 15:50:25 -07:00
wowee_sound.hpp feat(pipeline): add WSND (Wowee Sound Catalog) format 2026-05-09 14:47:16 -07:00
wowee_spawns.hpp feat(pipeline): add WSPN (Wowee Spawn Point catalog) format 2026-05-09 14:57:53 -07:00
wowee_spell_aura_types.hpp feat(editor): add WAUR (Spell Aura Type) — companion to WSEF, CLI flag count breaks 1000 2026-05-09 22:54:53 -07:00
wowee_spell_cast_times.hpp feat(editor): add WSCT (Spell Cast Time Index) open catalog format 2026-05-09 21:37:42 -07:00
wowee_spell_cooldowns.hpp feat(editor): add WSCD (Spell Cooldown Category) open catalog format 2026-05-09 21:49:13 -07:00
wowee_spell_durations.hpp feat(editor): add WSDR (Spell Duration Index) — completes WSRG/WSCT/WSDR triplet 2026-05-09 21:41:55 -07:00
wowee_spell_effect_types.hpp feat(editor): add WSEF (Spell Effect Type) open catalog format 2026-05-09 22:50:13 -07:00
wowee_spell_mechanics.hpp feat(pipeline): add WSMC (Wowee Spell Mechanic) catalog 2026-05-09 20:09:44 -07:00
wowee_spell_power_costs.hpp feat(editor): add WSPC (Spell Power Cost) — completes spell-bucket five-pack 2026-05-09 22:00:55 -07:00
wowee_spell_procs.hpp feat(editor): add WSPS (Spell Proc Trigger) open catalog format 2026-05-09 23:32:25 -07:00
wowee_spell_ranges.hpp feat(editor): add WSRG (Spell Range Index) open catalog format 2026-05-09 21:33:17 -07:00
wowee_spell_reagents.hpp feat(editor): add WSPR (Spell Reagent) — 80th open format milestone 2026-05-09 22:38:36 -07:00
wowee_spell_schools.hpp feat(pipeline): add WSCH (Wowee Spell School) catalog 2026-05-09 20:19:34 -07:00
wowee_spell_visuals.hpp feat(pipeline): add WSVK (Wowee Spell Visual Kit) catalog 2026-05-09 19:23:36 -07:00
wowee_spells.hpp feat(pipeline): add WSPL (Wowee Spell Catalog) format 2026-05-09 15:58:09 -07:00
wowee_stable_slots.hpp feat(editor): add WSTC (Hunter Stable Slot) open catalog format 2026-05-09 23:58:49 -07:00
wowee_stat_curves.hpp feat(editor): add WSTM (Stat Modifier Curve) open catalog format 2026-05-10 00:05:07 -07:00
wowee_talent_tabs.hpp feat(editor): add WTLE (Talent Tab) open catalog format 2026-05-09 22:27:18 -07:00
wowee_talents.hpp feat(pipeline): add WTAL (Wowee Talent catalog) format 2026-05-09 16:33:45 -07:00
wowee_taxi.hpp feat(pipeline): add WTAX (Wowee Taxi catalog) format 2026-05-09 16:26:27 -07:00
wowee_terrain_loader.hpp feat: integrate Wowee Open Terrain loader into client terrain pipeline 2026-05-05 09:56:24 -07:00
wowee_titles.hpp feat(pipeline): add WTIT (Wowee Title catalog) format 2026-05-09 17:07:56 -07:00
wowee_token_rewards.hpp feat(editor): add WTBR (Token Reward) open catalog format 2026-05-09 23:26:13 -07:00
wowee_tokens.hpp feat(pipeline): add WTKN (Wowee Token catalog) format 2026-05-09 16:53:11 -07:00
wowee_trade_skills.hpp feat(pipeline): add WTSK (Wowee Trade Skill / Recipe) catalog 2026-05-09 19:41:49 -07:00
wowee_trainers.hpp feat(pipeline): add WTRN (Wowee Trainer / Vendor catalog) format 2026-05-09 16:12:58 -07:00
wowee_triggers.hpp feat(pipeline): add WTRG (Wowee Area Trigger) format 2026-05-09 17:01:43 -07:00
wowee_unit_movement.hpp feat(pipeline): add WUMV (Wowee Unit Movement Type) catalog 2026-05-09 21:18:03 -07:00
wowee_vehicles.hpp feat(pipeline): add WVHC (Wowee Vehicle) catalog 2026-05-09 18:59:49 -07:00
wowee_weather.hpp feat(pipeline): add Wowee Open Weather (.wow) zone schedule 2026-05-09 14:10:13 -07:00
wowee_world_map.hpp feat(pipeline): add WOMX (Wowee World Map index) format 2026-05-09 14:38:05 -07:00
wowee_world_state_ui.hpp feat(pipeline): add WWUI (Wowee World-State UI) catalog 2026-05-09 19:32:15 -07:00