Advanced Half-Life Crosshair Tutorial.
By: BBR.
 

Note the first word on this page,,, "Advanced"
That means this text is NOT for newbies!
If you don't want to go through a bit of trouble to improve your gameplay,
then just don't read it ok?

Before you start, Download these tools:
Sprite Generator (44K)
PakExplorer 1.2 (75K)
Sprview (35K)
 
Simple, Advanced, Difficult, Pro,
Just like the simple tutor, you'll need a good palette.
You can extract one from the images to the right >
Or simply make one yourself, just be sure to keep
the bottom right color the same as displayed in the
palettes here >
(Since that color & locatoin represent transparency)

Now for the advanced stuff.
You should remember this,
Ugly, Big, hard to see,
Crappy selection of default
Crosshairs, made by some
punk at Valve.

As you probably noted, those big black areas on the palette are totally unused.

In the halflife\valve\pak0.pak  (use pakexplorer)
there are a bunch of textfiles in the "sprites" directory, these textfiles tell HL how big each
crosshair is, in which spritefile to find it, and the location (dimensions) of the crosshair to be used.
 
Here's an example of: weapon_crossbow.txt
14 // < Number
     //of sprites
//Resolution
//Used at
//Spritefile
//name
//Start:
//Width
//Start,
//Height
//Dimension
//Width
//Dimension
//Height
weapon 320 320hud1 80 0 80 20
weapon_s 320 320hud1 80 20 80 20
ammo 320 320hud2 72 16 18 18
crosshair 320 crosshairs 72 0 24 24
autoaim 320 crosshairs 0 96 24 24
zoom 320 crosshairs 24 96 104 16
zoom_autoaim 320 crosshairs 24 112 104 16
weapon 640 640hud2 0 0 170 45
weapon_s 640 640hud5 0 0 170 45
ammo 640 640hud7 96 72 24 24
crosshair 640 crosshairs 72 0 24 24
autoaim 640 crosshairs 0 96 24 24
zoom 640 crosshairs 24 96 104 16
zoom_autoaim 640 crosshairs 24 112 104 16
Lines with // are skipped during compile process.
Text in red are comments.

Number of sprites: This is the number of sprites this texfile calls upon.
Resolution used at: This shows whether this is a sprite for 320, or 640 based resolution.
Spritefile name: This is the full name of the SPR file. (without the .spr extension.)
Start: This is the Width and Height specific location of there
  the first pixel of the sprite is located.
Dimension: This is the full size of the sprite / crosshair.

There are in total 16 of these textfiles. (Including the HUD)
If by chance you fuck up the origonals(or for easy editing), <download (5K)> them here.
Also be adviced that, in order for these things to work, you cannot change the name of those textfiles.
 
With this knowledge you should be able to
redesign the crosshairs.spr
Make it use less diskspace (as if 3K matters.)
or give more detail to your crosshairs. (Finally!)
Or even give each crosshair its own Sprite-File.

Here is my first attempt at reduction.
And you can use <These (3K)> textfiles with it.
Note that only 9 weapons use a crosshair.


A difference of 3K
with the origonal
Valve Crosshairs.

Ofcourse this is not nearly perfect, right?
I know you can do much better.
But, just to get you started, lets remake the crosshairs.spr again, this time a bit more severe.
Since the crosshair at position: "0,0 size 24x24" is not used by any weapon, this one can be deleted,
thus leaving a black space. This way we can make the image even smaller, and while we are at it,
it would be sort of usefull to sort this thing out a bit.
 
From left to right: 
Pistol, A-Pistol, Magnum, A-Magnum, Zoomed Magnum.
Mk-5, A-Mk-5, Shotgun, A-Shotgun, Rpg.
Sniper, A-Sniper, Gauss, Gluon, Hornet.
Sniper-Zoomed.
A-Sniper-Zoomed.
This is as small as i could get it, without changing the crosshair sizes.
And it is sorta easyer to see which autoaim belongs to each crosshair.
Here is the <Bunch of textfiles (4K)> that must go with it.

Now onto the main thing: Single file crosshairs.

I'm sure you wondered why the hell those crosshairs were all located in the same file, right?
I shall now show you how to get rid of that, very easily. (These textfiles RULE)
 
Unlike the all in 1, crosshair file, you can make
each crosshair have its own sprite file.
This enables easyer editing / replacing crosshairs.
And it saves you the trouble of having to make
a complete crosshair pack, each time you get
tired of your old ones.
Each crosshair will thus need to be given its own
QC-file, and BMP-file. then it needs to be
compiled to a SPR-file, and in the TXT-file
you will finally have to tell halflife what you did.
Sounds difficult?
Well, its not. It just takes up a bit of your time for preparation.
But once you complete it, you can easily change each crosshair shape,
size, and EVEN the palette of "Each" available crosshair.
Its worth a considderation.

I figure you can think up how long it took me to get it working....
And to save you the trouble, here you go:
<Pro-Crosshair-pack (65K)> (sprgen.exe, standard HL-crosshairs and TKi-pack5 Included)
 

That just about rounds up the advanced tutorial,
  if i find out anything more i'll let y'all know.