Half-Life
Custom Maps

Art Museum

Temple

Revenant

Meatpit

Storm Vale

GE Basement

GE Temple

Hypersanctum


Battleschool
by Hayt & Jinx

Noir
by DQ

Sealed

by 3DMike
____________

Half-Life 2
Custom Maps

Upscale
1% done

Ramparts

20% done

 

Special Sprites

I learned recently from a fellow mapper that there are actually different kinds of sprites one can use in Half-Life. By different, I mean that they act differently in-game in how they present their "faces" to players. As you know, "normal" sprites always face the player, no matter the direction from which they are looking at it. This can cause problems when you use sprites to create fire, for example, as the sprite looks weird when viewed from above or below:

When I learned that sprites can be altered so that they act differently, I was interested because I wanted a fire sprite that didn't mess up like this! Luckily, there is a way to do this.

First of all, there are four kinds of sprites:

Ordinary Sprite (02): Always faces the player, even when seen from above. Most HL sprites are this way.

Side-View Sprite (00): This kind of sprite always faces the player, but will not rotate on the z-axis. It allows you to avoid the visual bug above.

Fixed-Direction Sprite (03): This kind of sprite always faces a certain direction, regardless of player location. The direction it faces can be set in "angles" the env_sprite's Properties box.

Flipper Sprite (01): This kind of sprite acts like a side-view sprite, except when a player approaches closely it rotates to face a certain direction (set in the angles I think). Not sure what this would be good for to be honest...

Ok, so how do you change an ordinary sprite to behave in one of these new ways? Basically you open up the .spr file in a hex editor and alter just one value. The value we are interested in is byte 9, boxed in red here:

The values associated with each kind of sprite are in parentheses in their descriptions above. As you can see, this default HL fire sprite is set to "02" because it is a normal sprite. By changing that value, you can change the sprite's behavior. "00" is a good setting for fire, so that it doesn't look so weird viewed from above.

So what use is this? For me I was mostly interested in getting a better fire sprite. However, side-view and fixed-direction sprites might be helpful if you want to use sprites for more than lense-flares! Some objects like bushes might be done more effectively as sprites this way. This lets you do rising smoke/steam better too. Also, you might use an animated sprite rather than an animated texture in some situations; you can, for example, control the animation speed of a sprite whereas you cannot with "+" textures. Basically, be creative!

I put together a zip with special versions of several HL sprites- including the fire sprites! Each comes in both a "side-view" and "fixed-direction" flavor. Each sprite has a prefix in its name with a number that tells what the Hex value is. So "jx0fire.spr" is the HL "fire.spr" set to "side-view" mode. I included one "01" Flipper sprite for people to look at.

Files and Links:

Jinx's Sprite Pack
Hex Editor
Sprite Viewer
Sprite Wizard
Kman's Sprite Tutorial
Wavelength Sprite Tutorial
Vlatitude's Sprite List

Special thanks to Banana for teaching me about this, and D-Fender for helping me with the Hex Editor!

 

 


Resources
for mappers

Tutorials

Textures,
Sounds,
& Sprites

Resource
Links

Misc Files

Map Ideas


MIA AHL Maps

Proto-Maps

Contact Info