After a few months of not really doing much of anything, I decided to try modding new types of weapons into GH1 again.
As per the last time I tried this, I added the following lines to ghpmacro.txt:
TechGun <Gear 4 6 ?3>
Bow <Gear 4 7 ?3>
PowerPack <Gear 5 6 ?3>
Arrows <Gear 5 7 ?3>
As you can see, GS_TechGun =6 and GS_Bow = 7. I also added the names to the DefaultWeaponName array in ghweapon.pp. After that I went through the rest of ghweapon.pp setting things like initial value, weapon cost, and weapon range checks. Persumably this would be enough to establish that these are new weapon types, so I added some sample weapons (one TechGun and one Bow) to the ADV file and let it run.
It appears that for whatever reason, the game doesn't recognize the weapons as valid parts. While it reaches InitWeapon with the new weapons, it isn't reaching WeaponName, WeaponBaseDamage, WeaponBaseMass, WeaponCheckRange, or WeaponCheckValue. I've also confirmed that it isn't reaching BasicWeaponDesc from damage.pp either. So the weapons are coming up with as Missile Launchers with 0.5 kg and 0 DP.
Those functions are called from gearutil.pp, so I looked through there; I still couldn't find any clues about what I was doing something wrong, however. I can only assume that I missed a step somewhere, didn't decalre the new weapon types someplace vital, and therefore game doesn't realize that the new weapon types are supposed to be weapons.
Really, I'm lost here. If anyone can give me any sort of advice, that would be great.