Filename Structures

From wowdev
Revision as of 17:26, 23 February 2018 by Marlamin (talk | contribs) (Add shaders)
Jump to navigation Jump to search
This section only applies to versions ≥ WoD.

This page lists filename structures that are used inside WoW's content system to better supply authors of listfile generators with structures to search/bruteforce on. As such, this article is only for versions of WoW that use CASC (6.0+).

Maps

Map files can be guessed based upon the Directory name found in Map.db2.

world/maps/[mapname]/[mapname].tex
world/maps/[mapname]/[mapname].wdl
world/maps/[mapname]/[mapname].wdt
world/maps/[mapname]/[mapname]_occ.wdt
world/maps/[mapname]/[mapname]_lgt.wdt
world/maps/[mapname]/[mapname]_fogs.wdt

You can choose to parse the WDT for a list of available tiles, but it is usually faster to just bruteforce them.

ADTs

Keep in mind that unlike the minimaps and LOD textures, ADTs are not padded with zero.

world/maps/[mapname]/[mapname]_[0-63]_[0-63].adt
world/maps/[mapname]/[mapname]_[0-63]_[0-63]_tex0.adt
world/maps/[mapname]/[mapname]_[0-63]_[0-63]_obj0.adt
world/maps/[mapname]/[mapname]_[0-63]_[0-63]_obj1.adt
This section only applies to versions ≤ Legion (7.0.3.21287).
world/maps/[mapname]/[mapname]_[0-63]_[0-63]_tex1.adt 
This section only applies to versions ≥ Legion (7.0.1.20740).
world/maps/[mapname]/[mapname]_[0-63]_[0-63]_lod.adt

Minimaps

world/minimaps/[mapname]/map[00-63]_[00-63].blp

LOD textures

world/maptextures/[mapname]/[mapname]_[00-63]_[00-63].blp
world/maptextures/[mapname]/[mapname]_[00-63]_[00-63]_n.blp

WMOs

You can find most WMOs through parsing the ADT obj files as they (at the time of writing) contain their filenames.

Group IDs start at 0 and are padded to 3 characters with 0's. You can find the number of groups inside the parent WMO or by bruteforcing [000-512].

world/wmo/[dir]/[name].wmo
world/wmo/[dir]/[name]_[groupid].wmo

LOD

LOD textures are sometimes referenced from the WMO itself and can be used to guess a WMO filename not referenced in any ADT.

world/wmo/[dir]/[name]_[groupid]_lod1.wmo
world/wmo/[dir]/[name]_[groupid]_lod1.blp
world/wmo/[dir]/[name]_[groupid]_lod2.wmo
world/wmo/[dir]/[name]_[groupid]_lod2.blp
This section only applies to versions ≥ Legion (7.0.1.21071).
world/wmo/[dir]/[name]_[groupid]_lod1_l.blp
world/wmo/[dir]/[name]_[groupid]_lod2_l.blp
world/wmo/[dir]/[name]_[groupid]_lod1_e.blp
world/wmo/[dir]/[name]_[groupid]_lod2_e.blp

Minimaps

Minimaps are usually not larger than 1-2 tiles per WMO group and have currently never exceeded 22x14.

world/minimaps/wmo/[dir]/[name]_[groupid]_[00-63]_[00-63].blp

Tilesets

WMO tilesets can usually be scraped from the WMO file itself, however not necessarily all variations of the texture are stored.

tileset/[expansion]/[dir]/[name].blp
tileset/[expansion]/[dir]/[name]_[suffix].blp

[expansion]s are the word 'expansion' followed by the expansion number i.e. expansion07 is used for BfA content.

[suffix]es come in the following forms: _1024.BLP, _1024_H.BLP, _1024_S.BLP, _512.BLP, _512_H.BLP, _512_S.BLP, _256.BLP, _256_H.BLP, _256_S.BLP, _H.BLP, _S.BLP

NPC textures

textures/bakednpctextures/creaturedisplayextra-[id].blp
textures/bakednpctextures/creaturedisplayextra-[id]_hd.blp
textures/bakednpctextures/creaturedisplayextra-[id]_e.blp
textures/bakednpctextures/creaturedisplayextra-[id]_s.blp

M2s

pathandfilename.m2
pathandfilename[00-??].skin
pathandfilename_LOD[01-03].skin
pathandfilename_[00-??].bone
pathandfilename_[0000-1600]-[00-99].anim
pathandfilename[0000-1600]-[00-99].anim ≥ Battle (8.0.1.26032)
pathandfilename.skel
pathandfilename.phys
pathandfilename.blp

Sounds

This is a generic structure that applies to a lot of sound files added in 7.x and higher. However, there are often exceptions to these structures where Blizzard randomly likes added/removing underscores or stuff like that.

Creature sounds

NAME should be the creature's name. If a creature has sounds per gender an _m or _f is added after the name. PREFIX can change based on the content the sound is for. Recently used prefixes include vo_801 and mon.

%% is where a number would go. If the number is lower than 10 it is padded by a 0. Sometimes the underscore between the type of sound and number is missing.

This list covers most sounds but is probably still missing a few. Feel free to add stuff!

