Ok I was mistaken previously, FTL does indeed arrange its sprites horizontally (been a while since I looked at FTL anims

). However, typically the weapons need to be oriented upwards. You can do this with the rotate tool in gimp. Here's how FTL weapons sheets typically look like:

They can be of any length but from my experience really complex, long sheets with 30+ frames can cause problems. But the space gun should still be ok. Some more points:
Each frame of the anim has to be the same size.For the space gun the frames where no mags are involved should be larger with blank space around them. FTL cant deal with multiples sheets for one weapons or weapons sheets where frames are different sizes for certain parts of the animation. Essentially the main body of the weapon needs to be in the same place for each frame.
When a weapon fires multiple shots it goes cycles throught he frames after the charged frame multiple times, once for each shot. That matter if you want to do complex stuff like reload animations. Essentially the reloading must be part of the fire cycle, or the mag can't be ejected during the fire cycle. If the reload animation is part of the charge anim and the mag is ejected during the fire cycle it will just re-appear for the next shot. You'll probably want to learn how to put the anims into the game if you want to make sure that they can actually work as intended.
Your animation phases are correct.As you have probably observed from the weapons in game, they can have charge up, charged and firing frames. You got that down nicely. FTL knows what parts of the animation is which by telling it the frames that are the charged frame. The charged state of the weapon can only be one frame. FTL also needs to get told a fire frame to know at which point of the anim it should spawn the weapons projectile. For reference, this is how FTL gets told these data:
Code: Select all
<weaponAnim name="ba_laser_burst_scatter_2">
<sheet>ba_laser_burst_scatter_2</sheet>
<desc length="12" x="0" y="0"/>
<chargedFrame>5</chargedFrame>
<fireFrame>8</fireFrame>
<firePoint x="15" y="8"/>
<mountPoint x="4" y="36"/>
</weaponAnim>
<weaponAnim name="ba_beam_bo">
<sheet>ba_beam_bo</sheet>
<desc length="8" x="0" y="0"/>
<chargedFrame>1</chargedFrame>
<fireFrame>2</fireFrame>
<firePoint x="17" y="16"/>
<mountPoint x="5" y="67"/>
<chargeImage>weapons/ba_beam_bo_glow.png</chargeImage>
</weaponAnim>
These are the weaponAnim data bits for the two weapon sheets posted above. Note that the second one, the beam weapon, uses a glow image to visualize the weapon charging, instead of an animation. The glow image is faded in as the weapon charges and becomes transparrent again when the weapon is fired. You won't need that for the stuff you are currently doing, just thought it might be worth mentioning that this exists as well.
Looking at the vanilla stuff can clear things up more.You can use Slipstream Mod Manger to extract FTLs files. This will give you access to the anim sheets, like the one above, and to the data files that tell FTL how to handle the individual graphics.
Ok enough waffling, have fun making those weaps!
