Texture guidelines
In Command & Conquer: Generals and Zero Hour, there are several texture variations adapted to different seasons, weather conditions, times of day, and more. Each variation is updated accordingly, and the suffixes in the DDS filenames indicate the type and condition of the texture.
Texture Naming Structure
Section titled “Texture Naming Structure”Summer Textures
Section titled “Summer Textures”<none>: Pristine texture._d: Damaged texture._e: Really Damaged texture._r: Rubble texture._g: Garrison texture._dg: Damaged Garrison texture.
Winter Textures
Section titled “Winter Textures”_s: Pristine Snow texture._ds: Damaged Snow texture._es: Really Damaged Snow texture._rs: Rubble Snow texture._sg: Snow Garrison texture._dsg: Damaged Snow Garrison texture.
Summer Night Textures
Section titled “Summer Night Textures”_n: Night texture._dn: Damaged Night texture._en: Invalid texture, to be removed with Mod Builder._rn: Invalid texture, to be removed with Mod Builder._ng: Night Garrison texture._dng: Damaged Night Garrison texture.
Winter Night Textures
Section titled “Winter Night Textures”_sn: Snow Night texture._dsn: Damaged Snow Night texture._esn: Invalid texture, to be removed with Mod Builder._rsn: Invalid texture, to be removed with Mod Builder._sng: Snow Night Garrison texture._dsng: Damaged Snow Night Garrison texture.
Vehicle Texture Variations
Section titled “Vehicle Texture Variations”<none>: Pristine vehicle texture._d: Damaged vehicle texture._d1: Wrecked vehicle texture.
PSD Layer Naming Conventions
Section titled “PSD Layer Naming Conventions”- If the Background layer is flattened, it represents the original retail texture (DDS) in best discovered quality.
- If the bottom layer is not the original retail texture (DDS), it must be named to reflect the source texture name in
sufficient detail. That can be a DDS or TGA or a processed (AI upscale) texture, for example
cbcnvstr01_s.dds realesr-general-wdn-x4v3. Or a “merged” aka composited PSD image of the same (and never another!) texture set, for examplecbcnvstr01 merged. - If PSD textures are modified, edits must move to lower-order textures that use higher-order merged textures (pristine -> damages, summer -> winter, …).
- Layer and group names are lowercase and use common keywords such as “damage”, “light”, “barricades”, “snow”, or any other name that gives it meaning.
- Layer and group names must end in a texture variant suffix (
_d,_g,_e, …), which helps identify the origin texture variant. - Layers and groups can be copied to other texture variants and are expected to be identical if they share the same name within the same texture set.
- Groups meant to be used to assemble an alpha channel are named
_alphaand must be hidden before saving the image file.
Working with Textures
Section titled “Working with Textures”-
Editing software: Use software like Photoshop, GIMP, or Paint.NET for editing DDS textures.
-
PSD: When working with PSD files, maintain an organized layer structure and use clear names for each texture variant (e.g.,
_d,_g). Layers with an alpha channel must be named_alphaand hidden before saving the file. -
Saving and conversion: Don’t manually export DDS files. Texture conversion should be automated by the build pipeline via Mod Builder to ensure optimal quality and file size.
Typical Errors in Textures
Section titled “Typical Errors in Textures”Many textures have small and sometimes large visual discrepancies between damage, weather, or garrison states. Fixing this requires reassembling textures from other parts of the texture set.
Texture Resolution Mismatches
Section titled “Texture Resolution Mismatches”Zero Hour textures are often aggressively downscaled, unlike Generals, which utilizes around 500 higher-resolution assets. Winter texture sets in Zero Hour tend to be significantly smaller than their summer counterparts, leading to noticeable quality loss on winter maps. Improving these undersized winter textures is one of the most difficult tasks in texture refinement.
Damage Transition Mistakes
Section titled “Damage Transition Mistakes”Damage transitions are frequently inconsistent across weather variants. The progression from pristine to rubble is
rarely seamless—details may vanish or shift between states. For instance, a damaged feature in the _d texture might
disappear entirely in the (_e) version. Some fixes are simple overlays, but others demand detailed repair work.
Window Barricade Discrepancies
Section titled “Window Barricade Discrepancies”Window barricades—used to represent infantry occupation—often vary wildly in alignment and appearance across damage states. They may shift slightly, vanish completely, or be visually incoherent from one texture to the next.
Window Reflections Problems
Section titled “Window Reflections Problems”Window reflections often misalign between damage and garrison states. These mismatches affect nearby damage effects and
barricades. Reflection intensity also varies too much and can bleed incorrectly over snow. Reflections typically reside
in the alpha channel of pristine and damaged _d textures, but are sometimes mistakenly included in (_e) textures.
Shapes frequently don’t match the actual window geometry, and reflections can overlay unwanted visual elements.
Night Light Inconsistencies
Section titled “Night Light Inconsistencies”Night lights, mainly found on windows, show visual discrepancies across damage and garrison states. They commonly clash with barricade placements and can spill unrealistically over snowy surfaces.
Rubble Textures Anomalies
Section titled “Rubble Textures Anomalies”Rubble and heavily damaged _e/_r textures sometimes include damage holes defined by black alpha channel regions.
While intentional in some cases, this can result in parts like walls or roofs appearing suspended with no connection to
adjacent structures—especially evident when viewed up close.
Alpha Channel Errors
Section titled “Alpha Channel Errors”Some textures contain outdated or irrelevant alpha channels that can be safely removed. Others are missing alpha data entirely, though in many cases, this can be reconstructed using neighboring textures in the same set.