Bitm

From HaloDemoMods
Jump to: navigation, search

Definition

bitm = Bitmap

Bitmaps are images used in the game.

The bitmap tags reference locations in the bitmaps.map file. Just like sounds, bitmaps can be internalized so that they reference locations within the playable map file itself, so that those without the bitmaps.map file can see the images within the game without having the bitmaps file.

Structure and Data

This information is quoted from Sparky's Tag Structures Index.

-Show Bitmaps-

<h2>type</h2>
	<notes>
	Type controls bitmap 'geometry'. All dimensions must be a power of two except for SPRITES and INTERFACE BITMAPS.
	
	*2D TEXTURES: Ordinary, 2D textures will be generated.
	*3D TEXTURES: Volume textures will be generated from each sequence of 2D texture 'slices'.
	*CUBE MAPS: Cube maps will be generated from each consecutive set of six 2D textures in each sequence. All faces of a cube map must be square and the same size.
	*SPRITES: Sprite texture pages will be generated.
	*INTERFACE BITMAPS: Similar to 2D TEXTURES, but without mipmaps and wihtout the power of two restriction.
	</notes>
	
type

<h2>format</h2>
	<notes>
	Format controls how pixels will be stored internally:
	
	*COMPRESSED WITH COLOR-KEY TRANSPARENCY: DXT1 compression, uses 4 bits per pixel. 4x4 blocks of pixels are reduced to 2 colors and interpolated. Alpha channedl uses color-key transparency instead of alpha from the plate (all zero-alpha pixels also have zero-color).
	*COMPRESSED WITH EXPLICIT ALPHA: DXT2/3 compression, uses 8 bits per pixel. Same as DXT1 without the color key transparency. Alpha channel uses alpha from plate quantized down to 4 bits per pixel.
	*COMPRESSED WITH INTERPOLATED ALPHA: DXT4/5 compression, uses 8 bits per pixel. Same as DXT2/3, except alpha is smoother. Better for smooth alpha gradients, worse for noisy alpha.
	*16-BIT COLOR: Uses 16 bits per pixel. Depending on the alpha channel, bitmaps are quantized to either r5g6b5 (no alpha), a1r5g5b5 (1-bit alpha), or a4r4g4b4 (>1 bit alpha).
	*32-BIT COLOR: Uses 32 bits per pixel. Very high quality, can have alpha at no added cost. This format takes up the most memory, however. Bitmap formats are x8r8g8b8 and a8r8g8b.
	*MONOCHROME: Uses either 8 or 16 bits per pixel. Bitmap formats are a8 (alpha), y8 (intensity), ay8 (combined alpha-intensity) and a8y8 (separate alpha-intensity).
	
	Note: Height maps (a.k.a. bump maps) should use 32-bit color; this is internally converted to a palettized format which takes less memory.
	</notes>
	
format

<h2>usage</h2>
	<notes>
	Usage controls how mipmaps are generated:
	
	*ALPHA BLEND: Pixels with zero alpha are ignored in mipmaps to prevent bleeding the transparent color.
	*DEFAULT: Downsampling works normally, as in Photoshop.
	*HEIGHT MAP: The bitmap (normally grayscale) is a height map which gets converted to a bump map. Uses <bump height> below. Alpha is passed through unmodified.
	*DETAIL MAP: Mipmap color fades to gray, controlled by <detail fade factor> bleow. Alpha fades to white.
	*LIGHT MAP: Generates no mipmaps. Do not use!
	*VECTOR MAP: Used mostly for special effects; pixels are treated as XYZ vectors and normalized after downsampling. Alpha is passed through unmodified.
	</notes>
	
usage
flags
	enable diffusion dithering
	disable height map compression
	uniform sprite sequences
	filthy sprite bug fix

<h2>post-processing</h2>
	<notes>
	These properties control how mipmaps are post-processed.
	</notes>

detail fade factor
sharpen amount
bump height

<h2>sprite processing</h2>
	<notes>
	When creating a sprite group, specify the number and size of textures that the group is allowed to occupy. During importing, you'll receive feedback about how well the alloted space was used.
	</notes>

sprite budget size
sprite budget count

<h2>color plate</h2>
	<notes>
	The original TIFF file used to import the bitmap group.
	</notes>

color plate width
color plate height
compressed color plate data

<h2>processed pixel data</h2>
	<notes>
	Pixel data after being processed by the tool.
	</notes>

processed pixel data

<h2>miscellaneous</h2>

blur filter size
alpha bias
mipmap count

<h2>...more sprite processing</h2>
	<notes>
	Sprite usage controls the background color of sprite plates.
	</notes>

sprite usage
sprite spacing

<h1>Sequences</h1>

	name
	first bitmap index
	bitmap count
	
	<h1>Sprites</h1>
	
		bitmap index
		left
		right
		top
		bottom
		registration point

<h1>bitmaps</h1>

	signature
	width
	height
	depth
	type
	format
	flags
		power of two dimensions
		compressed
		palettized
		swizzled
		linear
		v16u16
	
	registration point
	mipmap count
	pixels offset
	<unknown>
	<unknown>
	base_address

Personal tools
Namespaces

Variants
Actions
Navigation
BlamDevComNet
MGM
Community
Halo Demo & Trial
Halo Full
References
Lists
Admin Pages
Toolbox