OK, somewhere along the line my vector code got screwed up. I have two vectors, one being where the camera is situated and one being the area the camera is looking at. Here's my current code, which does NOT work.
Base.LX = Base.X + cos(Base.Heading * (pi / 180)) + 64;
Base.LY = Base.Y + sin(Base.LookUp * (pi / 180)) + 64;
Base.LZ = Base.Z + sin(Base.Heading * (pi / 180)) + 64;
The L* variables are the ones that the camera needs to look at. Say I'm at 0,0,0 looking north (0deg heading). The L* should be set to 0,0,64 but it isn't! Heading is anything from 0 to 359, and lookup ranges from -90 to +90. What's wrong here?