Hey, I'm actually updating it. How about that.

The biggest change this time is the __GH_ALWAYS_USE_NAME setting. If it's enabled, AutoGhost() will always read an enemy's name to get the script and combo number. Misc. attributes 11 and 12 will be free for other scripts to use.
The script and combo number both go after @ in the name. Order and spacing aren't important, and other characters are allowed afterward. Either of these will work:
Goriya (LttP, Green) [@Goriya_LttP, @25804]
Goriya (LttP, Green) @25804@Goriya_LttP
You have to provide the script name, but if you don't specify a combo, it'll default to GH_INVISIBLE_COMBO. This will work fine:
Armos @Armos_LttP

The downside to this is that enemy scripts can no longer assume misc. attribute 11 specifies the base combo. I don't think that was a common thing to do, anyway.

Other notable changes:
The files in the ghost_zh directory have been moved to a numbered subdirectory. This will allow multiple versions to coexist.
Ghost_TileWidth and Ghost_TileHeight should now be considered read-only. Ghost_SetSize() should be used to set them.
You can now control what constitutes a pit by editing the __IsPit() function in the main file.
There's also a __HaveAmulet() function, used to determine if enemies are visible when the "All Enemies Are Invisible" screen flag is used.
Weapons can now have fake Z movement, both individually and globally.
Added a new death animation, as well as constants to use as arguments to Ghost_DeathAnimation() and Ghost_Waitframe().

There haven't been any changes to global data, so this version should be compatible with existing saves using 2.7.x. Still, be careful.