Hard Light Productions Forums
Modding, Mission Design, and Coding => FS2 Open Coding - The Source Code Project (SCP) => Topic started by: diamondgeezer on March 20, 2003, 11:37:58 pm
-
OK, how's about displaying cockpit gagues and stuff when in third person mode? It's quite cool to whiz about when you can see your cool looking fighter, but it's a bugger to hit owt due to lack of aiming cues and stuff.
Place your bets!
-
I don't know, I never really liked that third-person Freelancer type mode for space sims. Still, this particular thing should be very easy to do I suppose...
-
I'd settle for crosshairs
-
Yeah, even just an aimpoint would be nice.
-
3rd person view is brilliant for dodging turret fire - you can see it coming, and so dodge it with no trouble at all.
-
Quite. But we could do with a crosshair though.
-
You're meaning like the view in Starlancer, right?
-
I would mind the view like in Freelancer (I assume Starlancer is the same)
-
The Freelancer view is intentionally arcade-ish, I think...
-
Outside view is sometimes a much refereshing change from the inside view. It'd be great to have I think.
-
ok, idea: what if you found the average centerpoint of all the primary gunbanks and added to that, oh say, 5x the ship's length, then rendered a crosshairs.pof at that location? You'd get 3d crosshairs (which are always good) and it'd be relatively simple.
Kinda to give you the idea, obviously the function names, object names, and stuff are gonna be way off since I don't know jack about the fs2 code, but ya, it explains what i wrote up there better.
void render_crosshairs(const ship_type &PlayerShip)
{
// find average center
int AverageX,AverageY,AverageZ:
int TotalX,TotalY,TotalZ:
TotalX=TotalY=TotalZ=0:
for(int C=0; C{
TotalX+=PlayerShip.Gun[C].X;
TotalY+=PlayerShip.Gun[C].Y;
TotalZ+=PlayerShip.Gun[C].Z;
}
AverageX=TotalX / PlayerShip.NumGunMounts;
AverageY=TotalY / PlayerShip.NumGunMounts;
AverageZ=TotalZ / PlayerShip.NumGunMounts;
// add 5 to the length axis so that the crosshairs are always rendered in front of the ship
AverageZ+= 5 * PlayerShip.Length;
RenderPof(crosshairs.pof,AverageX,AverageY,AverageZ):
}