AASTINKY

From DoomWiki.org

AASTINKY is the first texture in the Doom texture directory (TEXTURE1). In Doom II, the name AASHITTY is used instead. AASTINKY is not a real texture, but is a dummy texture to work around a quirk in the Doom engine's internals. Using this texture has the same effect as using the '-' "empty" texture.

Internally, Doom refers to textures by their index in the texture directory. A value of zero is used to represent the empty '-' texture. However, in C, which Doom is written in, array indices start from zero. The result is that the first texture in the WAD directory is equivalent to the empty texture.

The AASTINKY texture was likely introduced as a workaround to the indexing problem, deliberately occupying the first texture slot so that real textures will be unaffected by the problem. The AA prefix forces the texture to be the first in the directory, as the textures in Doom's WAD directory are sorted by alphabetical order. It is not necessary for textures in the WAD directory to be in alphabetical order, so it is likely that the tool used by id Software to generate the directory automatically sorted the textures.

Other names[edit]

This dummy texture has a variety of names in other Doom-engine games:

Game Texture name
Doom II, Final Doom AASHITTY
Heretic BADPATCH
Hexen ABADONE
Strife AASTINKY

Similar textures[edit]

Hexen features two additional dummy textures: one is explicitly named "BLANK" (and is not actually blank, but features a 64x1 patch at the bottom of a 64x128 texture) and is frequently used by ACS, while the other is named "POOT" and is the only texture defined in its TEXTURE2 lump. Since POOT is defined in TEXTURE2, it is actually a working texture, but it is not used (FOREST05 fills its real role instead).

Console ports[edit]

Console ports of Doom derived from the Atari Jaguar code base function in a different manner: texture index 0 is a valid texture, and there is no special way to indicate that a texture is blank. Except for the Sony PlayStation and builds derived from it, middle textures on two-sided linedefs are simply not supported, and even if assigned a texture, that texture will not render in-game. If a texture is not explicitly assigned to any other surface, the texture at index 0 will be used. Several maps in the Jaguar set, where the default texture is ASH01, rely on this behavior implicitly.

See also[edit]