Kelsidavis-WoWee/include/pipeline
Kelsi f8d7b6b6bd feat(pipeline): add WGOT (Wowee Game Object Template) format
Novel open replacement for AzerothCore-style
gameobject_template SQL tables PLUS the Blizzard
GameObjectDisplayInfo.dbc / GameObject types metadata. The
16th open format added to the editor.

Game objects are the non-creature interactable scenery:
chests (with loot), doors, buttons, mailboxes, herb / ore
gathering nodes, fishing pools, signposts, mounts. Each
has a displayId for the model, a typeId driving its
interaction logic, and optional cross-references to a lock
(future WLCK) and loot table (existing WLOT).

Cross-references with previously-added formats:
  WSPN.entry.entryId (kind=GameObject) -> WGOT.entry.objectId
  WGOT.entry.lootTableId               -> WLOT.entry.creatureId
                                          (loot tables are
                                           universal — chests
                                           and creatures both
                                           key by ID)

The dungeon preset's Bandit Strongbox uses lootTableId=2000
to match WLOT's bandit chest table id, so the demo content
stack already wires together: spawn (WSPN object kind 2000)
-> object template (WGOT 2000) -> loot table (WLOT 2000).

Format:
  • magic "WGOT", version 1, little-endian
  • per object: objectId / displayId / name / typeId /
    size / castBarCaption / requiredSkill +
    requiredSkillValue / lockId / lootTableId /
    minOpenTimeMs..maxOpenTimeMs / flags

Enums:
  • TypeId (16): Door / Button / Chest / Container /
    QuestGiver / Text / Trap / Goober / Transport /
    Mailbox / MineralNode / HerbNode / FishingNode /
    Mount / Sign / Bonfire
  • Flags: Disabled / ScriptOnly / UsableFromMount /
    Despawn / Frozen / QuestGated

API: WoweeGameObjectLoader::save / load / exists /
findById; presets makeStarter (chest + mailbox + sign),
makeDungeon (door + button + 2 chests + trap with proper
WLOT cross-references), makeGather (Peacebloom herb +
Tin Vein ore + fishing pool with skill requirements).

CLI added (5 flags, 507 documented total now):
  --gen-objects / --gen-objects-dungeon / --gen-objects-gather
  --info-wgot / --validate-wgot

Validator catches: objectId=0 + duplicates, size<=0,
minOpenTime>maxOpenTime, gathering node without skill
requirement (anyone can harvest — usually a typo), chest
without loot table (script must populate), requiredSkillValue
set without requiredSkill (incoherent).
2026-05-09 15:31:49 -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_building.hpp feat(wob): tryLoadByGamePath helper, used by editor + terrain_manager 2026-05-06 04:10:12 -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_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_loot.hpp feat(pipeline): add WLOT (Wowee Loot Table) format 2026-05-09 15:11:08 -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_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_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_terrain_loader.hpp feat: integrate Wowee Open Terrain loader into client terrain pipeline 2026-05-05 09:56:24 -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