Kelsidavis-WoWee/src/pipeline
Kelsi ad603c0c44 feat(pipeline): add WRUN (Wowee DK Rune Cost) catalog
62nd open format — replaces RuneCost.dbc plus the DK-specific
portions of ChrPowerType. Defines per-spell rune costs (Blood
/ Frost / Unholy) and runic-power generation / consumption
for the Death Knight class.

4 spell tree branches (BloodTree / FrostTree / UnholyTree /
Generic) classify which spec uses each rune cost. Each entry
binds a spell to its rune cost (how many of each rune kind
the spell consumes), an optional anyDeathConvertCost (extra
Death-rune-acceptable cost for procced abilities), and a
runicPowerCost (negative = generator, positive = spender).

Cross-references with prior formats — spellId points at
WSPL.spellId (the spell that uses this rune cost).

CLI: --gen-rune (3 baseline DK abilities — Death Strike
1F+1U + 20RP gen, Frost Strike pure 40 RP spender, Heart
Strike 1B + 10RP gen), --gen-rune-blood (4 blood-tree DK
abilities — Heart Strike, Death and Decay AoE, Vampiric
Blood tank cooldown, Rune Tap self-heal), --gen-rune-frost
(4 frost-tree — Frost Strike, Howling Blast AoE, Obliterate
finisher, Icy Touch ranged opener applying Frost Fever),
--info-wrun, --validate-wrun with --json variants. Validator
catches id+name+spellId required, branch 0..3, no rune cost
> 2 (DK only has 2 of each rune type so a higher cost can
never be paid), runicPowerCost > 100 (DK RP cap), no-cost
warning (spell consumes nothing — verify it's a
passive/stance/form), and high-RP-generator warning (> 25
RP per cast is unusual).