sound/creature/[NAME]/[PREFIX]_[NAME]_aggro_%%.ogg
sound/creature/[NAME]/[PREFIX]_[NAME]_attack_%%.ogg
sound/creature/[NAME]/[PREFIX]_[NAME]_attack_ranged_%%.ogg
sound/creature/[NAME]/[PREFIX]_[NAME]_attackcrit_%%.ogg
sound/creature/[NAME]/[PREFIX]_[NAME]_attackcrit_ranged_%%.ogg
sound/creature/[NAME]/[PREFIX]_[NAME]_battle_cry_%%.ogg
sound/creature/[NAME]/[PREFIX]_[NAME]_battle_shout_%%.ogg
sound/creature/[NAME]/[PREFIX]_[NAME]_battlecry_%%.ogg
sound/creature/[NAME]/[PREFIX]_[NAME]_battleroar_%%.ogg
sound/creature/[NAME]/[PREFIX]_[NAME]_battleshout_%%.ogg
sound/creature/[NAME]/[PREFIX]_[NAME]_chuff_%%.ogg
sound/creature/[NAME]/[PREFIX]_[NAME]_clickable_%%.ogg
sound/creature/[NAME]/[PREFIX]_[NAME]_death_%%.ogg
sound/creature/[NAME]/[PREFIX]_[NAME]_emerge_%%.ogg
sound/creature/[NAME]/[PREFIX]_[NAME]_idle_loop_%%.ogg
sound/creature/[NAME]/[PREFIX]_[NAME]_laugh_%%.ogg
sound/creature/[NAME]/[PREFIX]_[NAME]_preaggro_%%.ogg
sound/creature/[NAME]/[PREFIX]_[NAME]_preagro_%%.ogg
sound/creature/[NAME]/[PREFIX]_[NAME]_stand_%%.ogg
sound/creature/[NAME]/[PREFIX]_[NAME]_wound_%%.ogg
sound/creature/[NAME]/[PREFIX]_[NAME]_wound_crit_%%.ogg
sound/creature/[NAME]/[PREFIX]_[NAME]_woundcrit_%%.ogg

Voice lines

Voice lines work similarly to creature sounds with the rules being mostly the same. Only difference is that the gender part of the filename is now after the number like so:

sound/creature/[NAME]/[PREFIX]_[NAME]_%%_f.ogg
sound/creature/[NAME]/[PREFIX]_[NAME]_%%_m.ogg

Music

Music is generally structured the same per expansion, but names will have to be guessed as these are generally not available through direct references from the game.

[FOLDER]s are usually named after the expansion or specific feature they are for. Examples: battleforazeroth, legion, draenor, pandaria, cataclysm, petbattles.

[PREFIX]es are similar to folders, but are more specific per major patch as well. Examples: mus_80, mus_73, mus_72, mus_715, mus_71, mus_70, mus_62, mus_60

[SUFFIX]es are generally part indicators with different versions/parts of the piece of music. There is usually an underscore between the name and the suffix, but sometimes not. Examples: a, b, c, d, e, h, a1, h1.

sound/music/[FOLDER]/[PREFIX]_[NAME]_[SUFFIX].mp3

Shaders

shaders/compute/cs_5_0/[SHADERNAME].bls
shaders/compute/cs_5_h/[SHADERNAME].bls
shaders/compute/mtlcs_1_1/[SHADERNAME].bls
shaders/domain/ds_5_0/[SHADERNAME].bls
shaders/domain/ds_5_h/[SHADERNAME].bls
shaders/geometry/glgs_150/[SHADERNAME].bls
shaders/geometry/glgs_410/[SHADERNAME].bls
shaders/geometry/glgs_420/[SHADERNAME].bls
shaders/geometry/gs_4_0/[SHADERNAME].bls
shaders/geometry/gs_5_0/[SHADERNAME].bls
shaders/geometry/gs_5_h/[SHADERNAME].bls
shaders/hull/hs_5_0/[SHADERNAME].bls
shaders/hull/hs_5_h/[SHADERNAME].bls
shaders/pixel/arbfp1/[SHADERNAME].bls
shaders/pixel/arbvp1/[SHADERNAME].bls
shaders/pixel/fp40/[SHADERNAME].bls
shaders/pixel/glfs_150/[SHADERNAME].bls
shaders/pixel/glfs_410/[SHADERNAME].bls
shaders/pixel/glfs_420/[SHADERNAME].bls
shaders/pixel/mtlfs_1_1/[SHADERNAME].bls
shaders/pixel/ps_2_0/[SHADERNAME].bls
shaders/pixel/ps_3_0/[SHADERNAME].bls
shaders/pixel/ps_4_0/[SHADERNAME].bls
shaders/pixel/ps_5_0/[SHADERNAME].bls
shaders/pixel/ps_5_h/[SHADERNAME].bls
shaders/vertex/arbvp1/[SHADERNAME].bls
shaders/vertex/arbvp1_cg12/[SHADERNAME].bls
shaders/vertex/glvs_150/[SHADERNAME].bls
shaders/vertex/glvs_410/[SHADERNAME].bls
shaders/vertex/glvs_420/[SHADERNAME].bls
shaders/vertex/mtlvs_1_1/[SHADERNAME].bls
shaders/vertex/vp40/[SHADERNAME].bls
shaders/vertex/vs_2_0/[SHADERNAME].bls
shaders/vertex/vs_3_0/[SHADERNAME].bls
shaders/vertex/vs_4_0/[SHADERNAME].bls
shaders/vertex/vs_5_0/[SHADERNAME].bls
shaders/vertex/vs_5_h/[SHADERNAME].bls

Common Word Lists

  • [Colours] commonly used for creature and item textures. Note: Blizzard tends to combine multiples of these, without spaces, to produce new words.