Kelsidavis-WoWee/include/pipeline
Kelsi 80ebf1dba5 feat(pipeline): add WGLD (Wowee Guild) catalog format
Novel open replacement for AzerothCore-style guild +
guild_member + guild_rank + guild_bank_tab + guild_perk
SQL tables. The 36th open format added to the editor.

Each guild entry holds the complete social-organization
state: header (name, leader, faction, MOTD, info,
creation date, level + experience, bank money, packed
emblem), rank ladder with permissions bitmask + daily
withdraw caps, member roster with rank + join date +
public/officer notes, bank tabs with per-tab and per-rank
deposit / withdraw / view permission masks, and purchased
guild perks referencing WSPL spell IDs.

Cross-references with previously-added formats:
  WGLD.entry.factionId       ~  WCHC.race.factionId
                                 (guilds are faction-locked)
  WGLD.entry.perks.spellId  -> WSPL.entry.spellId

Format:
  • magic "WGLD", version 1, little-endian
  • per guild: header (12 scalar fields + 4 strings) +
    ranks[] + members[] + bankTabs[] + perks[]
  • per rank: rankIndex / name / permissionsMask /
    moneyPerDayCopper
  • per member: characterName / rankIndex / joinedDate /
    publicNote / officerNote
  • per bankTab: tabIndex / name / iconPath /
    deposit+withdraw+view permission masks
  • per perk: perkId / name / spellId / requiredGuildLevel

Enums:
  • Faction (2): Alliance / Horde
  • RankPermissionFlags (14): GuildChat / OfficerChat /
                               Invite / Remove / Promote /
                               Demote / SetMotd /
                               EditPublicNote /
                               EditOfficerNote / ViewBank /
                               Deposit / Withdraw / Disband /
                               RepairFromBank

API: WoweeGuildLoader::save / load / exists / findById +
shared addDefaultRanks helper used by both starter and
faction-pair presets.

Three preset emitters:
  • makeStarter     — 1 small guild, default 5-rank ladder
                       (GM/Officer/Veteran/Member/Initiate),
                       3 members borrowing names from WCRT
                       merchants for cross-format consistency
  • makeFull        — 1 fleshed-out guild: 6 ranks (with
                       Recruit added) + 8 members + 4 bank
                       tabs (officer-only withdraw on tabs
                       3+4) + 3 perks referencing WSPL
                       spell IDs (Heroic Strike / Battle
                       Shout / Thunder Clap as placeholder
                       perk procs)
  • makeFactionPair — 2 parallel guilds, one Alliance + one
                       Horde, with identical rank structures

CLI added (5 flags, 649 documented total now):
  --gen-guilds / --gen-guilds-full / --gen-guilds-pair
  --info-wgld / --validate-wgld

Validator catches: guildId=0 + duplicates, empty name /
leaderName, factionId out of range, no ranks (members can't
exist without a rank ladder), member.rankIndex exceeding
the highest defined rank (intra-format cross-reference
resolution), duplicate bank tabIndices, perks with
spellId=0 (perk does nothing).
2026-05-09 18:10:45 -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_achievements.hpp feat(pipeline): add WACH (Wowee Achievement Catalog) format 2026-05-09 16:04:30 -07:00
wowee_battlegrounds.hpp feat(pipeline): add WBGD (Wowee Battleground Definition) format 2026-05-09 17:30:59 -07:00
wowee_building.hpp feat(wob): tryLoadByGamePath helper, used by editor + terrain_manager 2026-05-06 04:10:12 -07:00
wowee_chars.hpp feat(pipeline): add WCHC (Wowee Character Classes/Races) format 2026-05-09 16:47:04 -07:00
wowee_collision.hpp feat(woc): add WMO collision meshes to exported zone collision 2026-05-06 02:33:22 -07:00
wowee_creatures.hpp feat(pipeline): add WCRT (Wowee Creature Template) format 2026-05-09 15:18:44 -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_gems.hpp feat(pipeline): add WGEM (Wowee Gem / Enchantment) format 2026-05-09 18:01:48 -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_items.hpp feat(pipeline): add WIT (Wowee Item Template) format 2026-05-09 15:04:48 -07:00
wowee_light.hpp feat(pipeline): add WOL preset variants for cave/dungeon/night 2026-05-09 14:01:26 -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_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_objects.hpp feat(pipeline): add WGOT (Wowee Game Object Template) format 2026-05-09 15:31:49 -07:00
wowee_quests.hpp feat(pipeline): add WQT (Wowee Quest Template) format 2026-05-09 15:25: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_spells.hpp feat(pipeline): add WSPL (Wowee Spell Catalog) format 2026-05-09 15:58:09 -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_tokens.hpp feat(pipeline): add WTKN (Wowee Token catalog) format 2026-05-09 16:53:11 -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_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