Format graph: 61 → 62 binary formats. CLI flag count: 840
→ 847.
2026-05-09 20:52:19 -07:00
..
adt_loader.cpp fix(adt): scrub NaN/inf in MDDF + MODF placement floats 2026-05-06 06:05:17 -07:00
asset_manager.cpp feat(runtime): pick up JSON DBC sidecars from --emit-json-dbc 2026-05-06 10:43:13 -07:00
asset_manifest.cpp Replace MPQ runtime with loose file asset system 2026-02-12 20:32:14 -08:00
blp_loader.cpp refactor: name ADT vertex constants, add BLP decompression comments 2026-03-30 14:28:22 -07:00
custom_zone_discovery.cpp fix(zones): clamp discovery mapId and tile coords on scan 2026-05-06 07:00:04 -07:00
dbc_layout.cpp fix: auto-detect CharSections.dbc layout and add Blood Elf/Draenei NPC voices 2026-03-23 11:00:49 -07:00
dbc_loader.cpp fix(dbc): skip non-array rows in loadJSON instead of failing 2026-05-06 10:07:49 -07:00
loose_file_reader.cpp Replace MPQ runtime with loose file asset system 2026-02-12 20:32:14 -08:00
m2_loader.cpp feat(rendering): implement spell visual effects with bone-tracked ribbons and particles 2026-04-07 11:27:59 +03:00
terrain_mesh.cpp fix(terrain): hide chunk grid by tiling textures 4× per chunk 2026-05-08 12:34:16 -07:00
wdt_loader.cpp fix(parsing): bail on suspicious maskBlockCount in CREATE_OBJECT blocks 2026-04-05 20:12:17 -07:00
wmo_loader.cpp fix: guard fsPath underflow, name WMO doodad mask, add why-comments 2026-03-30 14:33:08 -07:00
wowee_achievements.cpp feat(pipeline): add WACH (Wowee Achievement Catalog) format 2026-05-09 16:04:30 -07:00
wowee_animations.cpp feat(pipeline): add WANI (Wowee Animation) catalog 2026-05-09 19:19:13 -07:00
wowee_auction.cpp feat(pipeline): add WAUC (Wowee Auction House) catalog 2026-05-09 18:34:54 -07:00
wowee_bags.cpp feat(pipeline): add WBNK (Wowee Bag / Bank Slot) catalog 2026-05-09 20:46:06 -07:00
wowee_battlegrounds.cpp feat(pipeline): add WBGD (Wowee Battleground Definition) format 2026-05-09 17:30:59 -07:00
wowee_building.cpp fix(wob): reject load on out-of-range string lengths 2026-05-06 09:23:19 -07:00
wowee_channels.cpp feat(pipeline): add WCHN (Wowee Chat Channel) catalog 2026-05-09 18:43:26 -07:00
wowee_char_features.cpp feat(pipeline): add WCHF (Wowee Character Customization Feature) catalog 2026-05-09 20:35:21 -07:00
wowee_chars.cpp feat(pipeline): add WCHC (Wowee Character Classes/Races) format 2026-05-09 16:47:04 -07:00
wowee_cinematics.cpp feat(pipeline): add WCMS (Wowee Cinematic) catalog 2026-05-09 18:50:43 -07:00
wowee_collision.cpp fix(woc): cap triangle count and clamp tile coords on save 2026-05-06 09:08:07 -07:00
wowee_companions.cpp feat(pipeline): add WCMP (Wowee Companion Pet) catalog 2026-05-09 20:05:06 -07:00
wowee_conditions.cpp feat(pipeline): add WPCD (Wowee Player Condition) format 2026-05-09 18:18:27 -07:00
wowee_creature_equipment.cpp feat(pipeline): add WCEQ (Wowee Creature Equipment) — 50th open format 2026-05-09 19:48:13 -07:00
wowee_creatures.cpp feat(pipeline): add WCRT (Wowee Creature Template) format 2026-05-09 15:18:44 -07:00
wowee_events.cpp feat(pipeline): add WSEA (Wowee Seasonal Event) format 2026-05-09 17:14:46 -07:00
wowee_factions.cpp feat(pipeline): add WFAC (Wowee Faction Catalog) format 2026-05-09 15:37:59 -07:00
wowee_game_tips.cpp feat(pipeline): add WGTP (Wowee Game Tips) catalog 2026-05-09 20:00:56 -07:00
wowee_gems.cpp feat(pipeline): add WGEM (Wowee Gem / Enchantment) format 2026-05-09 18:01:48 -07:00
wowee_glyphs.cpp feat(pipeline): add WGLY (Wowee Glyph) catalog 2026-05-09 18:55:22 -07:00
wowee_gossip.cpp feat(pipeline): add WGSP (Wowee Gossip Menu) format 2026-05-09 16:20:07 -07:00
wowee_guilds.cpp feat(pipeline): add WGLD (Wowee Guild) catalog format 2026-05-09 18:10:45 -07:00
wowee_holidays.cpp feat(pipeline): add WHOL (Wowee Holiday) catalog 2026-05-09 19:05:33 -07:00
wowee_item_sets.cpp feat(pipeline): add WSET (Wowee Item Set / Tier Bonus) catalog 2026-05-09 19:54:36 -07:00
wowee_items.cpp feat(pipeline): add WIT (Wowee Item Template) format 2026-05-09 15:04:48 -07:00
wowee_keybindings.cpp feat(pipeline): add WKBD (Wowee Keybinding) catalog 2026-05-09 20:13:37 -07:00
wowee_lfg.cpp feat(pipeline): add WLFG (Wowee Looking-for-Group) catalog 2026-05-09 20:24:21 -07:00
wowee_light.cpp feat(pipeline): add WOL preset variants for cave/dungeon/night 2026-05-09 14:01:26 -07:00
wowee_liquids.cpp feat(pipeline): add WLIQ (Wowee Liquid Type) catalog 2026-05-09 19:10:03 -07:00
wowee_locks.cpp feat(pipeline): add WLCK (Wowee Lock Template) format 2026-05-09 15:44:26 -07:00
wowee_loot.cpp feat(pipeline): add WLOT (Wowee Loot Table) format 2026-05-09 15:11:08 -07:00
wowee_macros.cpp feat(pipeline): add WMAC (Wowee Macro / Slash Command) catalog 2026-05-09 20:30:17 -07:00
wowee_mail.cpp feat(pipeline): add WMAL (Wowee Mail Template) format 2026-05-09 17:41:03 -07:00
wowee_maps.cpp feat(pipeline): add WMS (Wowee Map / Area) catalog format 2026-05-09 16:40:00 -07:00
wowee_model.cpp feat(extract): emit WOM and WOB side-files (M2/WMO → open formats) 2026-05-06 10:32:17 -07:00
wowee_model_fromm2.cpp feat(extract): emit WOM and WOB side-files (M2/WMO → open formats) 2026-05-06 10:32:17 -07:00
wowee_mounts.cpp feat(pipeline): add WMOU (Wowee Mount catalog) format 2026-05-09 17:23:00 -07:00
wowee_objects.cpp feat(pipeline): add WGOT (Wowee Game Object Template) format 2026-05-09 15:31:49 -07:00
wowee_pets.cpp feat(pipeline): add WPET (Wowee Pet System) catalog 2026-05-09 18:27:02 -07:00
wowee_player_conditions.cpp feat(pipeline): add WPCN (Wowee Player Condition) catalog 2026-05-09 19:36:56 -07:00
wowee_pvp.cpp feat(pipeline): add WPVP (Wowee PvP Honor / Rank) — 60th open format 2026-05-09 20:41:09 -07:00
wowee_quests.cpp feat(pipeline): add WQT (Wowee Quest Template) format 2026-05-09 15:25:02 -07:00
wowee_runes.cpp feat(pipeline): add WRUN (Wowee DK Rune Cost) catalog 2026-05-09 20:52:19 -07:00
wowee_skills.cpp feat(pipeline): add WSKL (Wowee Skill Catalog) format 2026-05-09 15:50:25 -07:00
wowee_sound.cpp feat(pipeline): add WSND (Wowee Sound Catalog) format 2026-05-09 14:47:16 -07:00
wowee_spawns.cpp feat(pipeline): add WSPN (Wowee Spawn Point catalog) format 2026-05-09 14:57:53 -07:00
wowee_spell_mechanics.cpp feat(pipeline): add WSMC (Wowee Spell Mechanic) catalog 2026-05-09 20:09:44 -07:00
wowee_spell_schools.cpp feat(pipeline): add WSCH (Wowee Spell School) catalog 2026-05-09 20:19:34 -07:00
wowee_spell_visuals.cpp feat(pipeline): add WSVK (Wowee Spell Visual Kit) catalog 2026-05-09 19:23:36 -07:00
wowee_spells.cpp feat(pipeline): add WSPL (Wowee Spell Catalog) format 2026-05-09 15:58:09 -07:00
wowee_talents.cpp feat(pipeline): add WTAL (Wowee Talent catalog) format 2026-05-09 16:33:45 -07:00
wowee_taxi.cpp feat(pipeline): add WTAX (Wowee Taxi catalog) format 2026-05-09 16:26:27 -07:00
wowee_terrain_loader.cpp fix(wot): cap doodadNames/wmoNames at 65536 + guard non-string entries 2026-05-06 10:06:20 -07:00
wowee_titles.cpp feat(pipeline): add WTIT (Wowee Title catalog) format 2026-05-09 17:07:56 -07:00
wowee_tokens.cpp feat(pipeline): add WTKN (Wowee Token catalog) format 2026-05-09 16:53:11 -07:00
wowee_trade_skills.cpp feat(pipeline): add WTSK (Wowee Trade Skill / Recipe) catalog 2026-05-09 19:41:49 -07:00
wowee_trainers.cpp feat(pipeline): add WTRN (Wowee Trainer / Vendor catalog) format 2026-05-09 16:12:58 -07:00
wowee_triggers.cpp feat(pipeline): add WTRG (Wowee Area Trigger) format 2026-05-09 17:01:43 -07:00
wowee_vehicles.cpp feat(pipeline): add WVHC (Wowee Vehicle) catalog 2026-05-09 18:59:49 -07:00
wowee_weather.cpp feat(pipeline): add Wowee Open Weather (.wow) zone schedule 2026-05-09 14:10:13 -07:00
wowee_world_map.cpp feat(pipeline): add WOMX (Wowee World Map index) format 2026-05-09 14:38:05 -07:00
wowee_world_state_ui.cpp feat(pipeline): add WWUI (Wowee World-State UI) catalog 2026-05-09 19:32:15 -07:00