God, today was one of those days where I was just screaming at the code. Well, not screaming literally. But talking loadly with a stern reprehensive tone.
I went back and rewrote the part of the code in the Component Editor which records the data for the component center and hardpoint locations. Why? Because those locations were being stored as texture coordinates, not relative the the component. DUR DUR, no idea what the hell I was thinking. It took me half the day to figure out that's what the problem was (I was like "GAH! WHY THE FUCK AREN'T THESE PIECES LINING UP?!")
The second big problem was that the algorithm was fucked up anyway, like, I was subtracting the component's center position when I should have been subtracting its parent's position. That took a while to figure out. DUR DUR.
The third problem was that I had forgotten to click "SAVE" when I editted the component set one time to add in hardpoint locations. DUR DUR, that was a smart one ("WHY THE FUCK DON'T THESE THINGS LINE UP?!?!").
All in all, I'm an idiot. But hey, look, pretty pictures!!!
I think I'm going to go get drunk now. Still need to finish the GUI code for some parts, like removing pieces, and swapping out pieces. Because right now, weird shit happens. And, I think if you unload a set currently being used shit will break. So I should either have it not break or don't let them unload sets being used.