Wohoo. I finally found out what caused the ugly team color bug when the alpha background wasn't 1,1,1. Stupid PS. Reducing everything to the background layer and saving the actual alpha channel instead of applying a mask to layer finally works with a 0 alpha value. May sound insignificant but you can actually see the tinting which a value of 1,1,1 causes, it's very slight but noticable.
Okay, script's done. I fixed the smoothing stuff for the barrel, sleeve and turret, I thought these were supposed to be round, and renamed some pieces for easier script adaption and adjusted the firepoint origin.
I also copypasta'd two missing track pieces because you made the tracks too short on the texture, fixed texture is included. :)
I suggest you scale it down to 512 because I can't seem to get the same result, it's always blurry no matter what scaler I use.
Anyway, link.